If your like me and your WordPress website is getting spammed like crazy and nothing seems to be stopping them, then you need something that helps get rid of them once and for all. That’s where this plugin comes in that requires everyone to fill out a CAPTCHA before they can do anything on the WordPress website.
The plugin utilizes reCaptcha to show users a complex CAPTCHA when they visit the WordPress website to verify that they are human. You will need to signup for a free reCAPTCHA account in order to use this plugin. Once they are verified as being human, a cookie is created so they don’t have to fill out the CAPTCHA each time they visit the website. The plugin can also be made to allow search engine spiders to not have to go through the verification process so your website is indexed as it should be.
The verification page is showed for every page in WordPress so they don’t have to double back to get to where they want to go on the WordPress site in the first place. Besides the reCAPTCHA, there is also a field on the verification page that is only visible to bots and if it is changed (which most bots will do) then the verification process will fail.
The cookie that is created so the human is remembered uses a MD5 hash with the salt being a MD5 hash (containing a random 13 character string and the AUTH_SALT constant) and then the users IP address (as specified by the [cc lang=”php” inline=”true”]$_SERVER[‘REMOTE_ADDR’][/cc] variable). This way with the bots not knowing the salt, they aren’t able to forge a cookie in order to get access.
I cannot 100% guarantee that this is going to stop all spam bots from entering your WordPress but it should stop the majority of them. The code for this plugin is hosted on a WordPress SVN repository and it is licensed under the GNU General Public License v3. If you would like to install this plugin, then please click the link below to download the ZIP archive and follow these instructions to install it in WordPress. Or, go to Plugins -> Add New in your WordPress site and do a search for “humans only”, then click “Install” and then “Activate”.
UPDATE #1: This version fixes a compatibility issue with WordPress 3.8.