If you are having trouble with reCAPTCHA you are not the only one. I have multiple sites using reCAPTCHA in Gravity Forms where the reCAPTCHA code loads multiple times for reasons best known to Google.
I have asked Gravity Forms to look at this and their answer is always that they have no control over what Google is doing, but as you can see from the below, a single form with reCAPTCHA can add significantly to a sites downloads: –
Note that this is a single form and recaptcha_en.js is loading 4 times.
If this was one site having this problem I’d think it was the site, but I see it on multiple different systems and different sites.
Alternatives to reCAPTCHA
In Gravity Forms the main alternative would be Really Simple CAPTCHA. I like this system because it’s light weight and easy for users. However, I have found 2 issues. These are: –
- It can have issues with cache that prevent the code images from showing and therefore your forms can’t get completed. I don’t see this a lot, but occasionally this can be a problem.
- It seems that it’s increasingly not stopping spam. I’ve now started to see a lot of spam arriving from these forms. Not so much as it’s likely to be bots, but enough that I’m thinking they are becoming too easy to guess.
The latest alternative is hCAPTCHA. This came to my attention after I heard that Cloudflare had started to use it. So what is hCAPTCHA? Essentially it’s like reCAPTCHAv2, but with better privacy and customisable CAPTCHA subjects.
In your form it looks like: –
When you select that you are human, you get a similar grid of images to reCAPTCHAv2: –
You can see this working on my site contact form.
I have tested for downloads and this is what I found: –
reCAPTCHA – 0.172MB, but may load multiple times for no obvious reason.
hCAPTCHA – 0.25MB and loads that size for as many forms as you have on the page.
Note that although neither of these has a huge effect on the DOM load time, the weird thing is that Google might well punish you for a large page size due to their poor product!
Obviously what this means is that if you have multiple forms on a page, I would perhaps think seriously about using either of these systems over Really Simple CAPTCHA, but for a single form, the fact that hCAPTCHA’s size to download is consistent, puts it way ahead of reCAPTCHA.
How to Install hCAPTCHA in Gravity Forms
Actually this is the easy part. Just install G-Forms hCaptcha and follow the instructions to create an hCAPTCHA account. Then in Gravity Forms, set your secret key in Gravity Forms settings. You can then just drag the hCAPTCHA field into the form and delete the old CAPTCHA.
The one gotcha I did find is that you have to set a site key in the Advanced Tab of the hCAPTCHA gravity form field: –
You get that Site Key by adding the site into your account at https://www.hcaptcha.com/.
I would definitely recommend switching over from reCAPTCHA to hCAPTCHA if you have a single or maybe even 2 forms on your page. The signup process is quicker and easier, and you don’t need a credit card on your account (unlike Google) and there is good integration with Gravity Forms via a plugin.
The user experience of the hCAPTCHA system is similar to that of reCAPTCHAv2, but has the advantages that there is more focus on privacy, and you can set broad subjects for the CAPTCHA’s that match your sites subject matter.