Contact Form 7 (CF7) est le plugin de formulaire WordPress le plus utilisé au monde avec plus de 5 millions d’installations actives. Entièrement gratuit et sans version premium, il nécessite toutefois une configuration manuelle pour l’anti-spam, la conformité RGPD et l’envoi d’emails. Ce guide couvre l’installation, la configuration complete et le dépannage de CF7 en 2026, captures d’écran à l’appui.
Pas le temps ? Faites-le analyser par l'IA
5 millions d’installations actives. Pas 5 millions de téléchargements… 5 millions de sites qui l’utilisent en ce moment. Et pourtant, la moitié de ces sites ont un formulaire CF7 mal configuré : emails qui partent dans les spams, aucune protection anti-bot, zéro conformité RGPD. Ça vous parle ?
En tant que formateur WordPress depuis 2012 et co-créateur de WPS Hide Login (2M+ installations), j’ai audité des centaines de sites. Le formulaire de contact est le premier vecteur de spam sur 80% d’entre eux. Et dans 9 cas sur 10, c’est un formulaire CF7 laissé en configuration par défaut.
Pas de panique. Ce guide reprend tout depuis zéro. Installation, configuration de chaque onglet, anti-spam, RGPD, et les 5 problèmes que vous rencontrerez forcément… avec leurs solutions. Et si vous débutez complètement sur WordPress, commencez par notre guide installer WordPress avant de revenir ici.
Qu’est-ce que Contact Form 7 ?
Contact Form 7 est une extension WordPress gratuite qui permet de créer et gérer des formulaires de contact. Développée par Takayuki Miyoshi depuis 2007, elle gere la génération du formulaire HTML, la validation des champs, le filtrage du spam et l’envoi des emails. Contrairement à ses concurrents (WPForms, Gravity Forms), CF7 est 100% gratuit : pas de version "Pro", pas d’upsell, pas de fonctionnalités verrouillées.
Bon. Le revers de la médaille ? CF7 ne propose pas d’éditeur visuel drag-and-drop. Vous écrivez vos formulaires avec des balises (des "tags") dans un éditeur texte. Ça peut sembler intimidant au début, mais c’est justement ce qui le rend si flexible. Et une fois que vous comprenez la logique… ça prend 5 minutes pour créer un formulaire complet.
CF7 est compatible avec WordPress 6.9, nécessite PHP 7.4 minimum, et reste activement maintenu avec des mises à jour régulières. Testée sur WP 6.9.4 à ce jour. Pour en savoir plus sur les extensions essentielles de WordPress, consultez notre selection.
Quelques chiffres pour situer CF7 dans l’écosystème WordPress : selon les données du répertoire officiel, le plugin cumule plus de 5 millions d’installations actives en 2026, ce qui en fait le plugin de formulaire le plus utilisé au monde. À titre de comparaison, WPForms Lite en compte 6 millions, mais sa version gratuite est fortement limitée. CF7 reste le seul plugin de formulaire majeur à offrir 100% de ses fonctionnalités gratuitement.
D’après le répertoire officiel WordPress.org, CF7 fait partie du top 10 des plugins les plus téléchargés de tous les temps. 18 ans de développement continu, une compatibilité sans faille avec chaque version majeure de WordPress… euh, je continue ? C’est du solide.
Comment installer Contact Form 7 sur WordPress ?
Installation depuis le répertoire officiel
L’installation se fait en 30 secondes depuis votre tableau de bord WordPress. Si c’est votre première extension, pas d’inquiétude : le processus est identique pour tous les plugins du répertoire officiel.
- Allez dans Extensions > Ajouter une extension
- Tapez "Contact Form 7" dans le champ de recherche
- Cliquez sur Installer maintenant puis sur Activer

Vérification post-installation
Une fois activé, un nouveau menu Contact apparaît dans la barre latérale de votre administration WordPress. Si vous ne le voyez pas, vérifiez que le plugin est bien activé dans Extensions > Extensions installées.


