For Statamic V3, please use the new Captcha addon: https://github.com/aryehraber/statamic-captcha
Recaptcha (Statamic V2)
Protect your Statamic forms using reCAPTCHA or hCaptcha.
This addon allows you to protect your Statamic forms from spam and abuse using reCAPTCHA or hCaptcha service.
After the initial setup, all you need to do is add the {{ recaptcha }}
tag inside your forms, easy peasy!
Setup
-
Firstly, copy the
Recaptcha
folder intosite/addons/
. -
Next, you'll have to add reCAPTCHA's API script to your site's
<head>
using{{ recaptcha:head }}
. You may also want to look into Statamic's Yield & Section tags to only render the script when needed. -
Then configure which forms will be using Recaptcha via the settings in the CP
(Configure > Addons > Recaptcha)
. Here you can also customise the error message shown when validation fails, as well as various other settings. -
Finally, head over to https://www.google.com/recaptcha/admin, or https://dashboard.hcaptcha.com to create your
SITE_KEY
&SECRET
and add them to Recaptcha's settings. Alternatively, add them to the site's.env
file usingRECAPTCHA_SITE_KEY
&RECAPTCHA_SECRET
. Please note: Recaptcha's Addon settings will take precedence over the.env
settings.
Usage
<head>
<title>My Awesome Site</title>
{{ recaptcha:head }}
</head>
<body>
{{ form:create in="my-awesome-form" }}
<!-- Add your fields like normal -->
{{ recaptcha }}
{{ /form:create }}
</body>
This will automatically render the reCAPTCHA element on the page (if a valid SITE_KEY
was found). After the form is submitted, the Addon will temporarily halt the form from saving while the submission is verified. If all is good, the form will save as normal, otherwise an error will be added to the {{ errors }}
array (together with any other errors, if they exist) which you can handle the same way as you would normally.
hCaptcha
As of v2.7.0, this Addon also supports hCaptcha! Simply switch the Captcha Service setting to hCaptcha
inside of Configure > Addons > Recaptcha
and update the API keys to your hCaptcha keys.
User Registration
As of v2.8.0, Recaptcha can verify user registration submissions from Statamic's {{ user:register_form }}
form. Activate the feature inside Configure > Addons > Recaptcha
and follow the same usage instructions as above.
Invisible Recaptcha
As of v2.0, Recaptcha also supports the Invisible reCAPTCHA:
- Simply turn on the
Invisible
toggle in Recaptcha's settings. - Turn on
Hide Badge
to hide Recaptcha badge - Add required Google Terms and Privacy Policy using
{{ recaptcha:disclaimer }}