ZeroSpams

The best spam protection for WordPress contact forms

You rarely need a new form plugin to stop spam. You need the right combination of features, most of which your plugin already has.

Updated · 2 min read · By the ZeroSpams team

The short answer

For most WordPress sites the best spam protection is layered: your form plugin's honeypot and anti-spam token first, Cloudflare Turnstile if spam continues, and a content filter such as Akismet only for human spam. Keep entries of blocked messages, and add server-side protection if bots still get through.

The layers, compared

LayerWhat it stopsVisitor effortPrivacy
Plugin honeypotSimple botsNoneStays on your site
Plugin anti-spam token / time checkFast bots, direct postingNoneStays on your site
Cloudflare TurnstileMost bots that load the pageUsually noneShared with Cloudflare
reCAPTCHA v3Most bots that load the pageNoneShared with Google
AkismetKnown spam content, some human spamNoneMessages sent to Automattic

The setup we recommend

  1. Honeypot and anti-spam token on every form.
  2. A week of watching entries or the spam log.
  3. Turnstile only if bots still get through.
  4. A link or keyword rule for human sales spam.
  5. Server-side protection in front of the form if spam survives all of this.

By form plugin

  • Contact Form 7: no honeypot built in; add one with an add-on, plus an integration such as reCAPTCHA. Details.
  • WPForms: built-in anti-spam protection and CAPTCHA options in its settings. Details.
  • Elementor Pro forms: a honeypot field and reCAPTCHA field in the form widget. Details.

Check your version: plugins add and rename anti-spam features between versions. Look in the plugin's current settings for the options named here.

Common questions

Do I need to change my form plugin to stop spam?

Rarely. Switching on the protection your plugin already has, plus Turnstile if needed, is usually enough.

Is a premium anti-spam plugin worth it?

For busy business sites, often yes, especially if it keeps a log and adds content rules. Check what data it sends to third parties.

What if I use several form plugins?

Protect each one, or move to one plugin. Old forms on forgotten pages are a common source of spam.