Many avid bloggers are already familiar with Akismet and rightfully so. Akismet does an amazing job of eliminating spam. It will catch 99% of spam and put it in the spam queue. Head over to http://akismet.com/ and install Akismet. You will need to sign up for a WordPress account and get an API key. Don’t worry it takes 2 seconds and is worth it. Once Akismet is installed need to go to your Akismet Configuration, which is under plugins, and enter your WordPress API key. There is also a check box label “Automatically discard spam comments on posts older than a month.” I chose to uncheck this. With this checked if Akismet detects spam on a post you wrote over a month ago it will just delete it. While Akismet is really good there is a chance you could lose some legitimate comments. If you combine this plugin with the one below there is really no use for this. However the choice is yours. After that it is just a matter of waiting and letting Akismet do its work.
Akismet will install a little control panel to view statistics it will look something like this:
From the WordPress dashboard you will want to check your Spam Queue to make sure that no legitimate messages get through. It does not happen often, but it does.
Akismet does an amazing job of stoping spam comments from getting to your inbox. How about stoping spam before it ever gets submitted? That is were WP-Ban comes in. WP-Ban can be found at http://wordpress.org/extend/plugins/wp-ban/.
Basically this can be used to block anyone from ever viewing your blog on the IP level. Granted many spammers will jump though proxies and use 10 different IP’s in a minute. I noticed that I was getting 100’s of spam comments from 1 or 2 IP addresses. I would block that one IP for example the following 4 IP addresses accounted for over 400 spam comments in a day:
Blocking those 4 IP address pretty much stopped my spam.
I would be very selective in blocking IP addresses, do not use ranges and never block your own IP. Over the past week I have seen spam almost stop dead in it’s tracks.