Chazie Baniquid
Technical Content Marketer
12 minutes to read
Common Cloudflare Turnstile Errors in WordPress Forms (And How to Fix Them)

Cloudflare Turnstile is a user-friendly, privacy-first CAPTCHA alternative that’s becoming popular with WordPress users. But it can run into issues, especially with form plugins. This guide covers common Turnstile errors in WordPress forms and how to fix them fast.
Why Cloudflare Turnstile errors happen in WordPress
Turnstile issues usually come down to misconfigurations, plugin conflicts, browser-related problems, or expired credentials. WordPress adds complexity due to its wide variety of themes, plugins, and caching systems, all of which can interfere with how Turnstile renders or validates.
We’ve seen several recurring errors across forums, especially from form users. Let’s go over them one by one.
1. “Cloudflare Turnstile verification failed, please try again later.”

This is one of the most common Turnstile error messages in WordPress. It often appears after submitting a form.
Cause:
This usually happens when the Site Key or Secret Key entered is incorrect. Another common reason is interference from caching plugins like Breeze or WP Rocket, which may prevent Turnstile from loading properly. Sometimes, the issue stems from browser cache or extensions that block necessary scripts.
How to Fix:

- Double-check your Site Key and Secret Key in the Turnstile plugin settings.
- Disable caching plugins temporarily, or exclude the form page from cache.
- Clear both your browser and site cache.
- Try submitting the form in an Incognito window to rule out browser issues.
2. Turnstile Widget Not Displaying on Form

Sometimes, the Turnstile CAPTCHA box doesn’t appear at all.
Cause:
The Turnstile widget won’t appear if JavaScript is disabled in the browser. Conflicts between your theme or other plugins may prevent it from rendering. In some cases, minified or combined scripts break the Turnstile widget’s ability to load correctly.
How to Fix:
- Confirm that JavaScript is enabled in your browser.
- Temporarily disable ad blockers or privacy extensions.
- Check for JavaScript errors using browser DevTools console.
- Exclude Turnstile scripts from minification in caching/CDN plugins.
3. Form Submission Blocked Even After Passing Turnstile
A particularly frustrating issue is when users solve the Turnstile challenge, but the form doesn’t submit.
Affected Plugins:
This issue can happen with any WordPress form builder, but we’ve seen the most reports from users of:
Cause:
AJAX-based form submissions sometimes bypass the Turnstile verification token. File upload fields in forms, especially in Forminator, can also interfere with how the plugin processes verification. Some plugins may also skip server-side token validation entirely.
How to Fix:
- Temporarily remove file upload fields for testing
- Ensure your form plugin version is updated
- Check whether the plugin supports Turnstile officially, or use the Simple Cloudflare Turnstile plugin to manage validation
- Manually add token verification if using a custom form
4. “Invalid sitekey” or “Invalid domain” Errors

These errors are typically due to incorrect settings in your Cloudflare dashboard.
Error Codes:
110100: Invalid sitekey110200: Unknown domain
How to Fix:
-
Visit your Cloudflare Turnstile dashboard and verify:
- The correct sitekey is being used
- Your domain is listed under Allowed Domains
5. “Invalid action” or “Invalid cData”
These are client-side errors, commonly triggered by incorrectly formatted inputs.
Error Codes:
110420: Invalid action110430: Invalid cData
How to Fix:
- Make sure the action and any
cDataparameters in your widget script follow the required format - Use alphanumeric characters and avoid special symbols
- Follow Turnstile’s documentation for proper configuration
6. Turnstile Challenge Timeout

Error Codes:
110600,110620
Cause:
These errors occur when a user takes too long to solve the challenge or if their device’s system clock is out of sync. An outdated widget or time discrepancy can cause the verification to expire.
How to Fix:
- Ask the user to refresh the page and retry
- Ensure the system clock is synced correctly
7. Cloudflare Turnstile error code 106010

Error Codes:
106010
Cloudflare groups Turnstile errors into families. The 106* family is documented as invalid parameters. That aligns with how 106010 tends to appear in real implementations, especially when something about the request environment or parameters is not accepted.
Common WordPress level causes to check
- Content Security Policy blocks Turnstile resources
- A privacy or script blocking extension interferes with required data or cookies
- Aggressive caching or script optimization changes request behavior on first load
- VPNs, proxies, or network security tooling interferes
How to fix
- Test in Incognito mode and a second browser to rule out extensions.
- Temporarily disable performance features that delay or rewrite scripts, then retest.
- Check DevTools Network and Console for blocked requests or 4xx errors on Turnstile resources.
- Review CSP rules and allow Cloudflare Turnstile endpoints if you enforce CSP.
8. “Turnstile token missing”

