Prevent Comment Spam
Posted by Jon Lee in How-to, Web Development, tags: Akismet, comments, greasemonkey, spam-protection, wordpressAny WordPress blogger can tell you what a pain it is to go through their Akismet Spam filter to identify any false-positives (real comments that get identifed as spam). In a week, I used to get about 500 comments that gets caught by Akismet which isn’t a lot compared to some more popular blogs. Within these comments, I’d say approximately 1% of them are false-positives. Sure I could’ve ignored them but I feel every comment is an important one that shouldn’t be overlooked!
Here are possible solutions to this problem:
Bad Behavior
A couple weeks ago I wrote about how I installed the Bad Behavior plug-in to prevent unwanted traffic to my site (i.e. spam bots). Well it looked like it worked! In this past week I’ve only had 50 comments in the filter, that’s a big difference!
Captcha
Now I could have easily installed a Captcha tool but I’m sure that would annoy a lot of the regular readers and commentators. (Captchas are the “enter the following jumbled letters to prove you’re human” tests).
Change Field Names
Another solution is to change the field names of the comment form so that automated scripts could not submit their content to your blog since they won’t have the correct fieldname. However, this requires a little tweaking in your own code and frankly I was too lazy to poke around the WordPress files to do so. Also it doesn’t stop bots that scan your source code.
Add a Hidden Field
I read about this one on digg last week. By adding an extra field to your comment form and making it invisible with CSS, you can trick spam bots into filling in that field (since they look at HTML and don’t know it’s invisible) and throw out any comment that has that field filled out. There are a couple flaws with this, first of all it’s really easy for a spam bot to add a check for visibility, and secondly users that don’t look at a site the same way others do would see the field (auditory surfers, old non-css compatible browsers etc.). I don’t like this solution because I believe in designing without discriminating! Also, it will require adding a little bit of code to the comment file.
A Different Spam Filter
I haven’t tried any other spam filters but I believe the general consensus is that Akismet is the best out there right now. Spam Karma is a close second. There is a new one that is in private beta testing and promises to be even better than Akismet. I’ve signed up to be a beta tester but I haven’t been contacted yet. I hope it lives up to its promises!
Disable Comments on Old Posts
You may notice a lot of your comment spam is on old posts since those pages have been crawled and have been out there for a while, it is only natural they will gather spam. As your blog grows and you have more posts, the number of spam comments will increase linearly. So by disabling the ability for users to comment on old posts, you will be stopping this increase. Personally, I don’t think this is a good idea since it effectively terminates any discussion on old posts. I mean, if someone had a question about something you wrote (that you would likely not write about again), they’ll have nowhere to discuss it!
I’m very happy with Bad Behavior right now, it’s no problem for me to look through 50 spam comments a week to find false-positives since it takes less than a minute to do. Also, with a little Greasemonkey script, this process is made much more efficient!
Do you look through your spam filter or do you just empty it? How do you prevent comment spam? I’d like to know!
Popularity: 7% [?]
Entries (RSS)