First-Time Setup
This is the longer, manual version of the setup. If you prefer the auto-guided experience, run the Onboarding Wizard instead.
Time required
About 10 minutes if you already have Cloudflare keys. Add 3 minutes to get them.
Step 0 — Get Your Keys
If you have not yet created a Cloudflare account and a Turnstile widget, do that first. Full walkthrough: Get Turnstile Keys.
By the end you should have two strings:
- Site Key — starts with
0x4AAA..., safe to share, goes on your frontend - Secret Key — starts with
0x4AAA..., never share, goes on your server only
Step 1 — Paste Keys on the API Tab
- Go to WooCommerce → Turnstile Settings
- Click the API Settings tab (selected by default)
- Paste the Site Key
- Paste the Secret Key (use the show/hide eye icon to double-check)
- Click Save Changes
- Click Test Connection — you should see "API keys are valid"
If the test fails, see Troubleshooting.
Full tab reference: API Settings.
Step 2 — Enable Forms
Native WooCommerce Forms
Click the WooCommerce tab
Tick the forms you want to protect. Recommended minimum:
- [x] Login
- [x] Registration
- [x] Lost Password
- [x] Checkout (enables both classic and Blocks checkout)
- [x] Pay for Order
Optional — Pick a checkout widget position (before pay button / after / before submit / near billing)
Optional — Tick Logged-in only or Guest only for the checkout widget
Click Save Changes
Native WordPress Forms
Click the WordPress tab
Tick as needed:
- [ ] WP Login (recommended for every site)
- [ ] WP Registration (recommended if you allow registration)
- [ ] WP Lost Password
- [ ] WP Comments (if you allow comments)
Click Save Changes
Third-Party Form Plugins
Click the WooCommerce Forms tab (this tab covers every non-core form plugin, despite the name)
Each form plugin shows a status badge:
- Active — Ready to toggle on
- Installed — Click "Activate" first
- Not installed — Click "Install" first
Tick the plugins you want Turnstile on (CF7, WPForms, Gravity, Elementor, Formidable, Forminator, bbPress, BuddyPress, EDD)
Click Save Changes
Full form reference: Supported Forms.
Step 3 — Pick a Theme and Load Mode
- Click the General tab
- Set Theme —
light,dark, orauto(auto follows the visitor's system preference) - Set Load Mode —
instant(load widget with page) orlazy(load when visitor interacts — lighter page, slight delay) - Set Lazy Delay in ms if using lazy (default 2000)
- Optional — Tick Disable submit button until CAPTCHA is completed
- Click Save Changes
Full tab reference: General Settings.
Step 4 — Customize the Look (Optional)
If you want the widget to match your theme's colors and spacing:
- Click the Design Studio tab
- You get a live preview widget on the right
- Adjust on the left:
- Size (normal / compact / flexible)
- Wrapper alignment (left / center / right)
- Background color, border color, border width, border radius
- Shadow preset (none / subtle / medium / strong)
- Optional label text above the widget
- Optional helper text below the widget
- Click Save Changes — settings apply everywhere instantly
Full tab reference: Design Studio.
Step 5 — Set Conditional Rules (Optional)
If you want to skip CAPTCHA for yourself or specific visitors:
- Click the Conditional Rules tab
- Common picks:
- [x] Skip for logged-in users — Real customers never see CAPTCHA
- [ ] Skip for known customers — Only users with a completed order skip
- IP Whitelist — Paste your office IP or CIDR range (one per line)
- After N failures — Set to 3 to challenge only after 3 failed attempts
- Click Save Changes
Full tab reference: Conditional Rules.
Step 6 — Set Rate-Limit + Recovery (Optional)
Still on the Conditional Rules tab:
- Scroll to Abuse Protection
- Max retries — Failed attempts before lockout (default 10)
- Lockout time (minutes) — How long the IP stays blocked (default 5)
- Blocked usernames — Comma or newline list of usernames to always block on login
- Recovery token — Paste a secret string (or leave blank to auto-generate) — this becomes part of your Recovery URL
- Click Save Changes
Full tab reference: Rate Limiting · Recovery URL.
Step 7 — Turn On Notifications (Optional)
- Click the Notifications tab
Email Digest
- Enabled — Tick
- Frequency — Daily / Weekly / Monthly
- Recipient email — Where the digest goes
- Click Send test digest to verify delivery
Webhooks
- Enabled — Tick
- Webhook URL — Any
https://endpoint (or Slack webhook URL) - Threshold per hour — Min blocks/hour that fire an alert (default 50)
- Throttle (minutes) — Min minutes between alerts (default 30)
- Click Send test webhook to verify
Full tab reference: Notifications.
Step 8 — Test Every Enabled Form
Open each enabled form in an incognito window.
| Form | What to check |
|---|---|
| WC Login | Widget appears below fields, submit works with widget |
| WC Register | Same — widget + successful submit |
| WC Checkout (classic) | Widget in your chosen position, order placement works |
| WC Checkout (Blocks) | Widget appears in the Blocks checkout, payment works |
| WC Lost Password | Widget on reset-request page |
| WP Login | Widget below password field |
| WP Register | Widget below email field |
| CF7 / WPForms / Gravity | Widget shown on any form from that plugin |
If a widget is missing: clear your caching plugin, then hard-refresh the page (Ctrl+Shift+R / Cmd+Shift+R).
Step 9 — Open Analytics
After a few test submits, open WooCommerce → Webkul Addons → Analytics.
You should see:
- A handful of "pass" events for your tests
- KPI cards updating
- Trend chart showing today's point
Keep the plugin running for 24 hours on a live site. Bot hits will start showing up.
Full page reference: Analytics.
What to Tune After a Week
After a week of data, revisit these:
| Area | Why |
|---|---|
| Rate-limit threshold | If good users get locked out, raise from 10 to 20 |
| IP whitelist | Add any trusted partner IPs you see in "blocked IPs" by mistake |
| Warn-only mode | Turn OFF (on the General tab) if you left it on for staging |
| Analytics date range | Switch from 7 days to 30 once you have data |
| Webhook threshold | Tune to your normal traffic volume |
Related Pages
- Quick Start — 5-minute version
- Onboarding Wizard — Guided version
- Settings Overview — Tour of all 9 tabs
- Troubleshooting — Fixes for common issues
