Simple No-Bot Captcha Alternative for Contact Form 7

plugin banner

Simple, lightweight, captcha-free, no configuration. Just works.

Author:Lilaea Media (profile at
WordPress version required:5.2
WordPress version tested:5.3.3
Plugin version:2.2.5
Added to WordPress repository:04-05-2017
Last updated:12-01-2020
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:46
Rated by:3
Plugin URI:
Total downloads:2 378
Active installs:200+
plugin download
Click to start download

Simple No-Bot uses javascript to detect if Contact Form 7 is being submitted by a spam bot.

We wrote this when clients were reporting hundreds of bogus contact forms were getting past Honeypot, but did not want to add a captcha that would impact conversions.

This lightweight script has been extremely effective for eliminating spam messages from Contact Form 7 (and other forms) submissions. It does not pretend to be a complete anti spam solution.


SNB REJECTS SUBMISSIONS UNLESS THE USER INTERACTS WITH THE FORM. In earlier versions of SNB, the submit button was disabled until this threshold was met. You can now set this option in wp-config.php (see below).

In most cases it will be enabled after the user starts typing in the first field. It has not broken your form.

Please report any feedback and false negatives/positives on our support form at before posting a crappy review. Thanks.

New! Improved!

You can now hook Simple No Bot into any form. The filter below will return TRUE if bots are detected.

$is_spam = FALSE; // you can use whatever flag is being used by your plugin. 
$is_spam = apply_filters( 'snb_test_spam', $is_spam );

We have added additional analysis to detect pesky bots that can mimic browsers and run scripts.

SNB now keeps a list of IPs as they are flagged as spam and automatically fails them. The oldest IPs are pruned when it reaches 100 (or SNB_MAX_SPAM_IPS, see below). You can pass ?snb_flush=true as Admin to flush all spam IPs.

You can disable the submit button until the event threshold is reached by adding the following flag to wp-config.php:


Other configurable options:

define( 'SNB_SPAM_THRESHOLD', 2 ); // maximum score before being considered spam
define( 'SNB_MIN_EVENTS', 2 ); // minimum number of events required to fetch token
define( 'SNB_BLOCK_SPAM_IPS', TRUE ); // use IP blocking on hard fails
define( 'SNB_SPAM_IP_LIFESPAN', 60 * 60 * 24 * 30 ); // time before spam ips expire - default 30 days
define( 'SNB_MAX_SPAM_IPS', 100 ); // max number of IPs to store before rotating
define( 'SNB_SESSION_LIFESPAN', 60 * 30 ); // time token is valid to send message - default 30 minutes<h3>Support</h3>

Please report any feedback and false negatives/positives on our support form at

(c)2019 Lilaea Media