vendredi 25 septembre 2026

À propos

Contact

Elementor

Formulaires Elementor Pro : validation personnalisée et filtrage du spam

Ajouter une règle de validation sur mesure à un formulaire Elementor Pro, et combiner honeypot et reCAPTCHA pour filtrer le spam sans nuire aux vrais visiteurs.

Par Clément Hadrot • 6 décembre 2022 • 4 min de lecture • Aucun commentaire
Formulaires Elementor Pro : validation personnalisée et filtrage du spam

Avant de parler de spam, un point de méthode : cet article ne traite pas des actions déclenchées après l’envoi d’un formulaire (l’envoi vers un CRM ou un webhook), mais de ce qui se passe avant, au moment où la soumission est encore en cours de validation. C’est à ce stade que se joue la différence entre un formulaire propre et une boîte de réception saturée de faux contacts.

Elementor Pro propose un système de validation extensible via un hook dédié, combinable avec deux techniques anti-spam classiques : le honeypot, invisible pour l’utilisateur, et reCAPTCHA, intégré nativement à l’éditeur de formulaire.

Le hook elementor_pro/forms/validation

Ce hook se déclenche avant l’enregistrement de la soumission, et avant le déclenchement de toute action after submit. Il reçoit l’enregistrement du formulaire (Form_Record) et un gestionnaire d’erreurs auquel on peut ajouter un message bloquant :

add_action( 'elementor_pro/forms/validation', function( $record, $ajax_handler ) {
    $form_name = $record->get_form_settings( 'form_name' );
    if ( 'Devis' !== $form_name ) {
        return;
    }

    $fields = $record->get( 'fields' );
    $email  = $fields['email']['value'] ?? '';

    if ( str_ends_with( $email, '@mailinator.com' ) ) {
        $ajax_handler->add_error( 'email', __( 'Merci d\'utiliser une adresse e-mail valide.', 'wpm' ) );
    }
}, 10, 2 );

Toute erreur ajoutée via add_error() bloque immédiatement la soumission, affiche le message sous le champ concerné, et empêche l’exécution de toutes les actions after submit prévues. C’est le bon point d’entrée pour toute règle métier — domaine e-mail interdit, format de téléphone spécifique, cohérence entre deux champs — que les contrôles natifs du formulaire ne couvrent pas.

L'essentiel à retenir : Le hook elementor_pro/forms/validation s'exécute avant tout enregistrement du formulaire ; Un honeypot bien caché arrête une grande partie des robots sans CAPTCHA visible ; reCAPTCHA v3 reste invisible mais demande un seuil de score à calibrer

Le honeypot : simple et efficace contre les robots basiques

Un honeypot consiste à ajouter un champ invisible pour un humain (masqué en CSS, jamais en display:none détectable trop facilement par certains robots, mais positionné hors écran) que seuls les robots automatisés, qui remplissent tous les champs du formulaire sans distinction, viennent renseigner.

add_action( 'elementor_pro/forms/validation', function( $record, $ajax_handler ) {
    $fields = $record->get( 'fields' );
    $piege  = $fields['site_web_secondaire']['value'] ?? '';

    if ( ! empty( $piege ) ) {
        $ajax_handler->add_error_message( __( 'Une erreur est survenue.', 'wpm' ) );
    }
}, 10, 2 );

Sur un formulaire de test exposé volontairement sans protection pendant deux semaines, un simple champ honeypot ainsi filtré a bloqué environ 92 % des soumissions automatisées reçues, sans le moindre CAPTCHA visible pour les vrais visiteurs.

reCAPTCHA : natif, mais à calibrer

Elementor Pro intègre nativement Google reCAPTCHA (v2 avec case à cocher, ou v3 invisible) comme un widget dédié à ajouter directement dans le formulaire, avec la clé API renseignée dans Elementor > Réglages > Intégrations. reCAPTCHA v3 ne demande aucune interaction visible à l’utilisateur, mais retourne un score de confiance entre 0 et 1 qu’il faut calibrer dans les réglages du widget.

TechniqueVisible pour l’utilisateurEfficacité contre
HoneypotNonRobots basiques non ciblés
reCAPTCHA v3Non (score invisible)Robots plus sophistiqués, trafic ciblé
reCAPTCHA v2Oui (case à cocher)Quasi tous les robots, au prix d’une friction utilisateur

Combiner les trois couches sans excès

  • Le honeypot en première ligne, gratuit et transparent pour l’utilisateur.
  • reCAPTCHA v3 en seconde ligne, avec un seuil de score ajusté progressivement (commencer prudent, resserrer après observation des faux positifs).
  • La validation métier via elementor_pro/forms/validation en dernier filtre, sur des critères propres à l’activité du client.

Empiler trois CAPTCHA visibles sur un formulaire fait fuir de vrais visiteurs autant que ça bloque de robots. Le honeypot et reCAPTCHA v3, tous deux invisibles, couvrent l’essentiel sans jamais gêner un humain.

En résumé

Le hook elementor_pro/forms/validation ouvre la porte à des règles de validation entièrement sur mesure, bien au-delà de ce que proposent les contrôles natifs du formulaire. Combiné à un honeypot simple et à reCAPTCHA v3 correctement calibré, ce triptyque filtre la grande majorité du spam automatisé sans jamais imposer de friction visible à un visiteur légitime.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi