• Sun. Oct 17th, 2021

Combating Link Spam, Automated Spam Bots and Cleaning Up Your Internal Links

Three plugins that recently underwent some changes are going to be covered in today’s post. The first two plugins can help dramatically decrease spam linking and the third will help you build potential rankings by increasing your own link structures. Let’s get to it.

Bad Behavior

Bad behavior is one of those “almost default” plugins that you most likely will have on every WordPress site there is. (much better then “hello Dolly” IMHO). Any plugin that can prevent link spam is usually pretty good to have.

According to the authors:

“Bad Behavior complements other link spam solutions by acting as a gatekeeper, preventing spammers from ever delivering their junk, and in many cases, from ever reading your site in the first place. This keeps your site’s load down, makes your site logs cleaner, and can help prevent denial of service conditions caused by spammers.”

You can’t help but like any plugin that makes for less work and easier management of your site. The one thing I wish the developers would at least consider is a more detailed Changelog of updates.

  • Version: 2.2.15
  • Author: Michael Hampton
  • Last Updated: 9-4-2014
  • Requires WordPress Version: 3.1 or higher
  • Compatible up to: 4.0
  • Average 5-Star Rating: 4

If you are using Bad Behavior, and you should be, make sure that you account for any of these issues listed below:


Release Notes

Bad Behavior 2.2 Known Issues

  • Bad Behavior 2.2 requires MySQL 5.0 or later and PHP 5.2 or later.
  • CloudFlare users must enable the Reverse Proxy option in Bad Behavior’s settings. See the documentation for further details.
  • Bad Behavior is unable to protect internally cached pages on MediaWiki. Only form submissions will be protected.
  • When upgrading from version 2.0.19 or prior on MediaWiki and WordPress, you must remove the old version of Bad Behavior from your system manually before manually installing the new version. Other platforms are not affected by this issue.
  • Bad Behavior on WordPress requires version 3.1 or later. Users of older versions should upgrade WordPress prior to installing Bad Behavior.
  • On WordPress when using WP-Super Cache, Bad Behavior must be enabled in WP-Super Cache’s configuration in order to protect PHP Cached or Legacy Cached pages. Bad Behavior cannot protect mod_rewrite cached (Super Cached) pages.
  • When using Bad Behavior in conjunction with Spam Karma 2, you may see PHP warnings when Spam Karma 2 displays its internally generated CAPTCHA. This is a design problem in Spam Karma 2. Contact the author of Spam Karma 2 for a fix.



Regardless of which plugin you use to do this, another in a long list of must have plugins for any blog or website is the use of a Captcha plugin. What makes this one very nice is that it can stand alone.

This is a very simple and straight-forward plugin for adding captcha boxes on your forms. These can include your login form, password form and even contact us pages that you add manually. Lots of options to offer such as letter, numbers or even math questions. (make the use think for a change).

This plugin also integrates well with other plugins (such and Buddy Press) and we have not encountered any major issues with it over the years. The authors are also staying on top of any issues that might arise with a noticable list of recent updates to fix several issues.

  • Version: 4.0.6
  • Author: BestWebSoft
  • Last Updated: 11-16-2014
  • Requires WordPress Version: 3.1 or higher
  • Compatible up to: 4.0
  • Average 5-Star Rating: 4.5



V4.0.6 – 17.11.2014

  • NEW : The Portuguese language file is added to the plugin.
  • Update : The French language file is updated.
  • Bugfix : The performance issue was fixed.
  • Update : We added padding style for captcha input.

V4.0.5 – 15.10.2014

  • Update : The Brazilian Portuguese language file is updated.
  • NEW: We added filter ‘cptch_forms_list’ in the plugin settings page.

V4.0.4 – 10.09.2014

  • Update : The Farsi language file is updated.
  • Update : We updated all functionality for wordpress 4.0.

V4.0.3 – 07.08.2014

  • Bugfix : Security Exploit was fixed.

V4.0.2 – 28.07.2014

  • Update : We updated all functionality for Limit Attempts plugin.

V4.0.1 – 12.05.2014

  • Bugfix : We fixed syntax error.

V4.0.0 – 12.05.2014

  • Update : We updated all functionality for wordpress 3.9.1
  • Update : The Ukrainian language is updated in the plugin.
  • Update : The French language file is updated.

V3.9.9 – 11.04.2014

  • Update : We updated all functionality for wordpress 3.8.2.

V3.9.8 – 10.03.2014

  • Bugfix : We fixed error related to custom plugins folder.

