The AVH First Defense Against Spam plugin gives you the ability to block spammers before any content is served.
The AVH First Defense Against Spam plugin gives you the ability to block spammers before any content is served by identifying them at the Project Honey Pot, a local blacklist or the local IP cache. Visitors trying to post a comment are checked at stopforumspam.com. Stop Forum Spam is not used to check before content is served due to the amount of requests, which overloads their infrastructure.
Blocking a potential spammer before content is served has the following advantages:
Stop Forum spam has set a limit on the amount of API calls you can make a day, currently it is set at 20,000 calls a day. This means that if you don't use the Blacklist and/or Whitelist you are limited to 20,000 visits/day on your site. To overcome this possible problem I wrote an IP caching system. If you use the caching system you still have a limit with Stop Forum Spam , but the limit is set to 20,000 unique visits/day.
The following IP's are cached locally:
Only returning IP's that were previously identified as spammer and who's connection was terminated will update their last seen date in the caching system. Every day, once a day, a routine runs to remove the IP's who's last seen date is X amount of days older than the date the routine runs. You can set the days in the administration section of the plugin. You can check the statistics to see how many IP's are in the database. If you have a busy site, with a lot of unique visitors, you might have to play with the "Days to keep in cache" setting to keep the size under control.
The plugin checks the visiting IP in the following order, only if that feature is enabled of course.
To my knowledge this plugin is fully compatible with other anti-spam plugins, I have tested it with WP-Spamfree and Akismet.