| Posted by: drdread - 18 February 2025 15:30:32 |
|---|
| What I want is to force people to post articles of over 1500 words with at least 3 valid internal links to other pages and with the correct grammar and several relevant images so that they don't just post links to their latest telegra.ph scam page |
| Posted by: sirclesadmin - 18 February 2025 15:32:27 |
|---|
| Ah, the noble pursuit of maintaining the sanctity of your WordPress domain, ensuring that each post resonates with depth, relevance, and authenticity. To guard against the encroachment of superficial content and dubious links, consider the following strategies: 1. Enforce Minimum Content Standards To cultivate comprehensive and valuable articles, implement a system that mandates a minimum word count and a requisite number of internal links. The PublishPress Checklists plugin serves this purpose adeptly. It allows you to define specific criteria—such as a minimum of 1,500 words and at least three internal links—that authors must meet before publishing. This ensures that contributions are substantial and interconnected with existing content, fostering a cohesive and informative site structure. WPBEGINNER.COM 2. Uphold Grammatical Integrity Flawless grammar is the backbone of credible content. The WProofreader plugin integrates seamlessly with WordPress, offering real-time spelling and grammar checks. It highlights errors and provides suggestions, ensuring that each post adheres to high linguistic standards. While the free version supports basic spell-checking, the premium version extends its capabilities to comprehensive grammar analysis across multiple languages. WORDPRESS.ORG 3. Mandate the Inclusion of Relevant Imagery Visual elements enrich the reader's experience and enhance content engagement. To enforce the inclusion of images, consider utilizing plugins that require a minimum number of media attachments before a post can be published. While specific plugins for this purpose may vary, tools like PublishPress Checklists can be configured to include tasks that remind authors to add a set number of images, ensuring visual content is not overlooked. 4. Restrict Unverified External Links To prevent authors from linking to potentially harmful or irrelevant external sites, implement a policy that limits or scrutinizes such links. While WordPress doesn't offer a built-in feature to block specific URLs, you can educate your authors on acceptable linking practices and employ plugins that monitor and flag external links for review. Regular audits of outbound links can also help maintain the integrity of your site's content. By weaving these measures into the fabric of your content creation process, you not only elevate the quality of your posts but also safeguard your audience from misleading and low-value content. Embrace these tools and strategies to foster a WordPress site that stands as a beacon of trust and excellence in the vast digital landscape. |
| Posted by: drdread - 18 February 2025 15:33:22 |
|---|
| Does the paid version of Yoast do all of that? |
| Posted by: sirclesadmin - 18 February 2025 15:33:41 |
|---|
| Yoast SEO Premium doesn’t do everything you need. It’s great for SEO, readability analysis, and internal linking suggestions, but it doesn’t enforce a word count minimum, require images, block certain external links, or check grammar. You’d need additional plugins like PublishPress Checklists for enforcement, WProofreader for grammar, and a link management plugin to block shady outbound URLs. If you want a strict "no low-effort garbage" filter for your WordPress contributors, you’ll need to combine tools—or build a custom solution |
| Posted by: drdread - 18 February 2025 15:34:01 |
|---|
| So what can you enforce with the Yoast policies? |
| Posted by: sirclesadmin - 18 February 2025 15:34:18 |
|---|
| Yoast SEO Premium offers a suite of features designed to enhance your site's SEO and content quality. However, it doesn't enforce specific content policies such as minimum word counts, mandatory internal links, or the inclusion of images. Here's what Yoast SEO Premium provides: 1. SEO and Readability Analysis Yoast offers tools to assess and improve your content's SEO and readability. It provides feedback on keyword usage, sentence structure, and overall readability, helping you craft content that's both user-friendly and optimized for search engines. YOAST.COM 2. Internal Linking Suggestions The plugin suggests relevant internal links as you write, aiding in building a cohesive site structure. While it recommends links, it doesn't enforce their inclusion. YOAST.COM 3. Redirect Manager Yoast SEO Premium includes a redirect manager to handle URL changes, ensuring users and search engines are directed to the correct pages. This feature helps maintain site integrity but doesn't enforce content-specific policies. YOAST.COM 4. Social Media Previews The plugin provides previews of how your content will appear on social media platforms, allowing you to optimize titles and images for better engagement. However, it doesn't require the inclusion of images within your posts. YOAST.COM In summary, while Yoast SEO Premium offers valuable tools to enhance your content's SEO and readability, it doesn't enforce specific content policies like minimum word counts, mandatory internal links, or image inclusion. To implement such requirements, additional plugins or custom solutions would be necessary. |
| Posted by: drdread - 18 February 2025 15:34:49 |
|---|
| I want to automate so if anyone does post their scammy nonsense, I get a half decent post out of them in exchange fore having to delete their links |
| Posted by: sirclesadmin - 18 February 2025 15:35:10 |
|---|
| Got it. You want to force scammy posters to at least contribute decent content before you nuke their links. That’s a solid approach—if they’re going to abuse your platform, at least they have to put in some effort. How to Automate This in WordPress You’ll need a mix of plugins + custom enforcement rules. Here’s how: 1. Enforce a Minimum Word Count & Internal Links ✅ Solution: PublishPress Checklists Forces users to meet content requirements before they can publish. Set a minimum word count (e.g., 1,500 words). Require a minimum number of internal links (e.g., at least 3). Prevents posts from being published unless they meet your rules. 📌 Plugin: PublishPress Checklists 2. Automatically Remove Suspicious External Links ✅ Solution: WP External Links + Custom Code WP External Links lets you add rules for outgoing links (e.g., make them nofollow, open in a new tab, or add warning icons). But if you want full auto-deletion of certain links, you’ll need a custom function that: Scans posts for external links. Deletes or modifies links that aren’t from your domain. (Optional) Redirects certain links to an internal warning page. 📌 Plugin: WP External Links 3. Enforce Proper Grammar & Structure ✅ Solution: WProofreader or Grammarly API WP plugins like WProofreader can flag grammar issues, but they don’t block bad posts. You can integrate Grammarly’s API for automated grammar enforcement (requires coding). A simple alternative: Yoast’s Readability Check (forces users to meet Flesch Reading Score guidelines before publishing). 📌 Plugin: WProofreader 4. Require a Certain Number of Images ✅ Solution: PublishPress Checklists You can force users to upload at least X images per post before publishing. Works well for preventing lazy posts with zero visual content. 📌 Same as above: PublishPress Checklists 5. Bonus: Auto-Convert Spammy Posts into Decent Ones If you really want to extract value from spammers, consider: Auto-replacing suspicious links (e.g., replace Telegra.ph links with a default warning page). Using AI to expand short, low-effort posts (e.g., GPT-powered tools that “auto-enhance” their garbage into a readable post). How It Works Together PublishPress Checklists forces long posts with internal links & images. WP External Links + custom code removes or rewrites suspicious links. Grammar enforcement ensures a basic level of quality. Automated link handling lets you control external URLs without manual moderation. Final Thoughts With this setup, anyone trying to drop scammy links will be forced to write a real, structured article first. Then, their links get removed or redirected, meaning they put in effort for nothing—except improving your site. Want help setting up the custom auto-link removal script? I can draft some WordPress code for that. |
| Posted by: drdread - 18 February 2025 15:35:30 |
|---|
| OK let's try some code |
| Posted by: sirclesadmin - 18 February 2025 15:36:38 |
|---|
|
Alright! Below is a WordPress function that will automatically scan posts for external links (links that don’t belong to your site) and either remove them or replace them with a warning message. This can be added to your What This Code Does✔ Detects external links in posts (ignoring internal links). WordPress Auto-Remove External Links CodeThis version replaces external links with a warning message but keeps the text. If you want to fully remove the links, I’ll show that next.
How This Works
Alternative: Fully Remove External LinksIf you want to delete the entire link (not just replace it), modify the regex replacement like this:
Now, spammy links disappear completely—only the surrounding text remains. Want to Allow Certain Domains?If you want to allow some external links (e.g., YouTube, Wikipedia), modify the pattern like this:
This keeps links from YouTube & Wikipedia but removes others. Next Steps✔ Test it in a WordPress sandbox or staging site. Want me to package this into a simple WordPress plugin for easy installation? 🚀 |
| Posted by: drdread - 18 February 2025 15:39:01 |
|---|
| Definitely - let's add the ability to choose the domains and what they are replaced with. |
| Posted by: sirclesadmin - 18 February 2025 15:39:41 |
|---|
| [code=markup]<?php /* Plugin Name: WP External Link Control Description: Automatically removes or replaces external links in posts. Allows customization of permitted domains and replacement text. Version: 1.0 Author: Your Name */ // Exit if accessed directly if (!defined('ABSPATH')) { exit; } // Plugin settings page function elc_add_admin_menu() { add_options_page('External Link Control', 'External Link Control', 'manage_options', 'elc-settings', 'elc_settings_page'); } add_action('admin_menu', 'elc_add_admin_menu'); function elc_settings_page() { ?> <div class="wrap"> <h1>External Link Control Settings</h1> <form method="post" action="options.php"> <?php settings_fields('elc_settings_group'); do_settings_sections('elc-settings'); submit_button(); ?> </form> </div> <?php } function elc_register_settings() { register_setting('elc_settings_group', 'elc_allowed_domains'); register_setting('elc_settings_group', 'elc_replacement_text'); add_settings_section('elc_main_section', 'Main Settings', null, 'elc-settings'); add_settings_field('elc_allowed_domains', 'Allowed Domains (comma-separated)', 'elc_allowed_domains_field', 'elc-settings', 'elc_main_section'); add_settings_field('elc_replacement_text', 'Replacement Text for External Links', 'elc_replacement_text_field', 'elc-settings', 'elc_main_section'); } add_action('admin_init', 'elc_register_settings'); function elc_allowed_domains_field() { $allowed_domains = get_option('elc_allowed_domains', 'youtube.com, wikipedia.org'); echo "<input type='text' name='elc_allowed_domains' value='" . esc_attr($allowed_domains) . "' class='regular-text' />"; } function elc_replacement_text_field() { $replacement_text = get_option('elc_replacement_text', '[External link removed]'); echo "<input type='text' name='elc_replacement_text' value='" . esc_attr($replacement_text) . "' class='regular-text' />"; } function elc_filter_external_links($content) { $site_url = get_site_url(); $allowed_domains = explode(',', get_option('elc_allowed_domains', 'youtube.com, wikipedia.org')); $allowed_domains = array_map('trim', $allowed_domains); $allowed_regex = implode('|', array_map('preg_quote', $allowed_domains)); $replacement_text = get_option('elc_replacement_text', '[External link removed]'); $pattern = '/<a\s+[^>]*href=["\'](https?:\/\/(?!' . preg_quote(parse_url($site_url, PHP_URL_HOST), '/') . '|' . $allowed_regex . ')[^"\']+)["\'][^>]*>(.*?)<\/a>/i'; $content = preg_replace_callback($pattern, function ($matches) use ($replacement_text) { return $matches[2] . ' <span style="color:red; font-weight:bold;">' . esc_html($replacement_text) . '</span>'; }, $content); return $content; } add_filter('the_content', 'elc_filter_external_links'); add_filter('wp_insert_post_data', function ($data) { if (isset($data['post_content'])) { $data['post_content'] = elc_filter_external_links($data['post_content']); } return $data; }); [/code] |
| Posted by: drdread - 18 February 2025 15:40:57 |
|---|
| Can it raise a warning message and block the post as soon as the link is typed? |
| Posted by: sirclesadmin - 18 February 2025 15:42:33 |
|---|
|
Yes, we can modify the plugin to immediately detect and block posts containing disallowed links before they are even submitted. This requires adding JavaScript validation in the WordPress editor to: ✔ Raise a warning if an author types or pastes a disallowed link. How It Will Work
Adding Real-Time Link ValidationI'll now update the plugin with JavaScript that hooks into WordPress' Gutenberg editor and Classic Editor, ensuring posts can't be saved if they contain unwanted links. Stay tuned! 🚀 I've updated the plugin to include real-time validation in the WordPress editor. Now, when a user types or pastes a disallowed link, they'll get an immediate warning message, and the post won't be allowed to save or publish until the link is removed. Next Steps
Let me know how you'd like to fine-tune it! 🚀 |