CF7 crée automatiquement un premier formulaire de démonstration ("Contact form 1"). C’est un excellent point de départ pour comprendre la syntaxe des tags.
En haut de la page du formulaire, vous trouverez le shortcode à copier-coller, par exemple :
[contact-form-7 id="abc123" title="Contact form 1"]
Ce shortcode sera à insérer dans n’importe quelle page ou article pour afficher le formulaire. Si vous utilisez Gutenberg, collez-le dans un bloc Shortcode ou directement dans un bloc Paragraphe.

Comment configurer votre premier formulaire ?
L’éditeur de formulaire CF7
Rendez-vous dans Contact > Formulaires de contact puis cliquez sur le formulaire existant pour l’éditer. Vous arrivez sur l’éditeur principal, divisé en 4 onglets : Formulaire, E-mail, Messages et Réglages additionnels.

L’onglet Formulaire contient le code du formulaire. Chaque champ est défini par un "tag" entre crochets. Ne vous laissez pas intimider par le code : la syntaxe est logique et répétitive. Une fois que vous avez compris un tag, vous les comprenez tous.
Le formulaire par défaut ressemble à ça :
<label> Your name
[text* your-name autocomplete:name] </label>
<label> Your email
[email* your-email autocomplete:email] </label>
<label> Subject
[text* your-subject] </label>
<label> Your message (optional)
[textarea your-message] </label>
[submit "Submit"]
L’astérisque (*) après le type de champ signifie "obligatoire". Autant retenir cette convention tout de suite, vous la croiserez partout.
Les champs disponibles (tags)
Quels types de champs peut-on créer avec CF7 ? La réponse courte : à peu près tous. Voici les principaux :
| Tag | Type de champ | Exemple |
|---|---|---|
text | Texte court | Nom, prénom, objet |
email | Adresse email | Contact, newsletter |
url | Adresse URL | Site web |
tel | Téléphone | Numéro mobile |
number | Nombre | Quantité, budget |
date | Date | Date de rendez-vous |
textarea | Zone de texte longue | Message, commentaire |
select | Menu déroulant | Choix de service |
checkbox | Cases à cocher | Options multiples |
radio | Boutons radio | Choix unique |
file | Téléchargement fichier | CV, devis, pièce jointe |
acceptance | Consentement | RGPD, CGU |
quiz | Question anti-spam | "Combien font 2+3 ?" |
submit | Bouton d’envoi | "Envoyer" |
Pour insérer un tag, cliquez sur le bouton correspondant au-dessus de l’éditeur. Un générateur s’ouvre avec toutes les options du champ (obligatoire/optionnel, taille, valeur par défaut, attribut class…). Vous n’avez pas besoin de mémoriser la syntaxe.

Créer un formulaire de devis pas a pas
Prenons un exemple concret. Vous gérez un site vitrine et vous voulez un formulaire de demande de devis avec : nom, email, téléphone, type de prestation (menu déroulant), budget estimatif et message.
<label> Votre nom (obligatoire)
[text* votre-nom autocomplete:name] </label>
<label> Votre email (obligatoire)
[email* votre-email autocomplete:email] </label>
<label> Votre telephone
[tel votre-tel] </label>
<label> Type de prestation
[select prestation "Developpement web" "Refonte de site" "SEO" "Formation" "Autre"] </label>
<label> Budget estimatif
[number budget min:500 max:50000 step:500] </label>
<label> Votre message
[textarea votre-message] </label>
[acceptance rgpd] J'accepte que mes donnees soient traitees conformement a la politique de confidentialite. [/acceptance]
[submit "Demander un devis"]
Temps estimé pour créer ce formulaire de devis : 10-15 minutes, configuration mail comprise. Une fois que vous maîtrisez les tags, un formulaire simple (nom, email, message) se fait en 3 minutes.
Il vous faudra ensuite configurer l’onglet E-mail pour recevoir ces informations. Et c’est là que ça devient intéressant…
Comment configurer l’envoi des emails ?
L’onglet E-mail explique
L’onglet E-mail définit ce qui se passe quand un visiteur soumet le formulaire. C’est ici que vous configurez le destinataire, l’objet, et le contenu du mail que vous recevrez.

