Spam in Blogs is one of the major problem faced by most of the blog publishers. It shouldn’t be confused with splogs (Spam Blogs) which is often used to increase the PageRank of the affiliated sites, get ad impressions from visitors and use the blog as a link outlet to get new sites indexed.
Comments are one of the major sources of spam in blogs. Unless your blog implements the Captchas, there is no way to distinguish between the comments registered by automated scripts and normal human users.
The Akismet Web service does a very good job in stopping Comment and Trackback spam. The service comes by default for blogs hosted on WordPress.com. The same can be adopted to work with hosted wordpress blogs. You just need to get the API key from a registered wordpress.com account and use it !
Whenever a new comment, trackback, or pingback comes to your blog it is submitted to the Akismet web service which runs hundreds of tests on the comment and returns a thumbs up or thumbs down. My blog itself receives a lot of spam which fortunately is handled by Akismet.
However Akismet focuses only on handling Comment/Pingback/Trackback spam. Your blog might be subject to other attacks such as email harvesting, automated cracking attempts etc.
Bad Behavior, conceived in 2005 as a fingerprinting method for HTTP requests, has proven “shockingly effective” at identifying and blocking the kind of attacks described above.
Instructions for installing Bad Behavior on WordPress can be found here.
This application has been very effective and you can see the number of spam attacks it has blocked in footer of this page. After activating Bad Behavior, the number of spam comments caught by Akismet has reduced drastically.
In fact, Bad Behavior protects WordPress.com as well !!