{"id":371461,"date":"2023-03-02T13:32:55","date_gmt":"2023-03-02T13:32:55","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=371461"},"modified":"2026-06-12T07:10:55","modified_gmt":"2026-06-12T07:10:55","slug":"magento2-cloudflare-turnstile","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/","title":{"rendered":"Magento 2 Cloudflare Turnstile Documentation"},"content":{"rendered":"\n<p><strong><a href=\"https:\/\/store.webkul.com\/cloudflare-turnstile-for-magento-2.html\">Magento 2 Cloudflare Turnstile<\/a><\/strong> &#8211; protects storefront and admin forms from spam, bots, and automated attacks. <\/p>\n\n\n\n<p>It secures customer login, registration, checkout, contact, newsletter, and other forms using Cloudflare&#8217;s privacy-focused CAPTCHA solution.<\/p>\n\n\n\n<p>To integrate Cloudflare Turnstile with Magento 2, configure the Site Key and Secret Key in the admin panel. <\/p>\n\n\n\n<p>These keys enable secure communication between Magento and Cloudflare for server-side token verification.<\/p>\n\n\n\n<p>Check the working in the video mentioned below \u2013<\/p>\n\n\n\n<div class=\"wp-block-wk-block-youtube-video wp-block-wk-block--yt-video components-placeholder\"><div class=\"wk-block--yt-video-frame\"><div class=\"wk-block--yt-video-frame-request\" data-plyr-provider=\"youtube\" data-plyr-embed-id=\"0RPTpNrz9Ag\"><div class=\"components-placeholder__instructions\">0RPTpNrz9Ag<\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Features of Magento 2 <strong>Cloudflare Turnstile<\/strong><\/h3>\n<\/div><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enable Cloudflare Turnstile on storefront and admin forms.<\/li>\n\n\n\n<li>Protect customer login, registration, forgot password, account information edit, contact, product review, newsletter, coupon, checkout, and track order forms.<\/li>\n\n\n\n<li>Support Form Builder and popular third-party form extensions.<\/li>\n\n\n\n<li>Configure validation rules based on login status, IP addresses, countries, and failure thresholds.<\/li>\n\n\n\n<li>Monitor verification activity through logs and admin reports.<\/li>\n\n\n\n<li>Receive digest email and webhook notifications for verification failures.<\/li>\n\n\n\n<li>Configure form-specific appearance settings, including theme, size, language, labels, and helper text.<\/li>\n\n\n\n<li>Compatible with multi-store Magento deployments.<\/li>\n\n\n\n<li>Compatible with the Hyv\u00e4 theme.<\/li>\n<\/ul>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Installation of Magento 2 <strong>Cloudflare Turnstile<\/strong><\/h3>\n<\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">#1 Download Module<\/h3>\n\n\n\n<p>Firstly, you need to log in to Webkul Store, go to&nbsp;<strong>My Account<\/strong>&gt;<strong>My Purchased Products<\/strong>&nbsp;section, verify and then download and extract the contents of this zip folder on the system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#2 Upload Folder<\/h3>\n\n\n\n<p>Once the module zip is extracted, follow path&nbsp;<strong>src&gt;app<\/strong>&nbsp;and then copy the&nbsp;<strong>app<\/strong>&nbsp;folder into the&nbsp;<strong>Adobe Commerce<\/strong>&nbsp;<strong>Cloud root<\/strong>&nbsp;directory on the server as shown below:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1200\" height=\"451\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-1200x451.png\" alt=\"M2-installation-1\" class=\"wp-image-370074\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-1200x451.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-300x113.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-250x94.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-768x289.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-1536x577.png 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1.png 1855w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">#3 Run Commands<\/h3>\n\n\n\n<p>After uploading the module folder, you need to run the following commands in the Magento 2 root directory:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">php bin\/magento setup:upgrade<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\">php bin\/magento setup:di:compile<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\">php bin\/magento setup:static-content:deploy<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\">php bin\/magento indexer:reindex<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\">php bin\/magento cache:flush<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"language-translation-of-magento-2-multi-vendor-zoom-integration\">Language Translation of Magento 2 <strong>Cloudflare Turnstile<\/strong><\/h3>\n\n\n\n<p>For translating the module language, navigate through&nbsp;<strong>src\/app\/code\/Webkul\/CloudflareTurnstile\/i18n\/en_US.csv&nbsp;<\/strong>and edit the en_US.csv file. <\/p>\n\n\n\n<p>Thereafter, rename the CSV as \u201cen_SA.csv\u201d and translate all right side content after the comma in the Arabic language. After editing the CSV, save it.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1200\" height=\"471\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/webkul-magento2-paytabs-sadad-payment-multilingual-2-1200x471.webp\" alt=\"Magento 2 Multi-Vendor Zoom Integration\" class=\"wp-image-368159\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/webkul-magento2-paytabs-sadad-payment-multilingual-2-1200x471.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/webkul-magento2-paytabs-sadad-payment-multilingual-2-300x118.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/webkul-magento2-paytabs-sadad-payment-multilingual-2-250x98.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/webkul-magento2-paytabs-sadad-payment-multilingual-2-768x301.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/webkul-magento2-paytabs-sadad-payment-multilingual-2.webp 1229w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Then upload it to the path&nbsp;<strong>src\/app\/code\/Webkul\/CloudflareTurnstile\/i18n<\/strong>&nbsp;where Magento 2 is installed on the server. <\/p>\n\n\n\n<p>The module gets translated into the Arabic Language. It supports both RTL and LTR languages.<\/p>\n\n\n\n<p>The user can edit the CSV like the image below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"367\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/screenshot_from_2023_03_03_09_56_16-1200x367.png\" alt=\"screenshot_from_2023_03_03_09_56_16\" class=\"wp-image-371552\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/screenshot_from_2023_03_03_09_56_16-1200x367.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/screenshot_from_2023_03_03_09_56_16-300x92.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/screenshot_from_2023_03_03_09_56_16-250x77.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/screenshot_from_2023_03_03_09_56_16-768x235.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/screenshot_from_2023_03_03_09_56_16-1536x470.png 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/screenshot_from_2023_03_03_09_56_16.png 1836w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">How to Get Site and Secret Key &#8211; Magento 2 <strong>Cloudflare Turnstile<\/strong><\/h3>\n<\/div><\/div>\n\n\n\n<p>The admin needs to sign up for the Cloudflare account. If they already have one, log in to the&nbsp;<a href=\"https:\/\/dash.cloudflare.com\/?to=\/:account\/turnstile\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudflare dashboard<\/a>&nbsp;and open the account.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"583\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-59-1-1200x583.png\" alt=\"Screenshot-59-1\" class=\"wp-image-371470\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-59-1-1200x583.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-59-1-300x146.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-59-1-250x121.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-59-1-768x373.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-59-1.png 1268w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>It will navigate you to the dashboard. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"543\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-62-1200x543.png\" alt=\"Screenshot-62\" class=\"wp-image-371474\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-62-1200x543.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-62-300x136.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-62-250x113.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-62-768x347.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-62.png 1276w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Now go to&nbsp;<strong>Turnstile<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"473\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-60-1200x473.png\" alt=\"Screenshot-60\" class=\"wp-image-371471\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-60-1200x473.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-60-300x118.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-60-250x99.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-60-768x303.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-60.png 1270w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>All added sites will display here, for creating a new one click on add site button and it will navigate to another page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"943\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile_add-1200x943.png\" alt=\"dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile_add\" class=\"wp-image-371495\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile_add-1200x943.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile_add-300x236.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile_add-250x196.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile_add-768x603.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile_add-1536x1207.png 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile_add-2048x1609.png 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Here, the admin needs to enter the following details.<\/p>\n\n\n\n<p><strong>Site Name<\/strong>: Add a name for the widget to identify it in the future.<\/p>\n\n\n\n<p><strong>Domain<\/strong>: Enter your website&#8217;s hostname or select from your existing websites on Cloudflare. <\/p>\n\n\n\n<p><strong>Widget Type:<\/strong> Select the widget type as managed, non-interactive, or visible.<\/p>\n\n\n\n<p>Once you have entered the site name, domain, and selected the widget type, click the create button.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"943\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile-1200x943.png\" alt=\"dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile\" class=\"wp-image-371500\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile-1200x943.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile-300x236.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile-250x196.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile-768x603.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile-1536x1207.png 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/dash.cloudflare.com_13340364ef866395b15a3faaeea0257c_turnstile-2048x1609.png 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Upon clicking the create button, you will be redirected to the Turnstile page where you can view:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Domain<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Visitor Solve Rate<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>API Solve Rate<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Selected widget type<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Site key<\/li>\n<\/ul>\n\n\n\n<p>Click on settings to view the site and secret key.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"599\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-63-1-1200x599.png\" alt=\"Screenshot-63-1\" class=\"wp-image-371506\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-63-1-1200x599.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-63-1-300x150.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-63-1-250x125.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-63-1-768x383.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-63-1.png 1270w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Configuration of Magento 2 <strong>Cloudflare Turnstile<\/strong><\/h3>\n<\/div><\/div>\n\n\n\n<p>Admin must log in to their  Magento 2 admin account, navigate to Stores &gt; Configuration &gt; Cloudflare Turnstile, and enter the details.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">API Settings<\/h3>\n\n\n\n<p>The <strong>API Settings<\/strong> section allows the admin to configure the Cloudflare credentials required for Turnstile integration.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2440\" height=\"1760\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/apisetting.webp\" alt=\"module-configuration\" class=\"wp-image-542493\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/apisetting.webp 2440w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/apisetting-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/apisetting-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/apisetting-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/apisetting-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/apisetting-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/apisetting-2048x1477.webp 2048w\" sizes=\"(max-width: 2440px) 100vw, 2440px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Module License:<\/strong> This field shows the current license status of the extension. Once the system verifies the license successfully, it confirms that the module is active and ready to use.<\/p>\n\n\n\n<p><strong>CloudFlare Site Key:<\/strong> The admin can enter the Site Key generated from the Cloudflare Turnstile dashboard. <\/p>\n\n\n\n<p>Magento uses this key to display the Turnstile widget on the configured forms.<\/p>\n\n\n\n<p><br><strong>CloudFlare Secret Key:<\/strong> The admin can provide the Secret Key obtained from Cloudflare. <\/p>\n\n\n\n<p>Magento uses this key to verify the Turnstile response before processing form submissions.he display theme for the Turnstile verification widget.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">General Settings<\/h3>\n\n\n\n<p>The <strong>General Settings<\/strong> section allows the admin to manage the overall behavior and appearance of the Turnstile widget.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" data-id=\"542495\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/generalsettingconfiguration-1200x866.webp\" alt=\"generalsettingconfiguration\" class=\"wp-image-542495\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/generalsettingconfiguration-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/generalsettingconfiguration-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/generalsettingconfiguration-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/generalsettingconfiguration-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/generalsettingconfiguration-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/generalsettingconfiguration-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n<\/figure>\n\n\n\n<p><strong>Enable Module:<\/strong> This option allows the admin to enable or disable the Cloudflare Turnstile functionality in the Magento 2 store.<\/p>\n\n\n\n<p><strong>Turnstile Theme:<\/strong> The admin can choose the widget theme to match the storefront design using the available appearance options.<\/p>\n\n\n\n<p><strong>Appearance Mode:<\/strong> This setting lets the admin control the display behavior of the Turnstile widget on protected forms. <\/p>\n\n\n\n<p>The selected option determines when and how the widget appears to users during form interactions.<\/p>\n\n\n\n<p><strong>Widget Size:<\/strong> The admin can select the preferred widget size based on the storefront layout requirements.<\/p>\n\n\n\n<p><strong>Language:<\/strong> The admin can define the language displayed in the Turnstile widget or allow automatic language detection.<\/p>\n\n\n\n<p><strong>Custom Error Message:<\/strong> This option allows the admin to configure the message displayed when Turnstile verification fails.<\/p>\n\n\n\n<p><strong>Disable Submit Button Until CAPTCHA Passes:<\/strong> When enabled, this setting keeps the submit button disabled until users complete the Turnstile verification successfully.<\/p>\n\n\n\n<p><strong>Load Mode:<\/strong> This setting allows the admin to choose how the Turnstile widget loads on the page, helping balance performance and user experience.<\/p>\n\n\n\n<p><strong>Lazy-load Delay (ms):<\/strong> The admin can define the delay, in milliseconds, before the widget loads when using lazy loading. Increasing the delay can reduce the impact on the initial page load.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Magento Forms<\/h3>\n\n\n\n<p>The admin can set permission for various storefront visibility of Cloudflare Turnstile. <\/p>\n\n\n\n<p>Like Customer Login, Forgot Password, Create New Customer Account, Edit Customer Account, Contact Us, Product Review, Checkout\/Placing Order, and Coupon Codes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magentoforms-1200x866.webp\" alt=\"Magento forms\" class=\"wp-image-542498\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magentoforms-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magentoforms-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magentoforms-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magentoforms-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magentoforms-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magentoforms-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Checkout Rules<\/h3>\n\n\n\n<p><strong>Checkout Rules:<\/strong> The Checkout Rules section allows the admin to decide when Cloudflare Turnstile validation should run during the checkout process.<\/p>\n\n\n\n<p><strong>Apply Checkout CAPTCHA for Guests Only:<\/strong> Enable this option to require Turnstile verification only for guest customers during checkout. <\/p>\n\n\n\n<p>while allowing registered customers to proceed without additional validation.<\/p>\n\n\n\n<p><strong>Apply Checkout CAPTCHA for Logged-in Customers Only:<\/strong> Use this setting to apply Turnstile validation exclusively to customers who have signed in to their accounts before checkout.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" data-id=\"542503\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/checkoutrule-1200x866.webp\" alt=\"checkoutrule\" class=\"wp-image-542503\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/checkoutrule-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/checkoutrule-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/checkoutrule-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/checkoutrule-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/checkoutrule-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/checkoutrule-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n<\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Admin Forms<\/h3>\n\n\n\n<p>The <strong>Admin Forms<\/strong> section allows the admin to secure Magento backend authentication forms using Cloudflare Turnstile.<\/p>\n\n\n\n<p><strong>Enable for Admin Login:<\/strong> When enabled, administrators must complete Turnstile verification before accessing the Magento admin panel.<\/p>\n\n\n\n<p><strong>Enable for Admin Forgot Password:<\/strong> This option adds Turnstile protection to the admin forgot password form to prevent automated reset requests.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Design Studio<\/h3>\n\n\n\n<p>The <strong>Design Studio<\/strong> section allows the admin to customize the appearance of the Turnstile widget to match the storefront design.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"978\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/designstudio-1200x978.webp\" alt=\"design studio\" class=\"wp-image-542506\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/designstudio-1200x978.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/designstudio-300x244.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/designstudio-250x204.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/designstudio-768x626.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/designstudio-1536x1252.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/designstudio-2048x1669.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Wrapper Alignment:<\/strong> The admin can choose the alignment of the Turnstile widget within the form layout.<\/p>\n\n\n\n<p><strong>Margin Top (px):<\/strong> This setting defines the top spacing around the widget.<\/p>\n\n\n\n<p><strong>Margin Bottom (px):<\/strong> This option controls the bottom spacing below the widget.<\/p>\n\n\n\n<p><strong>Padding (px):<\/strong> The admin can specify the internal spacing within the widget container.<\/p>\n\n\n\n<p><strong>Border Color:<\/strong> Use this setting to define the border color of the widget so it aligns with the overall storefront theme. <\/p>\n\n\n\n<p><strong>Background Color:<\/strong> This setting allows the admin to define the background color of the widget wrapper.<\/p>\n\n\n\n<p><strong>Border Width (px):<\/strong> This option determines the thickness of the border surrounding the widget. <\/p>\n\n\n\n<p><strong>Border Radius (px):<\/strong> Adjust the border radius to create either sharp edges or rounded corners for the widget container.<\/p>\n\n\n\n<p><strong>Box Shadow:<\/strong> This setting allows the admin to apply a shadow effect around the widget container.<\/p>\n\n\n\n<p><strong>Custom Label Text:<\/strong> The admin can define a custom label to provide additional context or instructions to users.<\/p>\n\n\n\n<p><strong>Label Text Color:<\/strong> This option controls the color of the custom label text.<\/p>\n\n\n\n<p><strong>Helper Text:<\/strong> The admin can add helper text to guide users during the verification process.<\/p>\n\n\n\n<p><strong>Helper Text Color:<\/strong> This setting allows the admin to customize the color of the helper text displayed with the widget.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Conditional Rules<\/h3>\n\n\n\n<p>The <strong>Conditional Rules<\/strong> section allows the admin to define when Cloudflare Turnstile validation should apply based on customer behavior, location, and request patterns.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulesone-1200x866.webp\" alt=\"condition rule1\" class=\"wp-image-542787\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulesone-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulesone-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulesone-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulesone-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulesone-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulesone-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Skip for Logged-in Customers:<\/strong> Enable this option to bypass Turnstile verification for customers who have signed in to their accounts.<\/p>\n\n\n\n<p><strong>Skip CAPTCHA for Guest Customers:<\/strong> This setting allows guest visitors to access protected forms without completing Turnstile verification.<\/p>\n\n\n\n<p><strong>Require CAPTCHA after N Failures:<\/strong> The admin can specify the number of failed attempts after which the system starts enforcing Turnstile validation.<\/p>\n\n\n\n<p><strong>Failure Window (minutes):<\/strong> This option defines the time period during which the extension tracks failed attempts before applying the configured failure threshold.<\/p>\n\n\n\n<p><strong>IP Whitelist:<\/strong> The admin can add trusted IP addresses or CIDR ranges that should bypass Turnstile verification.<\/p>\n\n\n\n<p><strong>IP Blacklist:<\/strong> Use this setting to block specific IP addresses or IP ranges and enforce validation for requests originating from them.<\/p>\n\n\n\n<p><strong>Country Whitelist (ISO-2):<\/strong> The admin can select countries that are exempt from Turnstile validation based on their ISO-2 country codes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"972\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulefinal-1200x972.webp\" alt=\"Magento 2 Cloudflare Turnstile condition rule part2\" class=\"wp-image-542892\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulefinal-1200x972.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulefinal-300x243.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulefinal-250x203.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulefinal-768x622.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulefinal-1536x1245.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/conditionrulefinal-2048x1660.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Country Blacklist (ISO-2):<\/strong> This option allows the admin to apply validation rules or restrictions to visitors from selected countries.<\/p>\n\n\n\n<p><strong>Warn-only Mode:<\/strong> Enable this option to log validation failures without blocking form submissions. This mode is useful for monitoring and testing configurations before enforcement.<\/p>\n\n\n\n<p><strong>Rate Limit Threshold (failures):<\/strong> The admin can define the maximum number of failed verification attempts allowed within the specified rate limit window.<\/p>\n\n\n\n<p><strong>Rate Limit Window (seconds):<\/strong> This setting determines the duration, in seconds, during which the extension evaluates failed attempts against the configured threshold.<\/p>\n\n\n\n<p><strong>Detected Request IPs (for IP Rule Testing):<\/strong> This field displays the IP information detected from incoming requests, helping the admin test and verify IP-based rules accurately.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Per-Form Overrides<\/h3>\n\n\n\n<p>The <strong>Per-Form Overrides<\/strong> section allows the admin to customize Turnstile settings for individual forms without modifying the global configuration. <\/p>\n\n\n\n<p>This provides greater flexibility by enabling different forms to use their own appearance and messaging preferences.<\/p>\n\n\n\n<p>You can configure Turnstile settings for the following sections:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customer Registration<\/li>\n\n\n\n<li>Customer Forgot Password<\/li>\n\n\n\n<li>Customer Edit<\/li>\n\n\n\n<li>Contact Us<\/li>\n\n\n\n<li>Product Review<\/li>\n\n\n\n<li>Newsletter<\/li>\n\n\n\n<li>Checkout \/ Place Order<\/li>\n\n\n\n<li>Coupon Code<\/li>\n\n\n\n<li>Pay for Order<\/li>\n\n\n\n<li>Track Order<\/li>\n\n\n\n<li>Multi-address Create Shipping Address<\/li>\n\n\n\n<li>Multi-address Place Order<\/li>\n\n\n\n<li>Admin Login<\/li>\n\n\n\n<li>Customer Login<\/li>\n<\/ul>\n\n\n\n<p>The following example demonstrates the available settings using the <strong>Customer Login<\/strong> section. The same configuration options are available for all supported forms listed above.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Customer Login<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Customer Login<\/h4>\n\n\n\n<p>The <strong>Customer Login<\/strong> section allows the admin to override the default Turnstile settings specifically for the customer login form.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"950\" data-id=\"542789\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/preformoveride-1200x950.webp\" alt=\"customer login\" class=\"wp-image-542789\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/preformoveride-1200x950.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/preformoveride-300x238.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/preformoveride-250x198.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/preformoveride-768x608.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/preformoveride-1536x1217.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/preformoveride-2048x1622.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n<\/figure>\n\n\n\n<p><strong>Theme Override:<\/strong> This setting lets the admin apply a different Turnstile theme to the customer login form instead of using the global configuration.<\/p>\n\n\n\n<p><strong>Size Override:<\/strong> The admin can choose a custom widget size for the customer login form to suit the page layout.<\/p>\n\n\n\n<p><strong>Language Override:<\/strong> This option allows the admin to display the Turnstile widget in a different language for the login form.<\/p>\n\n\n\n<p><strong>Error Message Override:<\/strong> The admin can configure a custom validation message that appears when Turnstile verification fails on the login form.<\/p>\n\n\n\n<p><strong>Label Text Override:<\/strong> Use this setting to define a custom label that provides additional instructions or context to customers.<\/p>\n\n\n\n<p><strong>Helper Text Override:<\/strong> This option allows the admin to display helper text to guide users through the verification process.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"> <strong>Notifications<\/strong><\/h3>\n\n\n\n<p>The <strong>Notifications<\/strong> section allows the admin to monitor Turnstile activity and receive alerts about verification events through logs, email reports, and webhooks.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notifications-1200x866.webp\" alt=\"notification1\" class=\"wp-image-542790\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notifications-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notifications-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notifications-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notifications-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notifications-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notifications-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Enable Logging:<\/strong> Enable this option to record Turnstile validation events and maintain an audit trail of verification activity.<\/p>\n\n\n\n<p><strong>Log Retention (Days):<\/strong> Specify how many days the system should retain log records before automatically removing older entries.<\/p>\n\n\n\n<p><strong>Enable Email Digests:<\/strong> Turn on email digests to receive periodic summaries of Turnstile activity and security events.<\/p>\n\n\n\n<p><strong>Digest Frequency:<\/strong> Choose how often the system sends email reports, such as daily or weekly.<\/p>\n\n\n\n<p><strong>Recipient Email:<\/strong> Enter the email address that will receive the Turnstile activity summaries.<\/p>\n\n\n\n<p><strong>Test Email:<\/strong> Furthermore, use this button to verify that the email configuration works correctly and that the system can deliver notifications successfully.<\/p>\n\n\n\n<p><strong>Enable Webhook Alerts:<\/strong> Enable webhook notifications to send Turnstile events to external systems in real time.<\/p>\n\n\n\n<p><strong>Webhook URL:<\/strong> Enter the endpoint URL where the system should send webhook notifications.<\/p>\n\n\n\n<p><strong>Slack Webhook URL:<\/strong> Provide a Slack webhook URL to receive Turnstile alerts directly within your Slack workspace.<\/p>\n\n\n\n<p><strong>Auth Headers JSON:<\/strong> Add authentication headers in JSON format to secure webhook requests sent to external services.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" data-id=\"542791\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notificationstwo-1200x866.webp\" alt=\"notification2\" class=\"wp-image-542791\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notificationstwo-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notificationstwo-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notificationstwo-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notificationstwo-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notificationstwo-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/notificationstwo-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n<\/figure>\n\n\n\n<p><strong>Alert Threshold:<\/strong> Define the number of failed verification attempts that must occur before the system triggers an alert.<\/p>\n\n\n\n<p><strong>Throttle Window (Minutes):<\/strong> Specify the time window used to group events and prevent excessive notifications.<\/p>\n\n\n\n<p><strong>Test Webhook:<\/strong> Finally, use this button to confirm that the webhook configuration is correct and that notifications can be delivered successfully.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How to add in custom form<\/h3>\n\n\n\n<p>Cloudflare Turnstile can be added in any custom form by entering the below-mentioned code in any reference block or container of the layout.  <\/p>\n\n\n\n<p>Add using a reference block (This is for the code end).<\/p>\n\n\n\n&lt;block class=&#8221;Webkul\\CloudflareTurnstile\\Block\\Turnstile&#8221; name=&#8221;productreviewcloudflarecaptcha&#8221; after=&#8221;-&#8221; > &lt;\/block>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/howtoaddcustomform-1200x866.webp\" alt=\"Configuration-Settings-Stores-Magento-Admin-2\" class=\"wp-image-542559\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/howtoaddcustomform-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/howtoaddcustomform-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/howtoaddcustomform-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/howtoaddcustomform-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/howtoaddcustomform-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/howtoaddcustomform-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Cloudflare Turnstile can be added in any custom form by entering the below-mentioned code in CMS pages. <\/p>\n\n\n\n<p>Add in CMS pages:<\/p>\n\n\n\n{{block class=&#8221;Webkul\\CloudflareTurnstile\\Block\\Turnstile&#8221;}}\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"943\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234.vachak.com_m2451_pub___2_-1200x943.png\" alt=\"magento234.vachak.com_m2451_pub___2_\" class=\"wp-image-408730\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234.vachak.com_m2451_pub___2_-1200x943.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234.vachak.com_m2451_pub___2_-300x236.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234.vachak.com_m2451_pub___2_-250x196.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234.vachak.com_m2451_pub___2_-768x603.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234.vachak.com_m2451_pub___2_-1536x1207.png 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234.vachak.com_m2451_pub___2_-2048x1609.png 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Cloudflare Turnstile<\/h3>\n\n\n\n<p>After the successful installation and configuration, the <strong>Cloudflare Turnstile<\/strong> menu option becomes visible to the admin.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" data-id=\"542560\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflareturnstile-1200x866.webp\" alt=\"Cloudflare Turnstile\" class=\"wp-image-542560\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflareturnstile-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflareturnstile-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflareturnstile-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflareturnstile-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflareturnstile-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflareturnstile-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n<\/figure>\n\n\n\n<p>Here, the admin has the following options to configure and manage Cloudflare Turnstile operations across the store \u2013<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Configuration<\/li>\n\n\n\n<li>Onboarding<\/li>\n\n\n\n<li>Report<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Onboarding<\/h3>\n\n\n\n<p>The <strong>Turnstile Onboarding<\/strong> simplifies the setup process by guiding the admin through three quick steps.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" data-id=\"542561\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/onboarding-1200x866.webp\" alt=\"onboarding\" class=\"wp-image-542561\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/onboarding-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/onboarding-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/onboarding-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/onboarding-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/onboarding-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/onboarding-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n<\/figure>\n\n\n\n<p><strong>Site Key:<\/strong> Enter the Cloudflare Site Key and click <strong>Next<\/strong> to continue.<\/p>\n\n\n\n<p><strong>Secret Key:<\/strong> Provide the Cloudflare Secret Key, then click <strong>Next<\/strong> to proceed.<\/p>\n\n\n\n<p><strong>Enable Forms:<\/strong> Select the forms you want to protect and click <strong>Save and Finish<\/strong> to complete the setup.<\/p>\n\n\n\n<p>Once the onboarding process is complete, the extension displays the <strong>&#8220;Onboarding saved&#8221;<\/strong> success message, confirming that the configuration has been saved successfully.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Report<\/h3>\n\n\n\n<p>The <strong>Turnstile CAPTCHA Report<\/strong> gives the admin a quick overview of verification activity across the store. It helps monitor security performance and identify unusual traffic patterns.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"866\" data-id=\"542562\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/turnstilereport-1200x866.webp\" alt=\"stilereport\" class=\"wp-image-542562\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/turnstilereport-1200x866.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/turnstilereport-300x216.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/turnstilereport-250x180.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/turnstilereport-768x554.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/turnstilereport-1536x1108.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/turnstilereport-2048x1477.webp 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n<\/figure>\n\n\n\n<p><strong>Overview Metrics:<\/strong> View total passes, failures, pass rate, and blocked IPs to assess the effectiveness of your Turnstile configuration.<\/p>\n\n\n\n<p><strong>Pass\/Fail Trends:<\/strong> Moreover, daily trend charts help identify spikes in verification activity and track changes over time.<\/p>\n\n\n\n<p><strong>Hourly Activity Heatmap:<\/strong> In addition, the heatmap highlights peak validation periods, making it easier to spot suspicious behavior.<\/p>\n\n\n\n<p><strong>Form and Error Insights:<\/strong> The report also displays frequently targeted forms and common validation errors for faster troubleshooting.<\/p>\n\n\n\n<p><strong>Recent Logs:<\/strong> Finally, review the latest verification records, including form details, request outcomes, IP addresses, and timestamps for auditing purposes.<\/p>\n\n\n\n<p><strong>Export CSV:<\/strong> Furthermore, the admin can export report data in CSV format for record-keeping, deeper analysis, or sharing security insights with relevant teams.<\/p>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Frontend Workflow<\/h3>\n<\/div><\/div>\n\n\n\n<p>Turnstile will display on the storefronts selected by the admin while configuring the module settings.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Customer Login Page<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"943\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234-vachak-com_m2451_pub_customer_account_login_referer_ahr0chm6ly9tywdlbnrvmjm0lnzhy2hhay5jb20vbti0ntevchvil3byaxzhy3ktcg9sawn5lwnvb2tpzs1yzxn0cmljdglvbi1tb2rl_-1200x943.png\" alt=\"magento234-vachak-com_m2451_pub_customer_account_login_referer_ahr0chm6ly9tywdlbnrvmjm0lnzhy2hhay5jb20vbti0ntevchvil3byaxzhy3ktcg9sawn5lwnvb2tpzs1yzxn0cmljdglvbi1tb2rl_\" class=\"wp-image-408660\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234-vachak-com_m2451_pub_customer_account_login_referer_ahr0chm6ly9tywdlbnrvmjm0lnzhy2hhay5jb20vbti0ntevchvil3byaxzhy3ktcg9sawn5lwnvb2tpzs1yzxn0cmljdglvbi1tb2rl_-1200x943.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234-vachak-com_m2451_pub_customer_account_login_referer_ahr0chm6ly9tywdlbnrvmjm0lnzhy2hhay5jb20vbti0ntevchvil3byaxzhy3ktcg9sawn5lwnvb2tpzs1yzxn0cmljdglvbi1tb2rl_-300x236.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234-vachak-com_m2451_pub_customer_account_login_referer_ahr0chm6ly9tywdlbnrvmjm0lnzhy2hhay5jb20vbti0ntevchvil3byaxzhy3ktcg9sawn5lwnvb2tpzs1yzxn0cmljdglvbi1tb2rl_-250x196.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234-vachak-com_m2451_pub_customer_account_login_referer_ahr0chm6ly9tywdlbnrvmjm0lnzhy2hhay5jb20vbti0ntevchvil3byaxzhy3ktcg9sawn5lwnvb2tpzs1yzxn0cmljdglvbi1tb2rl_-768x603.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234-vachak-com_m2451_pub_customer_account_login_referer_ahr0chm6ly9tywdlbnrvmjm0lnzhy2hhay5jb20vbti0ntevchvil3byaxzhy3ktcg9sawn5lwnvb2tpzs1yzxn0cmljdglvbi1tb2rl_-1536x1207.png 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/11\/magento234-vachak-com_m2451_pub_customer_account_login_referer_ahr0chm6ly9tywdlbnrvmjm0lnzhy2hhay5jb20vbti0ntevchvil3byaxzhy3ktcg9sawn5lwnvb2tpzs1yzxn0cmljdglvbi1tb2rl_-2048x1609.png 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Customer Registration Page<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"943\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_customer_account_create_-1200x943.png\" alt=\"magento234.webkul.com_m2443_pub_customer_account_create_\" class=\"wp-image-371538\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_customer_account_create_-1200x943.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_customer_account_create_-300x236.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_customer_account_create_-250x196.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_customer_account_create_-768x603.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_customer_account_create_-1536x1207.png 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_customer_account_create_-2048x1609.png 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Checkout Page<\/h4>\n\n\n\n<p>On the checkout page, Cloudflare will display two places one for payment and one for coupon codes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"943\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_checkout_-1200x943.png\" alt=\"magento234.webkul.com_m2443_pub_checkout_\" class=\"wp-image-371539\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_checkout_-1200x943.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_checkout_-300x236.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_checkout_-250x196.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_checkout_-768x603.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_checkout_-1536x1207.png 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/magento234.webkul.com_m2443_pub_checkout_-2048x1609.png 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Checkout Page Sign in<\/h4>\n\n\n\n<p>Upon adding the product to the cart without signing in, when the customer proceeds to checkout and enters their registered email address, Cloudflare will be displayed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1782\" height=\"2560\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflare-checkout-scaled.webp\" alt=\"cloudfare-checkout\" class=\"wp-image-488031\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflare-checkout-scaled.webp 1782w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflare-checkout-209x300.webp 209w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflare-checkout-713x1024.webp 713w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflare-checkout-173x249.webp 173w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflare-checkout-768x1103.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflare-checkout-1069x1536.webp 1069w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/cloudflare-checkout-1426x2048.webp 1426w\" sizes=\"(max-width: 1782px) 100vw, 1782px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Similarly, it will be displayed on various pages to provide a hassle-free experience to the customers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cloudflare Turnstile CAPTCHA for Guest User <\/h3>\n\n\n\n<p>Now store guest users can also use Cloudflare Turnstile CAPTCHA during their checkout.<\/p>\n\n\n\n<p><strong>Note:<\/strong> For using Cloudflare Turnstile CAPTCHA guest users then from the backend <strong>&#8220;Allow Guest Checkout&#8221; <\/strong>option should be<strong> &#8220;No&#8221;<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"637\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/03\/Travel-Bag-1200x637.png\" alt=\"Travel-Bag\" class=\"wp-image-426415\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/03\/Travel-Bag-1200x637.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/03\/Travel-Bag-300x159.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/03\/Travel-Bag-250x133.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/03\/Travel-Bag-768x407.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/03\/Travel-Bag-1536x815.png 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/03\/Travel-Bag.png 1840w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<div class=\"wk-index-wrap\"><div class=\"block-wrap\">\n<h3 class=\"wp-block-heading index-title\">Website Analytics<\/h3>\n<\/div><\/div>\n\n\n\n<p>In the Cloudflare account, you can check the analytics of your website like challenges issued, visitor solve rate, and API solves rate. <\/p>\n\n\n\n<p>On clicking the website link, the dashboard will open where you can view analytics.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"596\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-64-1200x596.png\" alt=\"Screenshot-64\" class=\"wp-image-371540\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-64-1200x596.png 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-64-300x149.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-64-250x124.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-64-768x381.png 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/03\/Screenshot-64.png 1275w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p><strong>Challenges Issued:<\/strong>&nbsp;This means the number of times the widget has been displayed on the website.<\/p>\n\n\n\n<p><strong>Visitor Solve Rate:&nbsp;<\/strong>Percentage of users who have seen the widget and completed it.<\/p>\n\n\n\n<p><strong>API Solve Rate:<\/strong>&nbsp;Percentage of users who have completed the widget and then performed the action on the page successfully like logging in on completing the registration.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Support<\/h3>\n\n\n\n<p>That\u2019s all for the&nbsp;<strong>Magento 2 <strong>Cloudflare Turnstile<\/strong><\/strong> module. <\/p>\n\n\n\n<p>If you have any questions, suggestions, or customization requests, feel free to contact us at&nbsp;<a href=\"mailto:support@webkul.com\" target=\"_blank\" rel=\"noreferrer noopener\">support@webkul.com<\/a>&nbsp;or submit a ticket at&nbsp;<a href=\"http:\/\/webkul.uvdesk.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">webkul.uvdesk.com.<\/a><\/p>\n\n\n\n<p>Please explore our&nbsp;<a href=\"https:\/\/webkul.com\/magento-development\/\" target=\"_blank\" rel=\"noreferrer noopener\">Magento Development Services<\/a>&nbsp;and Quality&nbsp;<a href=\"https:\/\/store.webkul.com\/Magento-2.html\" target=\"_blank\" rel=\"noreferrer noopener\">Magento 2 Extensions<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Magento 2 Cloudflare Turnstile &#8211; protects storefront and admin forms from spam, bots, and automated attacks. It secures customer login, registration, checkout, contact, newsletter, and other forms using Cloudflare&#8217;s privacy-focused CAPTCHA solution. To integrate Cloudflare Turnstile with Magento 2, configure the Site Key and Secret Key in the admin panel. These keys enable secure communication <a href=\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":396,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[2056,2070,106],"class_list":["post-371461","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-magento","tag-magento2","tag-marketplace"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>magento2-cloudflare-turnstile-documentation<\/title>\n<meta name=\"description\" content=\"The Magento 2 Cloudflare Turnstile prevents forms against spammers, bots, and hackers on different pages. As its replacement of Captcha.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"magento2-cloudflare-turnstile-documentation\" \/>\n<meta property=\"og:description\" content=\"The Magento 2 Cloudflare Turnstile prevents forms against spammers, bots, and hackers on different pages. As its replacement of Captcha.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-02T13:32:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-12T07:10:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-1200x451.png\" \/>\n<meta name=\"author\" content=\"Shailja Gupta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Shailja Gupta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/\"},\"author\":{\"name\":\"Shailja Gupta\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/a8e167c820b3f455f751fe7d334741bc\"},\"headline\":\"Magento 2 Cloudflare Turnstile Documentation\",\"datePublished\":\"2023-03-02T13:32:55+00:00\",\"dateModified\":\"2026-06-12T07:10:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/\"},\"wordCount\":2686,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-1200x451.png\",\"keywords\":[\"magento\",\"Magento2\",\"marketplace\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/\",\"url\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/\",\"name\":\"magento2-cloudflare-turnstile-documentation\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-1200x451.png\",\"datePublished\":\"2023-03-02T13:32:55+00:00\",\"dateModified\":\"2026-06-12T07:10:55+00:00\",\"description\":\"The Magento 2 Cloudflare Turnstile prevents forms against spammers, bots, and hackers on different pages. As its replacement of Captcha.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1.png\",\"width\":1855,\"height\":697,\"caption\":\"M2-installation-1\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Magento 2 Cloudflare Turnstile Documentation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/a8e167c820b3f455f751fe7d334741bc\",\"name\":\"Shailja Gupta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0bcbe5b07d11b71c7571417f83fc28718f48fa375d24d88ab49e6c9bda729098?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0bcbe5b07d11b71c7571417f83fc28718f48fa375d24d88ab49e6c9bda729098?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g\",\"caption\":\"Shailja Gupta\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/shailjagupta-bd465\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"magento2-cloudflare-turnstile-documentation","description":"The Magento 2 Cloudflare Turnstile prevents forms against spammers, bots, and hackers on different pages. As its replacement of Captcha.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/","og_locale":"en_US","og_type":"article","og_title":"magento2-cloudflare-turnstile-documentation","og_description":"The Magento 2 Cloudflare Turnstile prevents forms against spammers, bots, and hackers on different pages. As its replacement of Captcha.","og_url":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2023-03-02T13:32:55+00:00","article_modified_time":"2026-06-12T07:10:55+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-1200x451.png","type":"","width":"","height":""}],"author":"Shailja Gupta","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Shailja Gupta","Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/"},"author":{"name":"Shailja Gupta","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/a8e167c820b3f455f751fe7d334741bc"},"headline":"Magento 2 Cloudflare Turnstile Documentation","datePublished":"2023-03-02T13:32:55+00:00","dateModified":"2026-06-12T07:10:55+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/"},"wordCount":2686,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-1200x451.png","keywords":["magento","Magento2","marketplace"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/","url":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/","name":"magento2-cloudflare-turnstile-documentation","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1-1200x451.png","datePublished":"2023-03-02T13:32:55+00:00","dateModified":"2026-06-12T07:10:55+00:00","description":"The Magento 2 Cloudflare Turnstile prevents forms against spammers, bots, and hackers on different pages. As its replacement of Captcha.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/02\/M2-installation-1.png","width":1855,"height":697,"caption":"M2-installation-1"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/magento2-cloudflare-turnstile\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Magento 2 Cloudflare Turnstile Documentation"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/a8e167c820b3f455f751fe7d334741bc","name":"Shailja Gupta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0bcbe5b07d11b71c7571417f83fc28718f48fa375d24d88ab49e6c9bda729098?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0bcbe5b07d11b71c7571417f83fc28718f48fa375d24d88ab49e6c9bda729098?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Feva.png&r=g","caption":"Shailja Gupta"},"url":"https:\/\/webkul.com\/blog\/author\/shailjagupta-bd465\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/371461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/396"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=371461"}],"version-history":[{"count":37,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/371461\/revisions"}],"predecessor-version":[{"id":542893,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/371461\/revisions\/542893"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=371461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=371461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=371461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}