Xtreme TurnstileTroubleshooting
Troubleshooting Turnstile
Widget Not Appearing
Symptoms: The Turnstile challenge does not render on your form.
Fixes:
- Confirm the Site Key is entered correctly in Settings > Xtreme Turnstile. A single trailing space will break it.
- Verify your domain is listed in the Cloudflare Turnstile widget configuration. The domain must match exactly —
www.example.comandexample.comare treated as separate domains. - Check for JavaScript errors in the browser console (F12 > Console). A conflicting script can prevent Turnstile from loading.
- If you use a page caching plugin, clear the cache after enabling Turnstile.
"Verification Failed" After Submission
Symptoms: The form submits but returns an error saying the Turnstile challenge was not passed.
Fixes:
- Double-check the Secret Key. The Secret Key (used server-side) is different from the Site Key (used client-side). Make sure you have not swapped them.
- Ensure your server can make outbound HTTPS requests to
https://challenges.cloudflare.com/turnstile/v0/siteverify. Some hosting providers block outbound requests by default. - If you are behind a reverse proxy or CDN, confirm that the visitor's real IP address is forwarded. Turnstile validates the IP as part of the challenge.
Turnstile Blocks Legitimate Users
Symptoms: Real visitors report they cannot submit the form.
Fixes:
- Switch the widget mode from Managed to Non-interactive in the Cloudflare dashboard. This reduces the chance of a visible challenge being shown.
- Enable Exclude Logged-In Users in the plugin settings so authenticated visitors are never challenged.
- Check if a firewall or ad blocker on the visitor's browser is blocking the Cloudflare script. Ask them to temporarily disable their ad blocker and retry.
Conflicts with Caching Plugins
Symptoms: The Turnstile widget works on the first page load but fails on subsequent visits, or it works for some visitors but not others.
Fixes:
- Exclude the form page from full-page caching. In most caching plugins, you can add the page URL to an exclusion list.
- If you use a CDN that caches HTML (e.g., Cloudflare APO or page rules), ensure the form page is set to Bypass Cache.
- Alternatively, configure Turnstile to load via JavaScript after the page loads (the default behavior), which avoids issues with cached HTML.
Still Stuck?
Collect the following information and contact support:
- WordPress version
- PHP version
- Active theme name
- Turnstile widget mode (Managed, Non-interactive, or Invisible)
- Browser console output (screenshot or copy-paste)