Un formulaire de contact sans protection finit toujours par recevoir du pourriel. Le réflexe, depuis des années, c’est Google reCAPTCHA. Cloudflare propose depuis 2023 une alternative gratuite, Turnstile. Les deux bloquent les robots. Ils diffèrent par ce qu’ils demandent à vos visiteurs, par ce qu’ils envoient à leur éditeur et par ce qu’ils chargent sur votre site. Pour un site québécois, notre préférence va nettement à Turnstile.
Pourquoi protéger un formulaire
Le pourriel n’est pas qu’un désagrément. Les fausses demandes noient les vraies dans votre boîte de réception, encombrent votre CRM si le formulaire y est relié, et faussent vos statistiques de conversion. Pire, chaque fausse demande peut déclencher un courriel de confirmation vers une adresse inventée. Les messages qui reviennent en erreur abîment peu à peu la réputation de votre domaine, et vos vrais courriels finissent plus souvent dans les indésirables.
Google reCAPTCHA : efficace, mais pas sans contrepartie
reCAPTCHA existe en deux grandes formes. La version 2 affiche une case « Je ne suis pas un robot », et parfois une grille d’images où il faut repérer des feux de circulation. La version 3 ne montre rien : elle attribue une note à chaque visiteur selon son comportement.
Cette discrétion a un prix. Pour bien noter les visiteurs, Google recommande de charger reCAPTCHA sur les formulaires, mais aussi en arrière-plan des autres pages. Le script de Google se retrouve alors sur tout le site, avec son poids et ce qu’il observe. reCAPTCHA dépose aussi un témoin, _GRECAPTCHA, et Google demande d’afficher sa marque, soit avec son badge, soit avec la mention que le site est protégé par reCAPTCHA. Au Québec, ce que l’outil recueille sur vos visiteurs mérite donc une ligne claire dans votre politique de confidentialité.
Le modèle a aussi changé. reCAPTCHA relève désormais de Google Cloud : l’offre de base reste gratuite jusqu’à 10 000 vérifications par mois, pour toute l’organisation, puis devient payante si la facturation est activée. Sans facturation, les vérifications sont refusées une fois le plafond atteint, jusqu’au mois suivant. Pour un site de PME, 10 000 suffisent souvent. Encore faut-il le savoir, et avoir un projet Google Cloud à son nom.
Reste l’accessibilité. Une grille d’images est un obstacle pour une personne aveugle ou malvoyante, et l’alternative sonore n’est guère plus facile. Le W3C, l’organisme qui publie les règles d’accessibilité du web, consacre un document entier à l’inaccessibilité des captchas.
Cloudflare Turnstile : la même protection, sans les feux de circulation
Turnstile ne demande jamais d’identifier des images. Dans son mode recommandé, il vérifie le navigateur en arrière-plan et n’affiche une case à cocher que si le visiteur semble suspect. La plupart des gens ne voient qu’un petit encadré qui se valide tout seul.
Il est gratuit, sans limite de vérifications, jusqu’à 20 widgets par compte. Cloudflare indique qu’il traite seulement les données nécessaires à la vérification, qu’il ne lit pas le contenu des formulaires, et qu’il respecte les critères d’accessibilité WCAG 2.2 de niveau AA. Il ne se charge que sur les pages qui ont un formulaire.
Contrairement à une idée répandue, il n’oblige pas votre site à passer par le réseau de Cloudflare. Un compte Cloudflare gratuit suffit pour créer les clés. Si votre site est déjà derrière Cloudflare, comme nous l’expliquons dans notre article sur Cloudflare, le compte existe et l’ajout prend quelques minutes.
Turnstile ou reCAPTCHA : le tableau
| Cloudflare Turnstile | Google reCAPTCHA | |
|---|---|---|
| Coût | Gratuit, vérifications illimitées | Gratuit jusqu’à 10 000 vérifications par mois, puis payant |
| Ce que voit le visiteur | Un encadré qui se valide seul, parfois une case | Une case et parfois des images (v2), ou rien (v3) |
| Où se charge le script | Sur les pages avec un formulaire | Sur les formulaires, et en arrière-plan des pages selon la recommandation de Google pour la v3 |
| Témoin déposé | Aucun témoin de suivi annoncé | _GRECAPTCHA |
| Accessibilité | WCAG 2.2 AA selon Cloudflare | Images difficiles, alternative sonore limitée |
| Compte nécessaire | Cloudflare, gratuit | Google Cloud |
Données relevées dans la documentation des deux éditeurs. Elles évoluent : vérifiez avant de choisir.
Et sans captcha du tout?
Souvent, c’est possible. Un champ piège (honeypot) est un champ invisible pour un humain, que les robots remplissent machinalement. Gravity Forms en intègre un, qui s’active en un clic dans les réglages du formulaire. Il ne charge aucun script externe, n’envoie rien à personne et ne demande rien au visiteur. Contre les robots les plus simples, il suffit.
Contre des robots plus insistants, il ne suffit plus, et c’est là que Turnstile prend le relais.
Passer de reCAPTCHA à Turnstile sur Gravity Forms
Le changement prend une demi-heure, test compris. Dans le tableau de bord de Cloudflare, créez un widget Turnstile pour votre domaine, en mode géré, et copiez ses deux clés. Dans WordPress, installez l’extension Cloudflare Turnstile de Gravity Forms, collez les clés dans ses réglages, puis ajoutez le champ Turnstile à chaque formulaire à protéger. Retirez ensuite le champ reCAPTCHA de ces formulaires, et l’extension reCAPTCHA si plus rien ne l’utilise.
Vérifiez enfin que le script de Google a vraiment disparu. Ouvrez une page sans formulaire, affichez son code source et cherchez « recaptcha » : il ne doit plus rien rester. Envoyez-vous un message par chaque formulaire, depuis une fenêtre de navigation privée. Et mettez à jour votre politique de confidentialité, qui ne doit plus parler de reCAPTCHA, mais de Turnstile.
Si votre site passe par Cloudflare, deux réglages évitent les mauvaises surprises : Rocket Loader désactivé, et les pages de formulaire exclues de toute règle qui garderait les pages en copie. Ce sont deux des pièges décrits dans notre article sur Cloudflare.
Notre recommandation
Pour un site québécois, Turnstile l’emporte presque toujours sur reCAPTCHA : rien à faire pour le visiteur, rien qui suive celui-ci de page en page, et un formulaire utilisable par tout le monde. Sur les sites WordPress que nous développons, nous l’ajoutons aux formulaires Gravity Forms quand le client utilise déjà Cloudflare. L’extension officielle de Gravity Forms le permet avec toutes les licences.
reCAPTCHA garde sa place dans deux cas. Une extension dont le site ne peut pas se passer ne propose que lui. Ou l’entreprise utilise déjà les outils antifraude de Google Cloud pour une boutique et veut tout centraliser. En dehors de ces cas, nous ne le recommandons pas.