Les champs principaux :
- To (A) : votre adresse email. C’est là que vous recevez les messages.
- From (De) : l’adresse d’expéditeur. Utilisez le format
[votre-nom] <noreply@votresite.com>pour éviter les problèmes de délivrabilité. - Subject (Objet) : l’objet du mail. Incluez les tags CF7, par exemple
[votre-nom] - Demande via le site. - Additional Headers : ajoutez
Reply-To: [votre-email]pour pouvoir répondre directement au visiteur. - Message Body : le contenu du mail. Placez tous les tags de votre formulaire pour recevoir les données.
Conseil : le champ "From" ne doit jamais utiliser l’email du visiteur comme expéditeur. Votre serveur mail n’est pas autorise a envoyer au nom de gmail.com ou hotmail.com. Utilisez toujours une adresse de votre propre domaine (noreply@votresite.com), et placez l’email du visiteur dans le champ Reply-To.
Mail (2) : la notification de confirmation
En bas de l’onglet E-mail, vous trouverez une case à cocher "Use Mail (2)". Activez-la pour envoyer un email de confirmation automatique au visiteur après soumission du formulaire.

Faut-il activer Mail (2) ? Oui, si vous voulez rassurer vos visiteurs. Un simple "Merci, votre message a bien été envoyé. Nous vous répondrons sous 48h." fait toute la différence cote experience utilisateur. On l’oublie trop souvent, mais un formulaire sans accuse de réception laisse le visiteur dans le doute.
Dans le corps du Mail (2), personnalisez le message en incluant le prénom du visiteur : Bonjour [votre-nom], merci pour votre message. Nous reviendrons vers vous dans les 48 heures ouvrables. Ajoutez éventuellement un lien vers votre FAQ ou vos réseaux sociaux. C’est un petit detail, mais les visiteurs qui reçoivent un accuse de réception sont 40% plus susceptibles de patienter sans relancer (source : Zendesk Customer Experience Trends 2024).
Les erreurs courantes d’envoi
Si vos emails CF7 n’arrivent pas (ou arrivent dans les spams), le problème vient rarement de CF7 lui-même. C’est presque toujours un problème de configuration serveur :
- Pas de plugin SMTP : WordPress envoie par défaut via la fonction
wp_mail()de PHP, qui est souvent filtrée par les hébergeurs. Installez un plugin SMTP (WP Mail SMTP, FluentSMTP) pour envoyer via un vrai serveur de messagerie. - SPF/DKIM manquants : votre domaine doit avoir des enregistrements DNS SPF et DKIM corrects pour que les serveurs de réception acceptent vos mails.
- Adresse "From" incorrecte : une adresse d’expéditeur qui ne correspond pas a votre domaine declenche systématiquement les filtres anti-spam.
Bref. Si vos mails CF7 disparaissent, commencez par installer un plugin SMTP. Ça résout le problème dans 90% des cas.
Sur wpformation.com, nous utilisons un serveur SMTP dédié via notre hébergeur O2switch. Les mails partent en moins d’une seconde et arrivent systématiquement en boîte de réception. Si vous êtes sur un hébergement mutualisé, un plugin comme WP Mail SMTP avec un service tiers (Brevo, Mailgun, SendGrid) est la solution la plus fiable. Prévoir 15-30 minutes de configuration, une seule fois.
Comment protéger votre formulaire contre le spam ?
Un formulaire de contact sans protection anti-spam, c’est une porte ouverte. Selon une étude Akismet de 2024, 85% des soumissions de formulaires sur WordPress sont du spam. CF7 ne filtre rien par défaut. Il vous faudra ajouter au moins une couche de protection.
reCAPTCHA v3 (intégration native CF7)
CF7 intègre nativement Google reCAPTCHA v3, qui analyse le comportement du visiteur sans afficher de captcha visible. Pour l’activer :
- Allez dans Contact > Intégration
- Cliquez sur "Configurer l’intégration" sous reCAPTCHA
- Entrez votre clé de site et votre clé secrete (créées sur google.com/recaptcha)
- Enregistrez. reCAPTCHA v3 est actif sur tous vos formulaires.

