A little more than a year ago, I was frustrated about being stuck in spam jail. It was difficult for me to comment on other blogs, and other bloggers shared the pain with me.
So, how do things look today? I wish I could say that they have improved, but they haven’t. I still have a problem whenever I comment on new sites for the first time. Nothing is more frustrating than when you comment on a new blog and your comment immediately gets tossed into the spam. You then have to fire off an email to the site owner, and pray that they see your email and get you out of the spam.
Unlike other plugins, Akismet charges for their services unless you run a personal blog. Even then, they try to make you feel bad about not giving them money:
I have nothing against a business trying to make money, as everyone needs to pay their bills. In that case, however, I would hope for at least some decent support. Instead, I never hear back or I am finally greeted with terse replies such as:
This is fixed but we cannot continually undo what bloggers are telling Akismet.”
According to Akismet, they do not run a blacklist. Therefore, even if one or two bloggers have somehow marked me as spam, another 40-50 high-quality blogs running Akismet approve my comments all of the time, so the problem should be limited to a small subset of blogs.
This is not what I have seen in practice.
The problems with Akismet
Akismet clearly has a problem with blocking legitimate commentators while still letting real spam get through. If they didn’t, then we would not be seeing the rise of alternative plugins. Here are the major problems with Akismet:
It blocks legitimate commentators.
You’ll know when this has happened. This is whenever you leave a comment on a site, and after a refresh, your comment is nowhere to be found. Usually you’ll see your comment right away, or you’ll see a message like “Waiting for moderation”. When Akismet blocks you, however, your comment simply disappears into a void.
At least with Akismet alone, you know when you’ve gone into the spam. With Intense Debate using Akismet as the back end, the problem is made significantly worse. Intense Debate will lie to you and pretend that your comment has been published, but when you check in another browser your comment is nowhere to be found. To make things worse, the site owner may not know how to see spammed Intense Debate comments, so you are effectively barred from ever commenting on that site.
You don’t know how frustrated I became when I took the time to leave thoughtful comments on some sites with Intense Debate and then I found out that my comments were lost forever.
It uses faulty heuristics.
The Akismet team claims that they don’t use a blacklist, but regardless of the technical details, the process works exactly like a blacklist.
How do I know this?
It’s easy. I am on their blacklist. 🙂 All I have to do is to go any new site that is running Akismet, and try to post a comment with my name, URL and email address. Instant block. What if I change my name, URL, and email? Then the exact same comment will go through! If it looks like a blacklist and acts like a blacklist… it’s a blacklist!
Because they use blacklist-like behaviour, they make it more difficult for real commentators and easier for spammers. A real commentator usually sticks to the same name, email, and URL, so once they get on the blacklist, they’re screwed. It doesn’t matter how many sites approve their comments after that. A spammer, on the other hand, will use a combination of names, emails, and URLs so that they can work their way around the blacklist. Akismet still manages to catch a lot of these guys, but it doesn’t catch all of them.
What ultimately ends up happening is that some of your legitimate commentators get blocked, and unless you like sifting through hundreds of spam comments a day, you’ll probably never notice them. At the same time, some spammers get through. I always know when this happens when I get an update on a post I subscribed to months ago (once the owner got me out of the spam), and it’s some spammer trying to sell shoes or something like that.
Akismet was once the only game in town, but this is true no longer. Here is a list of plugins that can improve upon or even replace Akismet entirely:
Conditional Captcha extends Akismet and shows a captcha only to those commentators that were going to end up in the spam, anyways. It greatly reduces false positives, and it actually greatly reduces spam at the same time because most spammers do not complete captchas. You can send these into the trash, leaving a much smaller pool of comments to moderate. Conditional Captcha also works with Typepad Antispam.
This plugin has been a lifesaver for me where other blogs have added it, and the author has been very receptive and attentive to feedback.
This is an Akismet-like plugin, but without the false positives problem. You do need to moderate every trackback, though.
If you have ever seen those sites with the “Check if you are NOT a spammer”, then that site was probably running GASP. These checkboxes are much easier to use than a captcha, but most spammers don’t check it so they get effectively filtered out.
If you use this plugin, there’s no need to run Akismet at the same time!
Disqus is a commenting system that replaces the traditional WordPress system. I can only remember having a good experience with DISQUS on every site that has used it.
LiveFyre also replaces the traditional WordPress commenting system, and it writes back comments to your DB so you can still remain in control. It also catches spam, but since you can register and authenticate yourself you don’t need to worry about getting blacklisted (unless you’re a real spammer, of course! ;))
Finally, Bad Behavior also deserves a mention. It takes a different tack by blocking spammers from being able to submit using your comment form, but unfortunately it is sometimes too aggressive and blocks legitimate people from using your contact form!
You can fix this by using the whitelist file:
Copy whitelist-sample.ini to whitelist.ini and add this:
url = “/contact/index.php”
url = “/contact/”
url = “/contact/*”
I am not sure of the exact format, so I just added all three and that seemed to work. Be careful as the whitelist gets overwritten whenever you update.
So, reader, I hope this post proves helpful. If you are a blog owner, I hope this convinces you to look at alternatives! As always, I’d love to hear your thoughts.