V3.9.7 – 10.03.2014

  • Bugfix : Plugin optimization is done.
  • Update : The French language file is updated.

V3.9.6 – 12.02.2014

  • Bugfix : Comflict with plugin Limit Login Attempts is fixed (a false login when logging out of the WP backend).
  • Bugfix : We fixed displaying captcha in contact form.

V3.9.5 – 03.02.2014

  • Update : We updated all functionality for wordpress 3.8.1.
  • Update : Changed filter for captcha in the login form.

V3.9.4 – 16.01.2014

  • Update : BWS plugins section is updated.

V3.9.3 – 25.12.2013

  • Update : The French language file is updated.
  • Update : We updated all functionality for wordpress 3.8.

V3.9.2 – 10.12.2013

  • NEW : A notice when changing settings on the plugin’s settings page was added.
  • Update : We updated all functionality for wordpress 3.8-RC1.


Contextual Related Posts

This one aspect of blogging comes with caveats from two major trains of thought:

Should you link between pages on your site or should you not?

Personally, the major discussion usually centers around “does it matter to Google”? People worry too much about wether or not it helps their Google ranking.

But here is a truth: If user’s can’t read your site then Google won’t really care either.

To me if a person is looking for a topic to read, then they might also be interested in similar content. This is called relevance. There is no sense in arbitrarily linking across from every single page to every other page of your blog. Quite simply that would put way too many links on a page.

However, placing links to pages that have something in common with the posts you are writing *IS* effective as a link building strategy.That is where this plugin really excels.

Recent updates include multi-site support, thumbnail support, a new look, and fixes to SQL vulnerabilities.

  • Version: 2.0.1
  • Author: Ajay D’Souza
  • Last Updated: 9-5-2014
  • Requires WordPress Version: 3.5 or higher
  • Compatible up to: 4.0
  • Average 5-Star Rating: 4.5


  • Fixed: Clear Cache button which broke in 2.0.0


  • New: Multi-site support. Now you can Network Activate the plugin and all users will see related posts!
  • New: Thumbnails are registered as an image size in WordPress. This means WordPress will create a copy of the image with the specified dimensions when a new image is uploaded. For your existing images, I recommend using Force Regenerate Thumbnails
  • New: Completely filterable mySQL query to fetch the posts. You can write your own functions to filter the fields, orderby, groupby, join and limits clauses
  • Modified: Lookup priority for thumbnails. The thumbnail URL set in the Contextual Related Posts meta box is given first priority
  • Modified: Removed border=0 attribute from img tag for HTML5 validation support
  • Modified: Default option for timthumb is disabled
  • Modified: Default option for post types to include is post and page
  • Modified: get_crp_posts has been deprecated. See get_crp_posts_id instead
  • Modified: Turning on the Default style will switch on thumbnails, correctly resize them and will also hide authors, excerpts and the post date
  • Fixed: Post image will now be loaded over https if the visitor visits your site on https


  • New: Meta box on the Edit Posts, Pages and custom post type pages to easily add the location of the URL of the thumbnail image
  • Modified: Refined match title algorithm. Previously this would match the post title with both the title and content
  • Modified: Widget initialisation
  • Modified: Massive code cleanup and more documentation in the WordPress settings page
  • New: Added w.org and github.com to list of allowed sites for timthumb

  • Fixed: Add to feeds was broken in v1.9


  • New: Default style to make those related posts look awesome! You can find this option in the Custom styles section
  • New: Option to change the priority of the content filter. Now you can choose at what stage after the content the related posts are added.
  • New: Option to exclude the display on custom post types. Find this under Output Options
  • New: Redesigned settings page to be more responsive on mobile devices and better integrated in the WordPress Dashboard design
  • New: Function get_crp_posts_id can be used to fetch the IDs of related posts. Check out the FAQ on details of this
  • Modified: Shortcode now considers a wider range of attributes

  • Fixed: Potential SQL vulnerability – Thanks to flynsarmy for highlighting this
  • Modified: Minor performance improvements in initialisation of the widget
  • Modified: Plugin now checks if it is within the loop when any option under “Add related posts to:” is selected. Minor performance increase to avoid the plugin being called unnecessarily in secondary loops.

  • Fixed: Manual install caused a PHP error in 1.8.10





Derek Wood

Derek is a Online Web Professional. He works with clients and customers in order to implement Web-Based solutions for businesses. These include websites, SEO, marketing, and company branding. His own company, Shadow Dragon Unlimited has been providing these services to local businesses in his Western Massachusetts area and online since 2003.