This plugin plugin blocks spam in comments automatically, without requiring any end-user input or any javascript.
In a way it's similar to webvitaly's Anti-Spam however this doesn't require the user to enter anything at all.
- As of version 0.7.7 there's an option to add an extra javascript check, it's off by default.
The comment gets marked as spam if any of the following rules are true :
- If the comment is a trackback.
- If the time between loading the page and commenting is less than 10 seconds.
- If the Session variable specific to this form is not set.
- If the hidden input field have a different value than "-".
- If the comment includes more than 3 urls.
- If the referer isn't set properly.
Once the comment gets flagged as spam, and if the auto delete option isn't set, a json string will be appended to it to show why it was marked, for example :
{
"is-trackback": 0,
"no-session-token": 0,
"hidden-field": 1,
"number-of-urls": 5,
"referer": 0,
"too-fast": 1.902538061142
}
Translates to :
- They changed the hidden input field.
- They Had 5 URLs in the comment.
- It Took 1.9 seconds to submit the comment since the page was loaded.
Also note that the time calculations are per-form, so there are no false-positives if the user has multiple pages open on the site and commented on 2 of them in a short period of time.
Feel free to fork it and submit patches / fixes on github
-
Download from Wordpress's plugin registery or clone this repo to your
wp-content/plugins
folder. -
Activate the plugin through the 'Plugins' menu in WordPress
-
Optionally change the options in
/wp-admin/options-general.php?page=ooo-nospam-admin
to your liking. -
Watch
/wp-admin/edit-comments.php?comment_status=spam
to see it in action unless you set set it to auto delete.
As of version 0.6 you can access all configurable options in /wp-admin/options-general.php?page=ooo-nospam-admin