Blog
Alternatives à reCAPTCHA pour les formulaires de contact (sans Google)
· 4 min de lecture
Cherchez « stop contact form spam » et Google reCAPTCHA est la première chose vers laquelle tout le monde se tourne - c'est gratuit, c'est un widget prêt à l'emploi, et la case « Je ne suis pas un robot » est assez familière pour que personne ne la remette en question. Les choix par défaut raisonnables méritent pourtant un second regard de temps en temps, et reCAPTCHA est un bon candidat : ce n'est pas la seule option, et pour beaucoup de sites, ce n'est pas la bonne.
Les vraies raisons de le reconsidérer
reCAPTCHA est un script tiers de Google, et cela a des conséquences au-delà de « ça marche » :
- Confidentialité et consentement. reCAPTCHA dépose des cookies et envoie des données de visiteurs à Google pour son évaluation de risque. Pour les visiteurs européens, cela soulève de vraies questions de consentement au titre du GDPR - un formulaire de contact est exactement le genre d'interaction à faible friction qui ne devrait pas nécessiter une bannière de cookies juste pour charger un filtre anti-spam.
- Un script de plus qui bloque le rendu. C'est une requête externe de plus dans le chemin critique d'une page dont tout le travail consiste à se charger vite et à laisser quelqu'un taper un message.
- De la friction pour de vrais humains. Quiconque utilise un VPN, un navigateur axé confidentialité, ou une protection contre le pistage a déjà rencontré plus d'une fois le défi « sélectionnez tous les feux de circulation ». C'est un vrai visiteur qui a failli abandonner.
- Une réticence générale à donner à Google une prise de plus sur votre site. Beaucoup de développeurs ne veulent tout simplement pas que le navigateur de chaque visiteur communique avec Google avant de pouvoir envoyer un message - une position défendable en soi, indépendamment des questions de confidentialité.
Alternative 1 : le champ honeypot invisible
Un champ caché que les vrais visiteurs ne voient et ne remplissent jamais, mais que les robots peu sophistiqués complètent consciencieusement parce qu'il est là, dans le markup. S'il arrive non vide, la soumission est du spam - jetez-la, sans montrer aucun défi à personne. Zéro script tiers, zéro friction, et cela intercepte discrètement l'immense majorité du spam de formulaire, qui vient de robots stupides plutôt que de quoi que ce soit d'ingénieux. (Les détails d'implémentation complets, y compris le markup exact et les pièges d'accessibilité, sont dans notre article détaillé sur la protection anti-spam.)
Alternative 2 : la limitation de débit
Les honeypots n'arrêtent pas un bot qui envoie des données d'apparence valide des centaines de fois par minute - une limite par IP et par formulaire au niveau de l'endpoint de réception, si. Un vrai visiteur ne soumet jamais le même formulaire de contact dix fois en une minute, donc rien de précieux n'est perdu en limitant le débit, et cela ne nécessite ni widget, ni cookie, ni aucune décision de la part de la personne qui remplit le formulaire.
Alternative 3 : Cloudflare Turnstile, quand un défi est vraiment nécessaire
Parfois, un formulaire attire des bots plus intelligents - des navigateurs headless qui rendent le CSS et contournent entièrement le honeypot - et un défi devient alors rentable malgré son petit coût en conversion. Cloudflare Turnstile en est la version respectueuse de la confidentialité : il vérifie un visiteur via des signaux du navigateur plutôt que des cookies de pistage, se résout généralement de façon invisible, et ne fait transiter l'interaction par Google en aucune façon. C'est le même travail que reCAPTCHA, sans les aspects auxquels on peut objecter.
Superposez-les - et soyez honnête sur les limites
Aucune de ces méthodes n'est infaillible face aux bots, Turnstile compris. La réponse réaliste est la même pour tout formulaire : honeypot d'abord, limitation de débit en dessous, et un défi ajouté seulement quand les deux premiers ne suffisent plus - exactement la posture que nous détaillons davantage dans le guide de protection anti-spam. Ce qui change avec cette approche, c'est simplement le point de départ : ne pas commencer par le script de Google.
C'est aussi la posture que Formhook applique par défaut, automatiquement. Chaque formulaire reçoit un champ honeypot et une limitation de débit par IP/par formulaire activés par défaut, sur tous les forfaits y compris le forfait gratuit - aucune configuration, aucun widget à installer. Turnstile est disponible en case à cocher optionnelle dans les paramètres du formulaire pour ceux qui ont besoin de la couche supplémentaire. Voir la page tarifs pour ce qui est inclus à chaque niveau.
Mettez en ligne un formulaire fonctionnel en une ligne
Hébergé dans l'UE, soumissions conservées indéfiniment, notifications push sur tous les niveaux.
Commencer gratuitementSans carte bancaire · consultez la documentation
Continuer la lecture
- Spam des formulaires : honeypot, rate limiting, TurnstileComment le spam des formulaires fonctionne, et les trois couches qui l'arrêtent : honeypot, limitation de débit et Cloudflare Turnstile.
- Tester son formulaire de contact : la checklist de pré-lancementUn formulaire de contact cassé échoue et coûte des leads. Checklist de 15 minutes avant lancement : validation, spam, mobile, notifications.
- Formulaire de contact en panne ? Comment vraiment trouver pourquoi« Mon formulaire de contact n'envoie rien » a environ six causes courantes. Comment vérifier pas à pas la requête réseau, la console, les filtres anti-spam et le tableau de bord - plutôt que de deviner.