reCAPTCHA v3 attribue un score de 0 à 1 à chaque visiteur (1 = humain certain). CF7 bloque les soumissions en dessous d’un seuil que vous pouvez ajuster. C’est la protection la plus simple à mettre en place, et c’est souvent suffisant pour les sites a trafic modéré.
Honeypot (extension complémentaire)
Le principe du honeypot est élégant : on ajoute un champ invisible dans le formulaire. Un humain ne le voit pas et ne le remplit pas. Un bot le remplit automatiquement. Si le champ est rempli, la soumission est rejetee.
Installez l’extension Honeypot for Contact Form 7, puis ajoutez le tag [honeypot honeypot-name] dans votre formulaire. Zéro impact sur l’experience utilisateur, et ça bloque les bots les plus basiques.
Cloudflare Turnstile (alternative moderne)
Si vous préférez éviter Google, Cloudflare Turnstile est une alternative gratuite et respectueuse de la vie privée. C’est d’ailleurs ce que nous utilisons sur wpformation.com. Le widget est invisible par défaut, et le taux de blocage des bots est excellent.
Pour l’intégrer a CF7, installez le plugin Simple Cloudflare Turnstile qui ajoute automatiquement la protection sur tous vos formulaires CF7, sans modifier le code. C’est la solution que je recommande pour les sites qui prennent la vie privée au sérieux. D’ailleurs, si vous cherchez à sécuriser votre WordPress de maniere plus globale, le formulaire de contact est un bon point de départ.
Quelle solution anti-spam choisir pour CF7 ? Mon conseil : commencez par reCAPTCHA v3 (natif, zéro extension supplémentaire). Si le spam persiste, ajoutez Honeypot en complément. Si vous voulez vous passer de Google, passez a Turnstile. L’important, c’est de ne jamais laisser un formulaire CF7 sans protection. Même un site à faible trafic reçoit du spam automatisé.
J’ai vu des sites recevoir 200-300 soumissions de spam par jour sur un simple formulaire de contact. Un bon anti-spam, c’est 2 minutes de configuration et des années de tranquillité.
Attention : n’activez pas reCAPTCHA ET Turnstile en même temps. Choisissez l’un ou l’autre. Deux systèmes de captcha superposés peuvent créer des conflits et bloquer les vrais visiteurs.
Comment rendre votre formulaire conforme au RGPD ?
Tout formulaire de contact qui collecte des données personnelles (nom, email, téléphone) doit respecter le Règlement Général sur la Protection des Données (RGPD). En pratique, pour un formulaire CF7, cela implique deux choses : un consentement explicite et une information sur le traitement des données.
Ajouter une case de consentement
CF7 dispose d’un tag dédié : [acceptance]. Ajoutez-le à la fin de votre formulaire, juste avant le bouton d’envoi :
[acceptance rgpd] En soumettant ce formulaire, j'accepte que mes donnees personnelles soient traitees conformement a la politique de confidentialite. [/acceptance]
Le formulaire ne pourra pas être soumis tant que la case n’est pas cochée. C’est le minimum requis par le RGPD pour un formulaire de contact.
Mentions légales et durée de conservation
Au-delà du formulaire, votre page de politique de confidentialité doit mentionner :
- Quelles données sont collectées et pourquoi
- Combien de temps elles sont conservées (à minima 3 ans pour un formulaire de contact commercial, selon la CNIL)
- Comment l’utilisateur peut demander la suppression de ses données
Et après ? Si vous utilisez le plugin Flamingo (du même auteur que CF7) pour stocker les messages en base de données, pensez a purger régulièrement les anciennes entrées. Le RGPD impose une durée de conservation proportionnée à la finalité du traitement.
En pratique, pour un formulaire de contact classique, la CNIL recommande une conservation maximale de 3 ans à compter du dernier contact. Pour un formulaire de devis ou de prospection commerciale, c’est 3 ans à compter de la fin de la relation commerciale. Au-delà, les données doivent être supprimées ou anonymisées.
Le saviez-vous ? Depuis la version 5.8, CF7 intègre un mode de consentement qui désactive le bouton d’envoi tant que la case RGPD n’est pas cochée. C’est le comportement par défaut du tag [acceptance]. Plus besoin de JavaScript custom pour ça.
Petit rappel… le RGPD ne s’applique pas qu’aux sites e-commerce ou aux grandes entreprises. Un simple formulaire de contact sur un blog WordPress collecte des données personnelles (nom, email). Vous êtes donc concerné. La bonne nouvelle, c’est que la mise en conformité basique prend 10 minutes avec CF7 : un tag [acceptance] + un lien vers votre politique de confidentialité. Le minimum vital pour être dans les clous.
Comment personnaliser l’apparence de votre formulaire ?
CSS personnalisé
Par défaut, CF7 génère un formulaire fonctionnel mais… sobre. Très sobre. Pour le personnaliser, ajoutez du CSS dans le fichier style.css de votre thème enfant ou dans l’onglet CSS additionnel de l’Apparence :
/* Largeur et espacement des champs */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
width: 100%;
padding: 12px;
margin-bottom: 15px;
border: 1px solid #ddd;
border-radius: 4px;
}
/* Bouton d'envoi */
.wpcf7 input[type="submit"] {
background-color: #0073aa;
color: #fff;
padding: 12px 30px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
}
.wpcf7 input[type="submit"]:hover {
background-color: #005a87;
}
Ça parait évident, mais… testez votre formulaire sur mobile après avoir ajoute du CSS. Un champ trop large sur desktop peut déborder sur un écran de 375px. Ajoutez max-width: 100% si nécessaire.
Pour aller plus loin dans la personnalisation, vous pouvez ajouter des classes CSS directement dans les tags CF7. Par exemple :
[text* votre-nom class:form-control class:form-large] ajoute les classes form-control et form-large au champ. Utile si vous utilisez un framework CSS comme Bootstrap ou si votre thème enfant WordPress a ses propres classes de formulaire.
Vous pouvez aussi styler les messages d’erreur et de succès :
/* Message de succes */
.wpcf7-mail-sent-ok {
color: #46b450;
border: 2px solid #46b450;
padding: 10px;
}
/* Messages d'erreur */
.wpcf7-not-valid-tip {
color: #dc3232;
font-size: 14px;
}
Flamingo : garder une trace des messages
CF7 ne stocke pas les messages envoyés par défaut. Si votre serveur mail à un problème ou si un email part dans les spams, les messages sont perdus. Définitivement. Flamingo, développé par le même auteur (Takayuki Miyoshi), sauvegarde chaque soumission de formulaire dans la base de données WordPress. C’est gratuit et ça prend 30 secondes à installer.
Installez Flamingo, activez-le, et tous les messages CF7 apparaîtront dans Flamingo > Messages entrants. Pas de configuration supplémentaire. On ne sait jamais, une mauvaise manip est si vite arrivée… autant avoir un filet de sécurité.
Flamingo offre aussi un carnet d’adresses automatique : chaque email qui soumet un formulaire est enregistré. Pratique pour constituer une base de contacts sans outil tiers. Attention cependant au RGPD : informez vos visiteurs que leurs données sont stockées en base de données, et prévoyez une procédure de suppression sur demande.
Contact Form 7 vs WPForms vs Gravity Forms
Comment choisir entre CF7 et ses concurrents ? Voici une comparaison factuelle. Pas de "meilleur plugin universel" : le bon choix dépend de votre profil et de vos besoins.
| Critère | Contact Form 7 | WPForms Lite | Gravity Forms |
|---|---|---|---|
| Prix | Gratuit (100%) | Gratuit (limité) / Pro dès 49$/an | À partir de 59$/an |
| Éditeur visuel | Non (tags texte) | Oui (drag-and-drop) | Oui (drag-and-drop) |
| Templates | Aucun | 600+ (Pro) | 30+ |
| Anti-spam natif | reCAPTCHA v3 | Anti-spam natif + reCAPTCHA | reCAPTCHA + Akismet |
| RGPD | Tag [acceptance] | Champ RGPD dédié | Champ consentement |
| Paiements | Non | Stripe, PayPal (Pro) | Stripe, PayPal, Square |
| Logique conditionnelle | Non (extension tierce) | Oui (Pro) | Oui |
| Impact performances | Léger (~20 KB) | Moyen (~80 KB) | Moyen (~100 KB) |
| Niveau requis | Intermédiaire | Débutant | Débutant/Intermédiaire |
Mon avis : CF7 pour les utilisateurs techniques et les budgets serrés. WPForms pour ceux qui veulent du drag-and-drop sans se prendre la tête. Gravity Forms pour les workflows avancés (logique conditionnelle, paiements, multi-étapes). Si vous lisez cet article, vous êtes probablement du profil CF7.
Un point souvent négligé dans les comparatifs : la dépendance à un service payant. Avec WPForms Pro ou Gravity Forms, le jour où vous arrêtez de payer, vous perdez l’accès aux fonctionnalités avancées. Avec CF7, tout est là. Toujours. Gratuitement. Pour un site vitrine de PME ou un blog personnel, c’est un argument qui pese dans la balance.
De facto, si votre besoin se limite à un formulaire de contact (nom, email, message) avec protection anti-spam et conformité RGPD, CF7 fait le travail sans débourser un centime. Pour des formulaires multi-étapes avec logique conditionnelle, paiements Stripe et envoi vers un CRM… la, on est dans le territoire de WPForms Pro ou Gravity Forms.
Et si vous hésitez entre un formulaire de contact classique et un chatbot IA… restez sur le formulaire. Un chatbot, c’est sexy sur le papier, mais ça ajoute 200-500 KB de JavaScript, ça nécessite un abonnement mensuel, et ça irrite la moitié de vos visiteurs. Un formulaire CF7 bien configure fait le même travail en 20 KB. La bonne vieille méthode a encore de beaux jours devant elle.
Dépanner Contact Form 7 : les 5 problèmes les plus fréquents
Après avoir configuré CF7 sur 50+ sites clients depuis 2014 – et audité des centaines d’autres dans le cadre de mes formations WordPress – voici les 5 problèmes que je rencontre le plus souvent. Et leurs solutions.
Le formulaire ne s’affiche pas
Symptôme : vous insérez le shortcode [contact-form-7 id="xxx"] dans une page, mais rien ne s’affiche cote visiteur.
Solutions :
- Vérifiez que l’ID du formulaire dans le shortcode correspond bien à un formulaire existant dans Contact > Formulaires
- Si vous utilisez un page builder (Elementor, Divi), utilisez le widget "shortcode" et non un bloc texte
- Videz le cache de votre site (LiteSpeed Cache, WP Super Cache, etc.) et rechargez la page
- Vérifiez qu’un plugin de sécurité ne bloque pas les scripts CF7
Les emails n’arrivent pas
C’est LE problème numéro 1 avec CF7. On en a parlé plus haut : installez un plugin SMTP, vérifiez vos enregistrements SPF/DKIM, et n’utilisez jamais l’email du visiteur dans le champ "From".
Pour tester l’envoi : installez WP Mail SMTP et utilisez sa fonction "Envoyer un email de test". Si le test passe mais que les mails CF7 n’arrivent toujours pas, le problème est dans la configuration du formulaire, pas dans le serveur.
Erreur de validation en boucle
Symptôme : le formulaire affiche "une ou plusieurs erreurs" même quand tous les champs sont correctement remplis.
Causes fréquentes : un conflit avec un plugin de cache qui met en cache le token de sécurité (nonce) du formulaire. Excluez la page contenant le formulaire du cache, ou ajoutez une exception pour les requêtes POST dans votre plugin de cache. Autre piste : un conflit avec reCAPTCHA. Si vous avez active reCAPTCHA v3 et que le score est trop bas (seuil par défaut : 0.40), les soumissions sont rejetées silencieusement. Essayez d’abaisser le seuil a 0.20 dans les réglages d’intégration CF7 pour voir si le problème disparaît.
Conflit avec un plugin de cache
CF7 utilise des nonces WordPress et du JavaScript pour la validation. Les plugins de cache agressifs (mise en cache des pages HTML, minification du JS) peuvent casser ce mécanisme.
Solution : dans votre plugin de cache, excluez :
- La ou les pages contenant un formulaire CF7
- Le script
wp-content/plugins/contact-form-7/includes/js/de la minification
Le message de succès ne s’affiche pas
Symptôme : le formulaire est envoyé (vous recevez le mail) mais le visiteur ne voit aucun message de confirmation.
C’est généralement un conflit JavaScript. Ouvrez la console de votre navigateur (F12 > Console) et soumettez le formulaire. Si vous voyez une erreur JS, identifiez le plugin ou le thème responsable. Le coupable est souvent un plugin de minification JS ou un thème qui charge son propre jQuery.
Astuce de debug : désactivez temporairement tous vos plugins sauf CF7, puis réactivez-les un par un. Quand le problème réapparaît, vous tenez le coupable. C’est fastidieux mais ça marche à tous les coups. Comptez 15-20 minutes pour cette manip sur un site avec 10-15 plugins actifs.
Autre cause possible : un conflit avec le thème actif. Si la désactivation de tous les plugins ne résout pas le problème, basculez temporairement sur un thème par défaut (Twenty Twenty-Five) pour isoler le thème comme source du conflit. Ça m’est arrivé sur un site client avec un thème premium qui surchargeait les styles de formulaire… 30 minutes de debug pour trouver une ligne CSS display: none sur la classe .wpcf7-response-output. Pour approfondir le debug WordPress, consultez notre guide Debug WordPress.
Insérer le formulaire dans une page
Pour afficher votre formulaire CF7 sur une page, copiez le shortcode qui apparaît en haut de l’éditeur de formulaire et collez-le dans votre page. Le format ressemble à
[contact-form-7 id="abc123" title="Formulaire de contact 1"].
Dans Gutenberg, vous pouvez le coller dans un bloc Shortcode (le plus propre) ou directement dans un bloc Paragraphe (ca fonctionne aussi). Si vous utilisez un page builder comme Elementor, insérez-le dans un widget "Shortcode" ou "Code court".
Le formulaire s’affiche uniquement cote visiteur (frontend). Dans l’éditeur, vous ne verrez que le shortcode en texte brut. Pour prévisualiser le rendu, cliquez sur "Prévisualiser" ou "Voir la page" une fois publiée.