Common query:
turnstile token missing
Turnstile automatically injects a hidden input named cf-turnstile-responseinside a form. That input carries the token that your server should validate. If that field is missing, empty, or not included in the request, Siteverify can return errors like missing-input-response.
Most likely causes
- The widget never rendered, so no token was created
- The form submits via AJAX but does not include the token
- The request reaches the server, but the integration does not read
cf-turnstile-responsecorrectly - Caching or optimization breaks the widget lifecycle, so the token is not refreshed
- The token is expired or already redeemed, then validation fails
How to fix
- Confirm the widget renders on the page and the hidden
cf-turnstile-responsefield exists. - If the form uses AJAX, confirm the token is included in the AJAX payload.
- Make sure your integration validates the token via Siteverify, and that the server sends both the token and the secret.
- Reduce caching or exclude the form page. Also exclude Turnstile scripts from delay and minify.
- If the form stays on the same page after submission, ensure the Turnstile widget resets and generates a fresh token before another submit.
Related server side error codes
Cloudflare documents these Siteverify response errors, which map directly to real WordPress issues:
missing-input-secretinvalid-input-secretmissing-input-responseinvalid-input-responsebad-request
This error occurs when a form submission reaches the server without a Turnstile response token attached.
9. Client-Side Execution Errors (300010, 300030, 300031)

Error Codes:
300010,300030,300031
Cloudflare documents 300* as client side execution related errors. In practice, these often show up when the widget cannot complete its front end flow reliably.
How to fix
- Disable minify, combine, delay, and defer settings for Turnstile scripts.
- Check for console errors and blocked resources.
- Test without browser extensions and without a VPN or proxy.
- Check for CSP rules blocking
challenges.cloudflare.com
Retrying may work temporarily, but persistent errors point to browser or script-loading issues.
10. Challenge Execution Failure (600010)

Error Codes:
600010
Cloudflare documents 600* as challenge execution failures. In the Cloudflare community, 600010 is often discussed as a configuration or environment issue that can be influenced by browser state and blockers.
How to fix
- Confirm your site key and secret key are correct and belong to the same widget setup.
- Clear browser cache and cookies, then retry.
- Disable extensions, especially privacy and script blockers.
- If it occurs only on certain networks, test without VPN or filtering.
This error is expected behavior when Turnstile detects abnormal execution conditions.
Technical Turnstile Error Codes and What They Mean
These errors may show up in logs or browser dev tools:
| Error Code | Category | Meaning | Retry | Fix |
|---|---|---|---|---|
| 100xxx | Initialization | Widget failed to start | No | Refresh page, check scripts |
| 105xxx | API | Deprecated API usage | No | Update plugin or integration |
| 106010 | API | Unsupported integration | No | Update or replace plugin |
| 110100 | Config | Invalid sitekey | No | Verify site key |
| 110200 | Config | Unknown domain | No | Add domain to allowed list |
| 110420 | Client | Invalid action | No | Fix widget parameters |
| 110430 | Client | Invalid cData | No | Use valid alphanumeric data |
| 110600 / 110620 | Token | Timeout or expired | Yes | Refresh and retry |
| 300xxx | Client | Execution error | Yes | Check browser and JS |
| 600010 | Challenge | Execution failure | Yes | Retry, update browser |
Use OOPSpam for Advanced Spam Filtering
Turnstile helps reduce automated form abuse, but it is not the whole solution. Some spam still gets through, and some attacks focus on content quality rather than pure automation.
OOPSpam WordPress plugin (that’s us 👋) adds a second layer that helps catch nuisance submissions, patterns, and language based abuse, without adding more friction for real users.

Benefits of using OOPSpam:
- Works silently in the background (no CAPTCHA)
- Compatible with major form plugins
- Detects patterns and language abuse, not just bots
- Country blocking to stop spam from specific regions
- No impact on performance or user experience
Turnstile alternative solutions like OOPSpam gives you layered protection without overburdening your users.
Final Thoughts
Most Cloudflare Turnstile issues in WordPress come down to configuration, script loading, or token handling. Once keys are verified, caching is controlled, and server-side validation is confirmed, most errors resolve quickly.
For stronger protection and fewer false positives, combining Turnstile with background spam filtering provides a more reliable approach without hurting user experience. Whether you’re already using Turnstile or just exploring spam protection options, it’s a great time to get started with OOPSpam for advanced, frictionless form security.
Stay secure and spam-free!