Spam, it’s not just for breakfast and email anymore. Webspam is a huge problem – if you run a blog or a forum, you’re probably familiar with the gobs and gobs of gibberish being posted all over the web by spammers.
This humble blog, which only gets a few hundred visitors per day, has had over 17,000 spam comments since I moved over to WordPress last year. Having your site inundated with comment spam can be just as big a headache as getting hacked. No one wants to spend hours every day sorting the good posts from the bad. I’ve already written about how to totally clear out a spammed forum and erase all traces of it’s reputation-marring existence, but the best solution is prevention.
Here are some steps you can take to help prevent spam on your blog or forum.
Keeping Spam off Your Blog
This section assumes you’re hosting your own blog and can add plugins and make configurartion changes, and my examples will be WordPress-heavy because I’m more familiar with WordPress.
Option 1: Close or restrict comments. Most blogs give you some options to restrict who can comment on articles. In WordPress, you can require that users create accounts to comment under Settings -> General. This might not help too much since I’ve seen hundreds of automated user accounts created right alongside the spam.
You can also require that comments are approved before they appear – in WordPress look under Settings -> Discussion. This will stop your blog from being graffitied without your knowledge but also requires manual effort. You can also disallow trackbacks and pingbacks, which are really cool in theory but a major avenue for automated spam.
You can also shut down comments completely, or disable comments on old posts. At that point you may be throwing the baby out with the bathwater, but it’s certainly effective.
Option 2: Make sure commenters are real people with a captcha. Even if you’re not familiar with the term, you’re familiar with captchas. They’re the little widgets at the end of a form where you have to decipher some scrambled text from an image. Many blogs have captcha options built in, but if you’re looking for a captcha plugin be sure to balance usability with security.
I’ve used the Did You Pass Math plugin with some success. Jeff Atwood has used an extremely simple captcha for years on his high-traffic blog. Recaptcha is a really cool project that helps fight automatic posting and digitize old books at the same time.
Option 3: Use an automatic filtering system. If you’re using WordPress, I have three words for you: Akismet, Akismet, Akismet! Seriously, Akismet is so good at automatically marking spammy commetns and trackbacks that it’s almost scary. If you’re not using WordPress, you may still be able to find an Akismet plugin for your blogging platform. There are other systems worth trying as well such as Spam Karma but I have less experience with those.
Keeping Spam off Your Forum
Again, I’m assuming you are hosting the forum yourself or can otherwise make config changes. I’ll use phpBB (version 3) as an example because I’ve used it in the past.
Option 1: Restrict user accounts. This can be a tough call, because when you start a forum you want to make it as easy as possible for people to join in the discussion. Unfortunately, allowing anyone to register and begin posting without any admin approval also opens the door for spammers.
In phpBB this setting can be found in the Administration Control Panel under Board Configuration -> User Registration Settings.
Option 2: Again with the captchas. Captchas aren’t 100 percent garanteed to remove spam but they do help. If your forum software doesn’t have a captcha or a captcha plugin, I would seriously consider upgrading to a version that does or switching forums completely. I know it’s a huge pain but waking up one morning to find 10,000 spam posts is even worse.
In phpBB3 look under Board Configuration -> User Registration Settings for a setting called “Enable visual confirmation for registrations” and make sure it’s turned on. You can change the details under Board Configuration -> Visual confirmation settings.
Option 3: Try to find an automatic filtering system. This is harder than for blogs. There was an Akismet phpBB mod but it’s apparently not being maintained. There’s a workaround involving the Spam Words mod that you can read about here. The Spam Words mod might be worth trying on it’s own too. Here’s a thread with more options for phpBB2, search around and find what’s available for your forum software.
Even without automated filtering, you can try to slow down the spammers by setting a time limit between posts (most human beings don’t type as quickly as spambots do). Other options, such as disallowing links and BBCode, are pretty drastic but might make your blog less enticing.
Just for fun:
Spam, spam, bacon, and Spam