Turnstile CAPTCHA For WooCommerceTurnstile CAPTCHA For WooCommerce
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Get Turnstile Keys
    • Onboarding Wizard
  • Settings

    • Settings Overview
    • API Settings
    • General
    • Design Studio
    • Conditional Rules
    • Per-Form Config
    • Notifications
  • Supported Forms

    • All Supported Forms
    • WooCommerce Forms
    • WordPress Forms
    • Third-Party Form Plugins
    • Checkout Blocks
    • Shortcode
  • Protection & Monitoring

    • Analytics Dashboard
    • Rate Limiting
    • Recovery URL
    • Email Digest
    • Webhooks
  • Developer

    • REST API
    • Filters & Hooks
    • Site Health
  • Compare

    • vs reCAPTCHA
    • vs hCaptcha
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Get Turnstile Keys
    • Onboarding Wizard
  • Settings

    • Settings Overview
    • API Settings
    • General
    • Design Studio
    • Conditional Rules
    • Per-Form Config
    • Notifications
  • Supported Forms

    • All Supported Forms
    • WooCommerce Forms
    • WordPress Forms
    • Third-Party Form Plugins
    • Checkout Blocks
    • Shortcode
  • Protection & Monitoring

    • Analytics Dashboard
    • Rate Limiting
    • Recovery URL
    • Email Digest
    • Webhooks
  • Developer

    • REST API
    • Filters & Hooks
    • Site Health
  • Compare

    • vs reCAPTCHA
    • vs hCaptcha
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
  • Getting Started

    • Introduction
    • Quick Start — Turnstile Live in 5 Minutes
    • Features — Everything the Plugin Can Do
    • Installation — Full Setup Guide
    • First-Time Setup
    • Get Turnstile Keys from Cloudflare
    • Onboarding Wizard
  • Settings

    • Settings Overview — All 9 Tabs
    • API Settings Tab
    • General Settings Tab
    • Design Studio Tab
    • Conditional Rules Tab
    • Per-Form Config Tab
    • Notifications Tab
  • Supported Forms

    • All Supported Forms
    • WooCommerce Forms
    • WordPress Forms
    • Third-Party Form Plugins
    • Checkout Blocks Integration
    • Shortcode — Drop the Widget Anywhere
  • Protection & Monitoring

    • Analytics Dashboard
    • Rate Limiting — Auto-Lockout for Abusive IPs
    • Recovery URL — Unlock a Stuck IP
    • Email Digest
    • Webhooks — Real-Time Alerts on Bot Spikes
  • Developer

    • REST API
    • Filters & Hooks
    • Site Health Integration
  • Compare

    • Turnstile vs Google reCAPTCHA
    • Turnstile vs hCaptcha
  • Help

    • Troubleshooting
    • Frequently Asked Questions
    • Glossary

Install the Plugin

At a Glance

  • Time: About 2 minutes plus key retrieval
  • What you do: Check system, upload ZIP, activate, run onboarding wizard
  • Up next: Get Turnstile Keys · First-Time Setup

Pre-flight Checklist

  • [ ] PHP 7.4 or higher (run php -v)
  • [ ] WordPress 5.8 or higher
  • [ ] WooCommerce 8.0 or higher, installed and active
  • [ ] MySQL 5.7+ or MariaDB 10.3+
  • [ ] You have admin login
  • [ ] curl enabled on the server (needed to hit the Cloudflare verify API)

System Requirements

RequirementMinimumTested Up To
PHP7.48.3
WordPress5.86.9
WooCommerce8.09.6
MySQL5.78.4

Recommended

ItemWhy
PHP 8.1+Better performance, modern syntax support
256MB memory limitEnough headroom for admin analytics charts
WP-Cron workingRequired for email digest + webhooks
Outbound HTTPSServer must reach challenges.cloudflare.com

Server must reach Cloudflare

The plugin makes a server-to-server HTTPS call to https://challenges.cloudflare.com/turnstile/v0/siteverify on every form submit. If your host blocks outbound HTTPS, Turnstile cannot verify tokens.

How to Install the Plugin

Three install methods. Pick what matches your style.

