Control which pages load the reCAPTCHA scripts
Updated September 13, 2026
The Load scripts on all pages? setting under Advanced Settings at Settings › reCAPTCHA WooCommerce decides whether Google’s reCAPTCHA JavaScript is loaded site-wide or only where the plugin actually needs it.
What each state does
Ticked, the scripts load on every front-end page. Unticked, they load only on the WordPress login screen, the My Account page and the Checkout page.
Unticking it is the better default for performance. Google’s API script is an external request, and there is no reason to make it on pages with no protected form.
When to leave it on
Leave it ticked if a protected form appears somewhere other than those three pages. The common cases are a login or registration form placed in a sidebar widget, a footer, a popup, or a custom page template. Without the scripts, the box renders as an empty space and the customer cannot submit.
If you are not sure, unticking it and then testing every form your customers use is the quickest way to find out.
How the scripts load
Two scripts are enqueued: the plugin’s own small JavaScript file, and Google’s api.js. Both are loaded with a defer strategy, so they do not block page rendering.
Google’s script URL carries your site’s locale, which is what makes the widget appear in the site language.
Interaction with caching and optimisation plugins
Performance plugins that defer, combine, delay or lazy-load JavaScript are the most common cause of a reCAPTCHA box that never appears. Google’s API script has to run for the widget to render at all.
If a box stops appearing after you enable an optimisation plugin, exclude these from its JavaScript handling:
google.com/recaptcharecaptcha-woo(the plugin’s own script)gstatic.com/recaptcha
Exclude the checkout and My Account pages from full-page caching as well. A cached checkout can serve a stale reCAPTCHA widget whose token has already expired.


