TrustComponent
Contact Form 7
TrustCaptcha · Bot protection

Contact Form 7 CAPTCHA

Contact Form 7 emails you every submission, so one bot that finds your form can fill your inbox. The TrustCaptcha WordPress plugin adds a CAPTCHA to your Contact Form 7 forms and checks every submission on your server before the email goes out. Your visitors solve no puzzle.

Quickstart

How the integration works

1. Create a CAPTCHA

Create a user account or log in with an existing one. Then create a new CAPTCHA or pick an existing one. If you want to try TrustCaptcha first, every plan comes with a 14-day free trial.

The CAPTCHA overview page shows your site key and license key, and you create your API key there. Add your website’s domain to the authorized domains in the CAPTCHA security rules. If the domain is missing, TrustCaptcha will not show up in your forms.

Start of the CAPTCHA creation form.
CAPTCHA security rules of a demo CAPTCHA.

2. Integrate the CAPTCHA Plugin

In your WordPress admin, go to Plugins → Add New Plugin, search for TrustCaptcha and install it from the WordPress plugin directory (recommended), or download the plugin and upload it manually. Then activate it. Contact Form 7 has to be installed and active as well, otherwise TrustCaptcha does not offer it in its settings.

Every setting is explained in detail in the CAPTCHA integration guide for WordPress in our documentation.

Read the documentation

3. Configure the TrustCaptcha Plugin

Open Settings → TrustCaptcha. On the General tab, enter your site key and your API key (older versions of the plugin call it the secret key). You only need the license key for extras such as white label or a custom design.

Leave the threshold at the recommended 0.5 to start. It is the cut-off for the bot score (included from the Solo plan), which runs from 0 (probably a human) to 1 (probably a bot): a lower threshold blocks more, a higher one blocks less. The Test connection button checks that your server can reach the TrustCaptcha API.

Switch to the Plugins tab, tick the box under Contact Form 7 and save. You don’t have to change your forms: TrustCaptcha places itself above the submit button of every Contact Form 7 form on your site.

General tab of the TrustCaptcha plugin settings with site key, secret key (called API key in current versions), license key and threshold.
Plugins tab of the TrustCaptcha settings, where you tick the WordPress features and form plugins to protect.

4. Test your integration

Open a page with a Contact Form 7 form, fill it in and send it. The CAPTCHA finishes on its own, and the message should arrive as usual. If a submission fails the check, Contact Form 7 treats it as spam: it sends no email and shows the visitor an error message.

TrustCaptcha widget after a successful check

What Contact Form 7 spam looks like

A form that turns every submission into an email is an easy target. Once a bot has found yours, the messages follow a pattern: offers for SEO and backlinks, links to casino, crypto or phishing sites, text in languages none of your customers write in, and names made of random letters. Most of it comes from scripts that post straight to the form, often from changing IP addresses, so blocking one address does little.

There is a second risk. If your form sends a confirmation to the address the visitor entered (Contact Form 7 calls this Mail (2)), a bot can type a stranger’s address and make your site send mail to them. Let that run for a while and your domain’s sender reputation suffers.

Keyword lists and Akismet catch part of this after the fact. A CAPTCHA works earlier: a submission that fails the check never turns into an email.

How TrustCaptcha protects Contact Form 7 forms

Contact Form 7 support is part of our WordPress CAPTCHA plugin, so one setup gives your whole site the same form spam protection.

When a visitor opens a page with your form, the TrustCaptcha widget starts on its own. The browser solves a small proof-of-work task in the background, and the riskier a request looks, the harder that task gets. That makes sending spam in bulk slow and expensive. From the Solo plan, TrustCaptcha also calculates a bot score from technical and behavioral signals: 0 means probably a human, 1 probably a bot.

When the visitor clicks send, the plugin validates the result on your WordPress server, inside Contact Form 7’s own spam check. If the check passes, the message goes out as usual. If the bot score is above your threshold or the token is missing, Contact Form 7 marks the submission as spam, sends no email and shows an error message. The plugin writes the reason to Contact Form 7’s spam log. The widget then resets, so a real person who mistyped an email address can correct it and send again without reloading the page.

Because TrustCaptcha plugs into Contact Form 7’s spam check, other anti-spam filters that use the same check, such as Akismet, keep working. Since version 3.0 the plugin ships the widget script itself, so your pages load no script from an outside CDN.

Replace reCAPTCHA or Really Simple CAPTCHA in Contact Form 7

On Contact Form 7 sites that already have a CAPTCHA, it is usually one of two: Google reCAPTCHA through Contact Form 7’s built-in integration, or Really Simple CAPTCHA, the image CAPTCHA plugin from the author of Contact Form 7. Both can go once TrustCaptcha runs. Set up TrustCaptcha first, send a test message, and only then remove the old CAPTCHA, so your form is never left without protection.

Moving from reCAPTCHA

Contact Form 7 connects to reCAPTCHA v3 under Contact → Integration. reCAPTCHA v3 shows no puzzle either, so for visitors the switch changes little.

If you want a Contact Form 7 CAPTCHA without reCAPTCHA, remove the reCAPTCHA keys under Contact → Integration once TrustCaptcha is live. Contact Form 7 then stops loading Google’s script.

Moving from Really Simple CAPTCHA

Really Simple CAPTCHA draws a few distorted characters on your server, and the visitor types them into a field. It needs no outside service, which is why it is still around. The cost lands on your visitors: they have to read and type before they can contact you, and text images like these are what OCR tools and CAPTCHA solving services have been reading for years.

To switch, open each form in the Contact Form 7 editor, delete the [captchac] and [captchar] tags and save. Once no form uses them any more, deactivate Really Simple CAPTCHA.

FAQs

How do I stop Contact Form 7 spam?
Put a check in front of the email. With TrustCaptcha turned on for Contact Form 7, the plugin validates every submission on your server before Contact Form 7 sends it. Submissions that fail are marked as spam and never reach your inbox. Akismet or a keyword filter can stay as a second layer for spam that people type by hand.
Can TrustCaptcha replace the Contact Form 7 reCAPTCHA integration?
Yes. TrustCaptcha takes over the spam check, and your pages stop loading Google's script. Keep the reCAPTCHA keys until TrustCaptcha is live, then delete them under Contact → Integration.
Do I have to add a form tag to my Contact Form 7 forms?
No. TrustCaptcha places itself above the submit button of every Contact Form 7 form. If it doesn't show up, check that the form uses Contact Form 7's standard [submit] tag and that your domain is authorized in the TrustCaptcha security rules.
Can I keep a honeypot CAPTCHA next to TrustCaptcha?
Yes. A hidden honeypot field catches simple scripts that fill in every field and costs your visitors nothing, so it can stay as an extra filter. Bots that load the page in a real browser leave the field empty, which is why TrustCaptcha checks every submission as well.
Spam getting through Contact Form 7?

TrustCaptcha stops form spam without puzzles or cookies.

CAPTCHA start
TrustCaptcha widget after a successful check
No puzzle for your visitors
The check runs in the background while people type their message. That way they can send it right away.
Proof-of-work on every plan
Each visitor's browser solves a small proof-of-work task that gets harder the riskier the request looks. From the Solo plan, a bot score is added on top.
No cookies, EU data centers
TrustCaptcha sets no cookies and processes data in EU data centers. Every customer gets a Data Processing Agreement.
One plugin for the whole site
The same plugin protects the WordPress login, comments, WooCommerce and other form plugins such as Elementor Forms and WPForms.

Protect your Contact Form 7 application with TrustCaptcha in just a few steps!

  • EU-hosted & GDPR-compliant
  • No puzzles
  • Try free for 14 days