954-539-5678Free audit
Menu

Hosting & support · Forms

Stop contact form spam without blocking real customers

One tool rarely stops all form spam. A few light layers do, as long as you test that genuine inquiries still arrive.

Four layers, from lightest to strongest

WordPress and Contact Form 7 specifics

How to avoid blocking real leads

Talk to us

Tell us what you need and we’ll get back to you. Or book a free 30-minute call. Or call 954-539-5678.

The short answer

To stop contact form spam, layer a few defenses: add a hidden honeypot field to catch simple bots, add an invisible challenge such as Cloudflare Turnstile or Google reCAPTCHA v3 to catch smarter ones, run submissions through a content filter like Akismet to catch human-typed spam, and add server or firewall rules for repeat offenders. Check every token on the server, not just in the browser. Then test regularly that real inquiries still reach your inbox, because over-aggressive spam settings cost you leads silently.

Why your form gets spam

Bots crawl the web looking for forms. Some post links to improve their own search rankings, some test stolen card numbers or email addresses, and some push phishing links or sales pitches. Some “spam” is typed by people paid to fill forms by hand, which is why a single bot check never catches everything. Knowing which kind you get helps you pick the right layer. Look at a week of submissions before choosing a fix.

  • Gibberish, foreign-language or link-stuffed messages: bots. Honeypots and challenges help most.
  • Readable sales pitches for SEO, web design or loans: often humans. Content filtering and keyword rules help most.
  • Bursts of hundreds in an hour: automated attacks. Rate limits and firewall rules help most.

Layer 1: Honeypot field

A honeypot is a form field hidden from people but visible to bots in the page code. Humans leave it empty. Many bots fill every field, so anything with that field filled is rejected. It costs visitors nothing and blocks a surprising share of basic spam.

Tips: hide the field with CSS rather than making it a hidden input type, give it a plausible name, and exclude it from screen readers with an appropriate attribute so it does not confuse visitors using assistive technology. Many form plugins include a honeypot option. For Contact Form 7, it is available through an add-on plugin.

Layer 2: An invisible challenge

These services check whether a visitor behaves like a human without making them pick out traffic lights.

Cloudflare Turnstile

Cloudflare’s documentation describes managed, non-interactive and invisible widget types. It runs checks in the background and only occasionally shows a checkbox. Your server must validate each token through Cloudflare’s Siteverify API.

Google reCAPTCHA v3

Returns a score from 0.0 (likely bot) to 1.0 (likely human) for each request. Google’s documentation suggests starting with a threshold of 0.5, then adjusting based on your own traffic. As of 2026, Google’s billing page lists a free tier of up to 10,000 assessments per calendar month per organization.

Two rules apply to both. First, verify the token on your server. A check that only runs in the browser is easy for bots to skip. Second, decide what happens to borderline scores: rather than rejecting them outright, flag them for review so a real customer is not lost.

Layer 3: Content filtering

Human spammers pass bot checks, so filter on what the message says.

  • Akismet compares submissions against patterns from a very large network of sites. Contact Form 7 supports Akismet, set up by adding Akismet options to your form fields, and also offers reCAPTCHA and Cloudflare Turnstile integrations.
  • Keyword and link rules. Block or flag messages containing multiple links, or phrases common in your spam such as specific sales pitches. Many form plugins and security tools let you set rules like these.
  • Field validation. OWASP’s input validation guidance recommends checking that each field contains what it should: a phone number field with letters in it, or a name field with a web address, is a strong spam signal.

Layer 4: Server and firewall rules

  • Rate limiting. Limit how many submissions one IP address can send in a few minutes.
  • Web application firewall. A firewall at the host or a service like Cloudflare can block known bad traffic before it reaches your form.
  • Country rules, carefully. If you only serve the U.S., you can challenge traffic from elsewhere. Challenge rather than block, since real customers travel and use VPNs.
  • Time checks. Reject forms submitted within a second or two of the page loading. People do not type that fast.

Spam burying your real inquiries? Book a free 30-minute call. We look at what you have now and tell you what we’d change first. No obligation.

WordPress and Contact Form 7 specifics

  1. Keep WordPress, your form plugin and other plugins updated. Old form plugins can be abused to send spam through your server.
  2. In Contact Form 7, connect Akismet and add the Akismet options to your name, email and message fields.
  3. Add a challenge under the plugin’s integration settings, and confirm your site and secret keys are correct.
  4. Add a honeypot add-on.
  5. Store submissions in the database, not just email, so nothing is lost if email delivery fails or a filter misfires.
  6. Send form email through an authenticated mail service rather than the web server, so your own notifications do not land in spam.

Do not lose real leads

The goal is fewer junk messages, not zero messages. After any change:

  • Submit a test inquiry from a phone and a desktop, on and off your office network.
  • Check the spam or flagged queue weekly for real customers.
  • Watch your lead count for a few weeks. A sudden drop after a spam fix means a setting is too strict.
  • Avoid visible puzzles unless spam is overwhelming; they add friction and can be hard for visitors with disabilities.

If your form gets little spam but also few leads, the issue is likely elsewhere. Our guide to conversion rate optimization covers what to check.

A sensible order of operations

Do not add every layer at once. Start light and add only what your spam requires:

  1. Week one: add a honeypot and confirm submissions are stored in the database. Measure how much spam still gets through.
  2. If bots persist: add Turnstile or reCAPTCHA v3, verified on the server.
  3. If readable sales pitches persist: add Akismet or keyword rules, flagging rather than deleting.
  4. If you see floods: add rate limits and firewall rules at the host.

This keeps the form as easy as possible for real customers while still dealing with the spam you actually get.

Keep a short log of what you changed and when. If leads drop or spam returns, the log shows which setting to look at first, and whoever maintains the site next will understand why each layer is there.

How JLB USA can help

Our website hosting and support includes constant automated monitoring and malware cleanup, and we keep WordPress and plugins updated. When we build a new website, forms are set up with spam protection, stored entries and lead tracking from launch.

Keep reading

Book it now · Free

Book a free 30-minute call

Pick a time. We look at what you have now with you and tell you what we would change first. No obligation.

Prefer to talk now? Call 954-539-5678, or send the form and we’ll contact you.

Questions we hear

What is the most effective way to stop contact form spam?

Layering works better than any single tool: a honeypot, an invisible challenge like Turnstile or reCAPTCHA v3 verified on the server, content filtering such as Akismet, and rate limits.

Is Cloudflare Turnstile better than reCAPTCHA?

Both work. Turnstile focuses on invisible checks with an occasional checkbox. reCAPTCHA v3 returns a score you set a threshold for. Choose based on your platform and plugin support.

How do I stop spam in Contact Form 7?

Connect Akismet, add a reCAPTCHA or Turnstile integration, use a honeypot add-on, add keyword rules for common spam phrases, and store entries in the database.

Why do I still get spam with reCAPTCHA?

Some spam is typed by people, who pass bot checks, and checks that are not verified on the server can be bypassed. Add content filtering and confirm server-side verification.

Can spam protection block real customers?

Yes, if settings are too strict. Flag borderline submissions instead of rejecting them, check flagged entries weekly and test the form after every change.

Related services

Want a second opinion on your website or marketing?

Pick a time for my free callCall 954-539-5678