Make your WordPress *Almost* Spam Free
Spam is one of the most annoying things you can’t avoid when you’re running a blog. Search for comment spam in my blog, there are a few entries I wrote back then, complaining about spams in my blog. My blog, at the moment, is *almost* spam free. I can’t say totally spam free because spammers (and even SPAM BOTS) are getting smarter.
The solutions? Force your visitor to register just to leave a short comment? This will make leaving a comment a big hassle, and visitor will just go away because of this. Perhaps putting all comments by first time commenter into moderation? This is also not a good idea if you’re not always there to monitor your blog.

There are a lot Anti Spam plugins out there, but that doesn’t mean you can download ALL of it and enable it on your blog. Remember, having a lot of plugins activated could slow down your blog if you have a lot of visitors coming at a time. Here are a few anti spam plugin handpicked by me that works great after few months using them.
The Firewall: Bad Behavior
This plugin serve as your blog’s shell, the outer most layers to protect your blog against spams.
Bad Behavior was designed and built by watching actual spambots which harvested email addresses, posted comment spam, and used fake referrers. By logging their entire HTTP requests and comparing them to HTTP requests of legitimate users, it is possible to detect most spambots. Bad Behavior blocks spambots with a short error message. (Source)
So basically, Bad Behavior blocks any spambots that tries to enter your blog. This means that you’re protected even before the spambots tries to do anything to your blog.
I remembered Spambot DoS attack (similar to this and this) on my blog several months ago. Imagine getting thousands of comment spam in minutes. The flood totally brings down my website (think getting your site Dugg or Slashdot-ed). I was forced to renamed wp-comments-post.php to something else. Bad Behavior kinda help to prevent such thing happens again.
The Filter: Simple Spam Filter
Shit happens. Firewalls aren’t perfect. And this is where the filter gets its job done. This plugin is really simple at filtering comments. It is very common to see BB Codes in your spam. I guess spambots tend to spam blogs and forum at the same time. Simple Spam Filter works by rejecting comments that matches patterns set in the filter. The default setting is good enough to filter MOST of the spams. This plugin greatly the amount of spam caught in your spam vault.
The Spam Vault: Akismet
Akismet. WordPress’s official Anti Spam plugin. To use it, you have to obtain a free API key by getting yourself an account in WordPress.com. The good thing about Akismet is that you just have to activate the plugin, enter your API Keys, and wait for it to do the magic. The down side? False positives. Especially those commenter who used a lot of cursing word like Fuck. If you don’t want to get yourself in the spam statistic, you have to be nice when commenting
Alternatives
A lot of bloggers says that Spam Karma 2 very effective, in fact, way better that Akismet. I find it not so effective because it tends to give spam comment a positive karma, which is weird. It shouldn’t work that way, but somehow the glitch is present in my blog. If you’re too lazy to get an API key, or the false positives in Akismet is pissing you off, Spam Karma 2 should be the one for you.
CAPTCHA should work as well, but I don’t really recommend it. CAPTCHAs can be really ridiculous. Math Comment Protection can be better than CAPTCHAs, but I find it funny to solve simple maths problem just to leave a comment.
With the firewall, the filter and the spam vault, your WordPress blog should have less spam. If not, it should be in a more manageable level.
Popularity: 2% [?]
August 8th, 2007 at 2:06 pm
Thanks for the link love dude. I put all comments by first time commenter into moderation — and don’t think I can disable it as it is real useful. So far no spam comments get their way.
August 8th, 2007 at 4:52 pm
The idea is to get your blog run with not-too-much monitoring. If you have a lot of new comments at a time, it can be a pain to approve them one by one.
August 9th, 2007 at 6:46 pm
I used to set my blog to moderate all first time commentators. After some time, I noticed that I was wasting more time approving new comments and deleting spams at the same time. I’ve been using Akismet ever since but it’s still not good enough. I was advised to use Bad Behaviour in combination with Spam-Karma 2. Will try it out soon.
August 9th, 2007 at 8:23 pm
I use Akismet. It saved a lot of my time to delete those SPAM.
August 10th, 2007 at 1:14 am
I guess you all didn’t experienced the spambot DOS attack. It was insane. I still think that Bad Behavior is a MUST for all WordPress installation. Perhaps it was my badly configured free webhost back then.
@10/3: That’s right. That’s the idea of NOT having first timer into moderation. It takes time to write an entry and to moderate spam. And now going to approve all the individual first time commenter, it is definitely time wasting, and requires a lot of “hard work”
SK2+BB combination shouldn’t be that bad. Some people hate Akismet because of its high rate of false positives.
@Jayce Ooi: If you have Bad Behavior and Simple Spam Filter, you’ll get even less spam to delete!! I only have like 5-10 spams in Akismet ready to be deleted every week.
September 2nd, 2007 at 9:18 am
Don’t use Math Comment Spam Protection because we have to take into consideration that there are people who have problems doing even simple arithmetics. We shouldn’t put a strain on our visitors just because we’re too busy/lazy to handle our spam comments, should we?
September 2nd, 2007 at 2:44 pm
Seriously, I too, find it strenuous to solve simple arithmetics before I can post a comment. Ironically, I am in the Accountancy field.
February 26th, 2011 at 2:54 am
thanking you for this useful guideline for stop spam of comments.nice post.