Founding offerThe first 10 online stores pay $9 a month instead of $15, for as long as they stay.Founding offer: $9 a month instead of $15 for the first 10 stores.Claim yours
Ropeline Check my site

How to stop contact form spam in WordPress

A guide for site owners. Updated October 17, 2026. Settings are named as in Contact Form 7 6.2 and WPForms Lite 2.0.

Your contact form sends you an email every time someone fills it in, and most of them are junk: links to sketchy sites, "SEO services", fake invoices. Nearly all of it comes from bots, and bots give themselves away in a few ways. Here's how to catch them, starting with what your form plugin can already do.

How bots give themselves away

Checks for those four things are invisible to real people. A CAPTCHA works too, but every real visitor pays for it with a puzzle, so it's best kept for when the invisible checks aren't enough. And some spam is typed by people, or written by AI and pasted in. No form check stops all of that; a content filter like Akismet helps there.

Contact Form 7

Contact Form 7 has no built-in honeypot, timing check or limit on repeats; those need another plugin.

WPForms

Open your form in the form builder and go to Settings, Spam Protection and Security:

WPForms' country and keyword filters are part of its paid version.

Comments and reviews, while you're there

Under Settings, Discussion, Comment author must have a previously approved comment holds first-time commenters for you to approve, and Number of links to allow in a comment before holding for moderation catches most link spam. On a WooCommerce store, letting only people who bought a product review it stops fake reviews: see the fake accounts guide.

How Ropeline Pro does it, with no puzzle

Ropeline Pro guards WordPress comments, WooCommerce product reviews, Contact Form 7 and WPForms, with the four invisible checks:

Caching doesn't break your forms, and verified AI agents aren't held to the limit. For its first 7 days Ropeline only records what it would have stopped, so you can see it won't get in anyone's way. Spam protection is part of every Pro plan, including the $5-a-month Site plan, and the first 14 days are free.

No spam, no puzzles. Ropeline Pro is free for a week, no card, then $5 a month for one website.

Start a free week, no card Check my site free

Or 14 days free with a card

Questions

Does it replace Akismet?

They do different jobs and work well together. Ropeline stops bots by how they behave, before the message is sent. Akismet looks at what the message says, which also catches spam a person typed.

Will real people ever be stopped?

Rarely. A person would have to send a whole form in under 3 seconds, or more than 5 in 10 minutes from one address. The hidden field is marked so that browsers don't fill it in on their own.

My form is on a cached page. Does it still work?

Yes, with one check fewer. A cached page carries the time it was cached, so the 3-second check can only catch bots on pages that aren't cached. The hidden field and the limit on repeats work either way, and an old token is never held against a real visitor.