Captcha pitfalls and Akismet as an alternative

In Knowledge

Although we have had clients who requested the implementation of Captchas in the web forms on their websites for the purpose of keeping out spam bots, we could never completely agree with the necessity because of the unnecessary trouble it presents to user and how error-prone it can be. I consider myself a person with intelligence and perfect eyesight, still, I failed Captcha tests one too many times. It led me to think how frustrating it must be for other users, especially those who may not be blessed with 20-20 eyesight?

unreadable

The fundamental problem with Captchas is that the responsibility of filtering spam content and maintaining site security is placed in the hands of users when it should have been the responsibility of the website’s. Users should never be forced to understand gibberish and to fill in form fields which are not relevant to their original purpose of filling up the form. Websites should always strive to provide each and every user with a frustration-free experience. A recent study by SEOmoz on 50 websites shows the serious negative impact of Captchas on conversion rates, and we are not surprised.

CAPTCHA-On

The green band of the graph represents failed conversions, blue band successful conversionss and red band spam submission. Looking at the figures, one can assume that similar trend can also be observed in other sites using Captchas. If your site depends on conversion for profit, such as e-commerce and member sign-ups, Captchas can very well be costing you a lot of money.

Akismet as a Captcha alternative

As bad as Captcha is, spam submission is still a problem that needs to be addressed. Here is one solution that we are currently implementing on new client sites. We think it should be easy for you to implement on your own website if you have got basic PHP knowledge.

akismet

Akismet or Automattic Kismet is a spam filtering service created by Automattic. Akismet is installed as a plugin on all WordPress blogs. It blocks spam comments by combining information about spam captured on all participating blogs and use those spam rules to block future spams. Basically Akismet learns what is and is not spam from the knowledge contributed by the entire ecosystem of WordPress blogs. It is a really powerful and smart spam-filtering service which we can fortunately tap into, even for non-WordPress forms.

MicroAkismet

Gaby Vanhegan wrote MicroAkismet, which is essentially a set of PHP functions that talks to Akismet. It is intended as a simple and compact method for adding Akismet protection to any kind of user-submitted content such as a contact form. You can find a tutorial on AskApache on how to implement MicroAkismet. Please note that you will need some PHP knowledge to be able to implement this. Another similar solution can be found on Aching Brain and a tutorial for it on iDude.

With these tools, you can prevent caught messages from submitting. Even better, let it go through but with a modified subject such as “[SPAM Blocked by Aksimet]”, set up a filter in your email client to divert these messages directly to junkmail and add the sender to a blacklist.

Teaching the spam filter in your email client with new knowledge is better than letting the spam message go to waste. Just remember to set up your contact form mail headers to reflect the spam bot as the sender instead of your server.

How are you combating spam on your sites? What other alternatives to Captchas are you using or plan to use?

References

ZURB
SEOmoz