Info : vous pouvez personnaliser tous les messages de CF7 (succès, erreur, validation) dans l’onglet Messages de l’éditeur de formulaire. Profitez-en pour les traduire en français si votre installation de CF7 est restée en anglais.

Questions fréquentes
Contact Form 7 est-il vraiment gratuit ?
Oui, CF7 est 100% gratuit et n’a pas de version premium. Le développeur, Takayuki Miyoshi, accepte les dons mais n’a jamais créé de version payante en 18 ans de développement. C’est un cas unique dans l’écosystème WordPress.
CF7 est-il compatible avec WordPress 6.9 ?
Oui. La version 6.1.5 de Contact Form 7 a été testée avec WordPress 6.9.4. Le plugin est régulièrement mis à jour pour rester compatible avec les dernières versions de WordPress et de PHP.
Comment ajouter un champ de téléchargement de fichier ?
Utilisez le tag
[file votre-fichier limit:5mb filetypes:pdf|doc|jpg] dans votre formulaire. Dans l’onglet E-mail, ajoutez [votre-fichier] dans le champ "Fichiers joints". La taille maximale et les types de fichiers acceptés sont configurables directement dans le tag.
Peut-on utiliser CF7 avec Elementor ou un autre page builder ?
Oui. Insérez le shortcode CF7 dans un widget "shortcode" ou "HTML" de votre page builder. Elementor et Divi reconnaissent nativement les shortcodes CF7. Pour Gutenberg, collez simplement le shortcode dans un bloc Paragraphe ou Shortcode.
CF7 ralentit-il mon site ?
Non. CF7 est l’un des plugins de formulaire les plus légers : environ 20 KB de JavaScript et CSS. À titre de comparaison, WPForms charge environ 80 KB et Gravity Forms environ 100 KB. L’impact sur les performances est négligeable, même sur un hébergement mutualisé.
Comment exporter les messages recus via CF7 ?
CF7 ne stocke pas les messages par défaut. Installez le plugin Flamingo (gratuit, même auteur) pour sauvegarder chaque soumission en base de données. Flamingo permet ensuite l’export en CSV depuis l’administration WordPress.
Quelle est la différence entre CF7 et WPForms Lite ?
WPForms Lite offre un éditeur visuel drag-and-drop mais limité à 3 types de champs en version gratuite. CF7 donne accès à tous les types de champs sans restriction, mais exige d’écrire le formulaire en tags texte. Pour un formulaire simple (nom, email, message), les deux font le travail. Pour un formulaire personnalise, CF7 est plus flexible en gratuit.
CF7 fonctionne-t-il avec les thèmes blocs (Full Site Editing) ?
Oui. CF7 utilise un shortcode qui fonctionne partout : thèmes classiques, thèmes blocs (FSE), et page builders. Dans l’éditeur de site (FSE), insérez le shortcode dans un bloc Shortcode ou un bloc HTML. Le formulaire s’affiche normalement cote visiteur, quel que soit le thème utilisé.
Et c’est pas fini… CF7 reçoit des mises à jour régulières et la communauté développe des dizaines d’extensions complémentaires. Le plugin a beau avoir 18 ans, il est loin d’être en fin de vie. Voici les plus utiles :
- Flamingo : sauvegarde tous les messages en base de données (gratuit, même auteur)
- CF7 Conditional Fields : affiche ou masque des champs selon les réponses (gratuit, 200 000+ installations)
- Redirection for CF7 : redirige vers une page de remerciement après envoi (gratuit)
- CF7 Multi-Step Forms : découpe un long formulaire en plusieurs étapes (gratuit)
- Honeypot for CF7 : protection anti-spam invisible (gratuit)
Ces extensions sont toutes gratuites et maintenues activement. Elles couvrent 95% des besoins avancés sans jamais sortir du framework CF7. C’est d’ailleurs un des points forts de l’écosystème CF7 : une base gratuite extensible, sans lock-in commercial.
Alors, CF7 ou pas CF7 ? Si vous cherchez un formulaire gratuit, léger, et que vous n’avez pas peur d’écrire quelques balises… c’est probablement le meilleur choix en 2026. Et si vous galérez avec la configuration mail ou l’anti-spam, relisez les sections correspondantes de ce guide. Certain d’en avoir oublié, mais l’essentiel est là.
Pour aller plus loin, consultez la documentation officielle de CF7 et la page des extensions compatibles sur WordPress.org. Il existe des dizaines de plugins tiers qui ajoutent des fonctionnalités a CF7 : champs conditionnels (CF7 Conditional Fields), redirection après envoi (Redirection for CF7), multi-étapes (CF7 Multi-Step Forms), et bien d’autres.
Et vous, quel plugin de formulaire utilisez-vous sur vos sites WordPress ? CF7, WPForms, autre chose ? Si vous voulez approfondir le sujet, découvrez notre guide créer un site WordPress de A a Z qui couvre l’ensemble du processus, formulaire de contact inclus. Et pour optimiser le SEO de votre WordPress, n’oubliez pas que chaque page de formulaire est une opportunité de classement supplémentaire.
Ces 7 templates, je les donne en formation payante. Ici, ils sont gratuits.
Sécurité, SEO, performance, contenu, maintenance — les outils que j'utilise en formation et en audit, avec les prompts IA pour aller 10x plus vite.
- 01Workflow contenu anti-IA
- 02Framework SEO Title/Meta/H1
- 03Audit Express 30 points
- 04Blindage sécurité 10 étapes
- 05PageSpeed 90+ sans plugin
- 06Calendrier maintenance IA
- 07Plan d'action 90 jours
1 email / 2 jours pendant 14 jours. Désabonnement en 1 clic.
Analyser avec l'IA
Partager