Option 1 — Upload the ZIP (Easiest)

  1. Download turnstile-captcha-for-woocommerce.zip from your Webkul account or CodeCanyon
  2. In WordPress, go to Plugins → Add New and click Upload Plugin
  3. Click Choose File, pick the ZIP, click Install Now
  4. Wait for "Plugin installed successfully" and click Activate Plugin

Option 2 — FTP or SFTP

Use this if your host limits file upload size.

  1. Unzip turnstile-captcha-for-woocommerce.zip on your computer
  2. Open your FTP/SFTP client (FileZilla, Cyberduck) and connect to your server
  3. On the remote side, go to /wp-content/plugins/
  4. Drag the unzipped turnstile-captcha-for-woocommerce folder and drop it in
  5. In WordPress, go to Plugins → Installed Plugins
  6. Find Turnstile CAPTCHA For WooCommerce and click Activate

Option 3 — WP-CLI (For Developers)

wp plugin install /path/to/turnstile-captcha-for-woocommerce.zip --activate

What Happens After You Activate

Four things happen automatically.

1. A New Admin Menu Appears

You get two entry points:

  • WooCommerce → Turnstile Settings — The 9-tab settings page (slug: wkcft-settings)
  • WooCommerce → Webkul Addons → Analytics — The analytics dashboard (slug: wkcft-analytics)

2. Database Table Is Created

A single log table is added.

TableWhat It Stores
wp_wkcft_logPass/fail result, form slug, IP, hashed UA, timestamp

No PII is stored. IPs are kept in their raw form for rate-limiting but hashed for analytics aggregates.

3. Onboarding Wizard Launches

A 3-step guided setup opens automatically at ?page=wkcft-onboarding:

  • Step 1 — Paste your Site Key + Secret Key
  • Step 2 — Pick which forms to protect
  • Step 3 — Review and finish

If you close it mid-way, a persistent banner in the admin takes you back until you finish or dismiss.

4. Compatibility Declared

The plugin declares compatibility with:

  • HPOS (High-Performance Order Storage / custom order tables)
  • Cart/Checkout Blocks (modern WooCommerce checkout)

You do not need to do anything — WooCommerce reads this and stops showing the "plugin not yet compatible" notices.

Verify the Install

Open WooCommerce → Turnstile Settings. You should see:

  • The tabbed settings page with 9 tabs across the top
  • A header banner prompting you to enter API keys (if the wizard was skipped)
  • The API Settings tab selected by default
  • No PHP errors, no blank page

Open WooCommerce → Webkul Addons → Analytics. You should see:

  • "No data yet" message (expected — no form submits have run)
  • Empty charts
  • Date range selector

If both pages load cleanly, the plugin is installed correctly.

How to Uninstall or Reset

  • Deactivate — Keeps all your data. Options and logs stay in place
  • Delete (Plugins screen) — Removes the files but keeps options in case of reinstall
  • Full wipe — Delete the plugin, then run these SQL statements:
DROP TABLE IF EXISTS wp_wkcft_log;
DELETE FROM wp_options WHERE option_name LIKE 'wkcft_%';
DELETE FROM wp_options WHERE option_name LIKE '_transient_wkcft_%';
DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_wkcft_%';

SQL wipe is final

Only run the SQL statements if you intend to permanently remove every trace of the plugin. There is no undo.

Troubleshooting

ProblemFix
"Plugin could not be activated — fatal error"PHP version too old. Upgrade to 7.4+
"WooCommerce is not active"Install and activate WooCommerce first
Menu does not appearClear browser cache. Confirm you have manage_woocommerce capability
Onboarding wizard does not launchGo directly to wp-admin/admin.php?page=wkcft-onboarding&step=1
"Requires Plugins" warning on activationWP 6.5+ enforces the WooCommerce dependency — install WC first
Analytics page blankNo data yet. Run a test form submission

Where to Go Next

  1. Get Turnstile Keys — Create Cloudflare account, copy Site Key + Secret Key
  2. Onboarding Wizard — The guided 3-step setup
  3. First-Time Setup — Full manual walkthrough
  4. Quick Start — Minimum-steps summary
Prev
Features — Everything the Plugin Can Do
Next
First-Time Setup