There are many technical tools that can be integrated with existing software.
There are non intrusive methods (methods that don't require extra user interaction):
- Akismet has methods to integrate with content management systems, forums, e-commerce sites. It also has libraries for several languages if you've built your own community application. It advertises that it catches 7.5 million spam comments around the web an hour. It is free for personal sites.
- Stopforumspam is an API accessible database that contains known spammer information, which you compare against. It has plugins for almost every forum software imaginable, plus wordpress and contains a Java library for you to develop against. This option is also free.
- Blacklists. I haven't seen an all encompassing one for forums, so this would need to be searched on a case by case basis. Something to look for though is that the plugin looks at multiple blacklists, not just one. As an added feature, if you can change the weight of the blacklists and block spam only when certain thresholds are reached, you are less likely to block legitimate traffic. One plugin I've used for a PHPBB board is Advanced Block Mod. It has prevented a lot of spam from appearing, according to the logs it keeps
There are also intrusive methods (extra steps someone has to jump through to add content to your community)
- Many forums have built in methods of spam prevention. These include answering questions
to proceed. Examples I've seen include simple math questions ("What is one plus one?"), simple questions ("What is the name of this community").
- Recaptchas. Everyone knows what they look like. These can be added at registration time, comment posting time or a combination of both.
Have you noticed that these have gotten easier recently? That is because Google updated it based on a decade of detecting humans vs bots around the world.
As part of this, we’ve recently released an update that creates
different classes of CAPTCHAs for different kinds of users. This
multi-faceted approach allows us to determine whether a potential user
is actually a human or not, and serve our legitimate users CAPTCHAs
that most of them will find easy to solve. Bots, on the other hand,
will see CAPTCHAs that are considerably more difficult and designed to
stop them from getting through.
A combination of intrusive and non intrusive methods is most effective. However, personal experience has shown that every intrusive method added reduces the likelihood that people will contribute. Especially if they have to jump through a hoop every time they wish to post. Most users are understanding of these methods at registration.
The non-intrusive methods run in the background and normal users may never know they even exist. This is ideal, because it doesn't interrupt their flow of ideas or affect what they need to do to submit content to you.