{"id":3023,"date":"2025-12-27T20:58:18","date_gmt":"2025-12-27T20:58:18","guid":{"rendered":"https:\/\/www.swiftcommerce.io\/help\/?post_type=docs&#038;p=3023"},"modified":"2026-03-14T20:35:46","modified_gmt":"2026-03-14T20:35:46","password":"","slug":"recaptcha","status":"publish","type":"docs","link":"https:\/\/www.swiftcommerce.io\/help\/spam\/recaptcha\/","title":{"rendered":"reCAPTCHA"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Protect your WordPress and WooCommerce site from bots, spam, and malicious attacks using Google reCAPTCHA, Cloudflare Turnstile or hCaptcha integration. This feature adds an extra layer of security to your forms by verifying that submissions come from real humans, not automated bots.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Overview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">reCAPTCHA is a free service from Google that protects your website from spam and abuse. Swift Commerce integrates seamlessly with Google reCAPTCHA, Cloudflare Turnstile and hCaptcha allowing you to choose the best option for your site.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Getting Started<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Prerequisites<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before enabling reCAPTCHA, you&#8217;ll need:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A Google account\/Cloudflare Account\/hCaptcha<\/li>\n\n\n\n<li>reCAPTCHA API keys (Site Key and Secret Key)<\/li>\n\n\n\n<li>Swift Commerce plugin installed and activated<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Register Your Site with Google reCAPTCHA<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to the&nbsp;<a href=\"vscode-file:\/\/vscode-app\/c:\/Users\/manso\/AppData\/Local\/Programs\/Microsoft%20VS%20Code\/resources\/app\/out\/vs\/code\/electron-browser\/workbench\/workbench.html\">Google reCAPTCHA Admin Console<\/a><\/li>\n\n\n\n<li>Sign in with your Google account<\/li>\n\n\n\n<li>Fill in the registration form:\n<ul class=\"wp-block-list\">\n<li><strong>Label<\/strong>: Enter a name to identify your site (e.g., &#8220;My Store&#8221;)<\/li>\n\n\n\n<li><strong>reCAPTCHA type<\/strong>: Select either v2 or v3<\/li>\n\n\n\n<li><strong>Domains<\/strong>: Add your website domain(s) without&nbsp;<code>http:\/\/<\/code>&nbsp;or&nbsp;<code>https:\/\/<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Accept the Terms of Service<\/li>\n\n\n\n<li>Click&nbsp;<strong>Submit<\/strong><\/li>\n\n\n\n<li>Copy your&nbsp;<strong>Site Key<\/strong>&nbsp;and&nbsp;<strong>Secret Key<\/strong><\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f&nbsp;<strong>Important<\/strong>: Keep your Secret Key confidential. Never share it publicly.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Configure reCAPTCHA in Swift Commerce<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to&nbsp;<strong>Swift Commerce \u2192 Spam \u2192 reCAPTCHA<\/strong>&nbsp;in your WordPress admin<\/li>\n\n\n\n<li>Toggle the&nbsp;<strong>Enable reCAPTCHA<\/strong>&nbsp;switch to ON<\/li>\n\n\n\n<li>Select your reCAPTCHA version (v2 or v3)<\/li>\n\n\n\n<li>Enter your Site Key and Secret Key<\/li>\n\n\n\n<li>Choose which pages to protect<\/li>\n\n\n\n<li>Click&nbsp;<strong>Save Settings<\/strong><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">General Tab<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The General tab contains the core configuration options for your reCAPTCHA setup.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Select reCAPTCHA provider:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Swift Commerce enables users to choose the desired captcha they want to integrate into their website. Currently, Swift Commerce offer integrations for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Google reCAPTCHA (free)<\/li>\n\n\n\n<li>Cloudflare Turnstile<\/li>\n\n\n\n<li>hCaptcha<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"590\" height=\"475\" src=\"https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-14.png\" alt=\"\" class=\"wp-image-3275\" srcset=\"https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-14.png 590w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-14-300x242.png 300w, https:\/\/www.swiftcommerce.io\/help\/wp-content\/uploads\/2025\/12\/image-14-360x290.png 360w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">reCAPTCHA v2 Configuration<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">API Keys<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Site Key<\/strong><\/td><td>The public key displayed on your website. Used to render the reCAPTCHA widget.<\/td><\/tr><tr><td><strong>Secret Key<\/strong><\/td><td>The private key for server-side verification. Never expose this publicly.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Challenge Type<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Mode<\/th><th>Description<\/th><th>When to Use<\/th><\/tr><\/thead><tbody><tr><td><strong>&#8220;I&#8217;m not a robot&#8221; Checkbox<\/strong><\/td><td>Displays a checkbox users must click. May present an image challenge if suspicious.<\/td><td>When you want users to actively confirm they&#8217;re human<\/td><\/tr><tr><td><strong>Invisible<\/strong><\/td><td>Runs in the background. Only shows a challenge if suspicious activity is detected.<\/td><td>When you want protection without interrupting user flow<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">reCAPTCHA v3 Configuration<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">API Keys<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Site Key<\/strong><\/td><td>The public key used to load the reCAPTCHA script on your site.<\/td><\/tr><tr><td><strong>Secret Key<\/strong><\/td><td>The private key for verifying scores server-side.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Score Threshold<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">reCAPTCHA v3 returns a score between 0.0 and 1.0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>0.0<\/strong>&nbsp;= Very likely a bot<\/li>\n\n\n\n<li><strong>1.0<\/strong>&nbsp;= Very likely a human<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Threshold<\/th><th>Protection Level<\/th><th>False Positive Risk<\/th><\/tr><\/thead><tbody><tr><td>0.3<\/td><td>Low<\/td><td>Very Low<\/td><\/tr><tr><td>0.5<\/td><td>Medium (Recommended)<\/td><td>Low<\/td><\/tr><tr><td>0.7<\/td><td>High<\/td><td>Medium<\/td><\/tr><tr><td>0.9<\/td><td>Very High<\/td><td>High<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udca1&nbsp;<strong>Tip<\/strong>: Start with 0.5 and adjust based on your needs. Lower if legitimate users are blocked; raise if spam gets through.<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">Badge Display<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Option<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Badge<\/strong><\/td><td>Shows the reCAPTCHA badge in the bottom-right corner of protected pages<\/td><\/tr><tr><td><strong>Hidden<\/strong><\/td><td>Hides the badge completely<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f&nbsp;<strong>Legal Requirement<\/strong>: If you hide the badge, you&nbsp;<strong>must<\/strong>&nbsp;add this to your privacy policy:<br><em>&#8220;This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.&#8221;<\/em><\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Settings Tab<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Protected Pages (Free)<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Location<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>WordPress Login<\/strong><\/td><td>Admin login page (wp-login.php). Protects against brute force attacks.<\/td><\/tr><tr><td><strong>WordPress Registration<\/strong><\/td><td>Prevents spam account creation.<\/td><\/tr><tr><td><strong>Lost Password Form<\/strong><\/td><td>Blocks automated password reset abuse.<\/td><\/tr><tr><td><strong>WooCommerce Login<\/strong><\/td><td>Customer login on the My Account page.<\/td><\/tr><tr><td><strong>WooCommerce Registration<\/strong><\/td><td>Customer registration form.<\/td><\/tr><tr><td><strong>Checkout Page<\/strong><\/td><td>Protects orders from bot submissions.<\/td><\/tr><tr><td><strong>Comment Forms<\/strong><\/td><td>Prevents spam comments on blog posts.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Protected Pages (Pro) \ud83d\udd12<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Location<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Add Payment Method<\/strong><\/td><td>When customers add a new card in My Account.<\/td><\/tr><tr><td><strong>Product Reviews<\/strong><\/td><td>WooCommerce product reviews on product pages.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Appearance (Pro) \ud83d\udd12<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Customize how the reCAPTCHA v2 checkbox widget appears.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Theme<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Option<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Light<\/strong><\/td><td>Standard light theme. Best for light-colored websites.<\/td><\/tr><tr><td><strong>Dark<\/strong><\/td><td>Dark theme. Best for dark-themed websites.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Size<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Option<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Normal<\/strong><\/td><td>Full-size widget (302 x 76 pixels)<\/td><\/tr><tr><td><strong>Compact<\/strong><\/td><td>Smaller widget for tight spaces (164 x 144 pixels)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">IP Whitelist (Pro) \ud83d\udd12<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bypass reCAPTCHA for specific IP addresses. Useful for internal teams, automated systems, or development environments.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Format<\/th><th>Example<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Single IP<\/td><td><code>192.168.1.100<\/code><\/td><td>Whitelist one IP address<\/td><\/tr><tr><td>CIDR Range<\/td><td><code>10.0.0.0\/24<\/code><\/td><td>Whitelist a subnet<\/td><\/tr><tr><td>IP Range<\/td><td><code>192.168.1.1-192.168.1.50<\/code><\/td><td>Whitelist a range<\/td><\/tr><tr><td>Comment<\/td><td><code># Office IP<\/code><\/td><td>Add documentation (ignored)<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Protect your WordPress and WooCommerce site from bots, spam, and malicious attacks using Google reCAPTCHA, Cloudflare Turnstile or hCaptcha integration. This feature adds an extra layer of security to your forms by verifying that submissions come from real humans, not automated bots. Overview reCAPTCHA is a free service from Google that protects your website from [&hellip;]<\/p>\n","protected":false},"author":101,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"doc_category":[78],"doc_tag":[],"class_list":["post-3023","docs","type-docs","status-publish","hentry","doc_category-spam"],"year_month":"2026-09","word_count":645,"total_views":"118","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Mansoor Ahmad","author_nicename":"helpadmin","author_url":"https:\/\/www.swiftcommerce.io\/help\/author\/helpadmin\/"},"doc_category_info":[{"term_name":"Spam","term_url":"https:\/\/www.swiftcommerce.io\/help\/docs-category\/spam\/"}],"doc_tag_info":[],"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/docs\/3023","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/users\/101"}],"replies":[{"embeddable":true,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/comments?post=3023"}],"version-history":[{"count":3,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/docs\/3023\/revisions"}],"predecessor-version":[{"id":3276,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/docs\/3023\/revisions\/3276"}],"wp:attachment":[{"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/media?parent=3023"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/doc_category?post=3023"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.swiftcommerce.io\/help\/wp-json\/wp\/v2\/doc_tag?post=3023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}