Formulaires anti-spam : l’efficacité de reCAPTCHA, hCaptcha et du pot de miel
1. Faisons d’abord le calcul : bloquer le spam et faire fuir les clients, c’est la même chose
En matière d’anti-spam de formulaire, on tombe vite dans l’excès : il y a du spam, alors on empile les captchas. Résultat : les robots diminuent, mais les vraies demandes aussi. Un acheteur professionnel étranger n’aime déjà pas remplir de longs formulaires ; si vous lui demandez de sélectionner huit feux tricolores avant d’envoyer, il ferme la page et part. La sévérité du captcha et le taux d’abandon vont de pair : chaque vérification qui demande une action à l’utilisateur fait baisser la conversion.
Le jugement contre-intuitif est ici :Sur la plupart des formulaires de contact, la perte de conversion due au captcha peut dépasser la perte causée par le spam qu’il bloque. Un site B2B reçoit 100 envois par mois, dont 20 de spam. Si vous faites chuter la conversion de 10 % pour bloquer ces 20 envois, vous perdez 10 vraies demandes : le solde est négatif. La bonne approche est par couches : d’abord le pot de miel et le score invisible, gratuits, qui écartent la majorité des robots ; on ne demande une vérification humaine qu’en cas de doute, pas à tout le monde. Pour le lien entre champs de formulaire et taux de conversion, voir Conception des champs du formulaire de demande et taux de conversion.
| Approche | Ce que l’utilisateur doit faire | Ce que ça bloque | Impact sur la conversion |
|---|---|---|---|
| reCAPTCHA v2 case à cocher | Cocher « Je ne suis pas un robot » | Bloque environ 90 % des robots | Taux d’abandon en hausse de 3 % à 5 % |
| reCAPTCHA v2 images | Sélectionner les images demandées | Bloque environ 95 % | Taux d’abandon en hausse de 5 % à 10 % |
| reCAPTCHA v3 | Rien à faire | Note les envois, bloque les mauvais scores | Impact quasi nul |
| hCaptcha | Sélection d’images occasionnelle | Équivalent à v2 | Meilleure confidentialité, impact similaire |
| Pot de miel | Rien du tout | Bloque les robots basiques | Impact nul |
2. Le principe et les cas d’usage de chaque solution
Le principe du pot de miel est le plus simple et le plus élégant : on cache dans le formulaire un champ invisible pour un humain, mais que les robots remplissent. Les robots remplissent par défaut tous les champs input ; si ce champ est rempli, la soumission est immédiatement considérée comme du spam, écartée en silence, sans même envoyer d’e-mail. L’avantage : l’utilisateur ne s’aperçoit de rien. L’inconvénient : cela ne marche que contre les robots bas de gamme qui remplissent tout sans réfléchir ; face à un script évolué capable de lire la structure de la page, c’est inutile.
reCAPTCHA v3 est la solution invisible de Google : en arrière-plan, il enregistre les mouvements de souris, le temps passé et le parcours de navigation, puis attribue à chaque visite un score de 0,0 à 1,0. Vous fixez un seuil (par exemple 0,5) ; les soumissions en dessous ne sont pas refusées directement, mais envoyées en file de vérification manuelle. Le prix à payer : vous devez prendre le temps d’examiner ces soumissions suspectes, et les données sont envoyées à Google, ce qui impose de gérer le consentement pour les sites européens. hCaptcha fonctionne comme la v2 mais accorde plus d’importance à la vie privée : les données sont moins concentrées chez Google, ce qui convient aux sites très soumis au RGPD et à forte audience européenne. Pour le diagnostic complet de la délivrabilité et de la fiabilité, voir Fiabilité du formulaire de demande de devis.
| Dimension | Pot de miel | reCAPTCHA v3 | hCaptcha |
|---|---|---|---|
| Expérience utilisateur | Totalement invisible | Totalement invisible | Parfois une sélection d’images |
| Force de blocage | Faible, ne bloque que les robots basiques | Moyenne, repose sur un score | Forte, vérification de type humain |
| Conformité vie privée | Aucune donnée externe, la plus propre | Données envoyées à Google, consentement requis | Plus respectueux de la vie privée que Google |
| Coût de maintenance | nulle | Consulter régulièrement la file des scores bas | Faible |
| Cas d’usage | Indispensable de base | Site principal à audience mondiale | Site principal à audience européenne |
III. Comment configurer : un cadre de décision à trois niveaux de défense
Ne choisissez pas une seule méthode : la bonne approche consiste à empiler trois niveaux. Le premier est toujours le pot de miel, sans coût ni impact, qui bloque déjà plus de 60 % des scans de robots basiques. Le deuxième est le score invisible (v3 ou le mode invisible de hCaptcha), qui note chaque soumission. Le troisième n’apparaît que pour les soumissions à faible score ou anormales : vérification par images, ou passage direct en vérification manuelle. Ainsi, l’utilisateur normal ne voit rien, et seuls les comportements suspects doivent prouver qu’ils sont humains.
Le choix du seuil est déterminant. Au lancement de la v3, réglez d’abord le seuil de blocage très souple : observez sans bloquer, pendant une à deux semaines, pour voir la distribution des scores des utilisateurs normaux. Si les vrais utilisateurs sont majoritairement au-dessus de 0,6, placez la ligne de blocage à 0,4 : en dessous, la soumission part en vérification.Cas 1 : un site qui reçoit 200 soumissions par mois, dont 20 % de spam. Avec le pot de miel et la v3, commencez par régler la v3 en « enregistrer seulement, ne pas bloquer ». Après une semaine d’observation, vous constatez que les vrais utilisateurs ont tous un score supérieur à 0,5 ; redirigez alors les soumissions sous 0,4 vers le dossier spam au lieu de les refuser directement.Cas 2 : un site dont la moitié des visiteurs est européenne. Remplacez la solution Google par hCaptcha : vous supprimez une couche de bannière de consentement « nous utilisons les services Google », et l’expérience de conformité devient plus fluide. Pour configurer les alertes d’anomalie, voir Surveillance et alertes du site.
| Part de spams | Configuration conseillée | Vérification manuelle nécessaire ? |
|---|---|---|
| Moins de 10 % | Pot de miel suffisant, pas de captcha | Non |
| 10 % à 30 % | Pot de miel + score invisible v3 | Passer la file des scores faibles une fois par semaine |
| 30 % à 50 % | Ajouter un captcha image, déclenché uniquement en cas de doute | Vérifier une fois par jour |
| Plus de 50 % | Vérifier s’il s’agit d’une attaque ciblée | Ajouter une limite de fréquence par IP |
4. Les pièges à éviter : les quatre erreurs de configuration les plus courantes
Premier piège : croire que v3, une fois installé, règle tout, et ne plus consulter la file après avoir réglé le seuil. v3 attribue un score, il ne bloque pas : les scores faibles passent quand même, et si vous ne consultez pas la file de vérification, autant ne pas l’avoir installé. Deuxième piège : régler un seuil trop strict et bloquer aussi les utilisateurs légitimes. En Asie et en Amérique latine notamment, où plusieurs personnes partagent une même IP, les scores sont systématiquement bas, et une règle uniforme élimine de vraies demandes.
Troisième piège : oublier le mobile et l’accessibilité. Les captchas image sont pénibles pour les maladroits et pour les utilisateurs de lecteurs d’écran, ce qui entre en conflit avec les améliorations d’accessibilité que vous venez de faire. Quatrième piège : ne protéger que le formulaire et pas l’administration ; les robots scannent aussi directement votre wp-login, et c’est un autre sujet. Le vrai critère, c’est la perte nette : après chaque renforcement de la vérification, comparez sur deux semaines si le volume de vraies demandes a baissé. S’il chute de plus de 5 %, c’est que vous êtes allé trop loin. Pour le lien entre vitesse de première réponse et conversion, voir SLA de première réponse aux demandes et taux de conversion.
| Erreur fréquente | Conséquence | Bonne pratique |
|---|---|---|
| Installer v3 et ne pas consulter la file de vérification | Les spams à faible score arrivent dans la boîte de réception | Passer la file une fois par semaine |
| Régler un seuil trop strict | Éliminer de vrais utilisateurs sur une IP partagée | Commencer large puis resserrer, en observant la distribution |
| Imposer un captcha image dès le premier écran | Le taux d’abandon augmente nettement | Ne le déclencher que sur les envois suspects |
| Ne regarder que le volume de spams, pas les conversions | Plus on filtre, moins on reçoit de formulaires | Comparer les vraies demandes à chaque ajustement |
| Négliger l’accessibilité | Les utilisateurs de lecteurs d’écran ne peuvent pas envoyer le formulaire | Privilégier une solution invisible pour l’utilisateur |
FAQ — Questions fréquentes
reCAPTCHA v2 ou v3 : lequel choisir ?
Qu’est-ce qu’un pot de miel, et est-ce vraiment efficace ?
Quels avantages hCaptcha présente-t-il par rapport à reCAPTCHA ?
Quel seuil de score choisir pour reCAPTCHA v3 ?
Notre site reçoit peu de spam, est-ce vraiment utile d’installer un captcha ?
L’anti-spam peut-il pénaliser de vrais clients ? Comment le savoir ?
Pour conclure
L’objectif de l’anti-spam sur un formulaire n’est pas le « zéro spam », mais de « contenir le spam dans des limites gérables par les commerciaux sans faire fuir les vrais clients ». Installer le captcha le plus agressif pour atteindre le zéro spam revient à échanger de vraies demandes contre une boîte de réception propre : le calcul est souvent perdant. Retenez la logique par couches : le pot de miel en base, le score invisible pour décider, et la vérification renforcée uniquement sur les comportements suspects.
Trois étapes pour passer à l’action : d’abord, installez un pot de miel pour bloquer gratuitement les robots bas de gamme ; ensuite, ajoutez le score invisible de reCAPTCHA v3 ou hCaptcha, en observant sans bloquer pendant les deux premières semaines ; enfin, fixez le seuil à partir de la distribution des scores des vrais utilisateurs, envoyez les soumissions à faible score en vérification manuelle, et comparez toutes les deux semaines le nombre de vraies demandes pour vérifier qu’aucune n’a été bloquée à tort. Le formulaire est le dernier kilomètre de la demande de devis : l’anti-spam n’est réussi que lorsque l’utilisateur ne le remarque pas.
Une phrase à retenir : le meilleur anti-spam est celui dont l’utilisateur ignore l’existence. À force de traiter tout le monde comme un voleur, ce sont vos vrais clients que vous bloquez en premier.
