Article SEO SEO Technique

Recherche de Mots-clés Informational Keyword

Sommaire de l'article

Recherche de mots-clés informationnels (mot-clé informatif)

Introduction

La recherche de mots-clés informationnels est un pilier essentiel de toute stratégie SEO moderne. Ces mots-clés, parfois appelés mots-clés informatifs ou informational keywords, correspondent à des requêtes où l’internaute cherche avant tout des informations, des réponses ou des explications, et non directement à acheter un produit ou un service.

Bien exploités, les mots-clés informationnels permettent :

  • d’attirer un trafic qualifié en phase de découverte,
  • d’asseoir votre expertise sur un sujet,
  • d’alimenter le haut de votre tunnel de conversion,
  • et de préparer subtilement la transition vers des contenus plus commerciaux ou transactionnels.

Dans cet article complet, vous allez découvrir :

  • la définition précise d’un mot-clé informatif,
  • la typologie complète des intentions de recherche et des types de mots-clés,
  • les différences clés entre mots-clés informationnels, commerciaux, transactionnels et navigationnels,
  • une méthodologie concrète pour trouver des mots-clés informatifs,
  • les bonnes pratiques de contenu pour capter ce trafic,
  • les outils et indicateurs à suivre pour optimiser vos résultats dans un contexte SEO enrichi par l’IA et la recherche sémantique.

Concepts clés

Qu’est-ce qu’un mot-clé informatif ?

Un mot-clé informatif (ou mot-clé informationnel) est un mot ou une expression tapé dans un moteur de recherche par un internaute qui souhaite principalement :

  • comprendre un concept,
  • obtenir une information précise,
  • résoudre un problème,
  • apprendre à faire quelque chose.

Exemples typiques de mots-clés informationnels :

  • « Comment cuisiner une omelette »
  • « Quelles sont les causes du stress ? »
  • « Qu’est-ce qu’un mot-clé en SEO ? »
  • « Meilleur moment pour publier sur Instagram »

Ces requêtes reflètent une intention d’apprentissage ou de compréhension plutôt que d’achat. L’utilisateur se situe au début de son parcours : il rassemble des informations, compare, découvre un sujet, sans être encore prêt à sortir sa carte bancaire.

Définition générale d’un mot-clé en SEO

De manière plus globale, un mot-clé en SEO est un mot ou un groupe de mots saisi dans un moteur de recherche pour trouver un contenu, une information, un produit ou un service. Il fait le lien entre :

  • la requête de l’internaute,
  • et le contenu le plus pertinent proposé par les moteurs de recherche.

Dans une stratégie SEO, les mots-clés servent donc à :

  • structurer votre stratégie de contenu,
  • aligner vos pages sur les intentions de recherche de vos audiences,
  • mesurer vos performances (visibilité, trafic, conversions) autour de thèmes et d’expressions cibles.

Typologie complète des intentions de recherche

Pour bien comprendre le rôle des mots-clés informatifs, il est indispensable de les situer parmi les grandes intentions de recherche généralement admises en SEO :

  • Intention informationnelle : l’utilisateur cherche une information, une réponse, une explication, un tutoriel, un guide. Exemples : « qu’est-ce que le marketing automation », « comment optimiser un article de blog ».
  • Intention navigationnelle : l’utilisateur veut atteindre un site ou une page spécifique, souvent déjà connu. Exemples : « YouTube », « Facebook connexion », « Mailchimp login ».
  • Intention commerciale (investigative) : l’utilisateur prépare un achat, compare des solutions, marques, prix, mais n’est pas encore au stade final de la transaction. Exemples : « meilleur outil d’emailing pour PME », « comparatif CRM gratuit ».
  • Intention transactionnelle : l’utilisateur souhaite passer à l’action rapidement (achat, inscription, réservation, téléchargement). Exemples : « souscrire à un logiciel de newsletter », « acheter chaussures running femme 39 ».

Les mots-clés informatifs sont donc associés à l’intention informationnelle : leur objectif principal est de fournir une information utile, claire et fiable.

Autres typologies de mots-clés utiles en SEO

En plus de l’intention de recherche, on distingue aussi les mots-clés selon leur structure et leur niveau de précision :

  • Mots-clés génériques : 1 ou 2 mots très larges, souvent très concurrentiels. Exemples : « chaussures », « vacances ».
  • Mots-clés de longue traîne : expressions de 3 mots ou plus, plus spécifiques, au volume de recherche plus faible mais au taux de conversion plus élevé. Exemples : « acheter chaussures running femme pronatrice », « idées vacances famille petit budget ».
  • Mots-clés de marque : incluant le nom d’une marque ou d’une entreprise. Exemples : « Apple iPhone 15 », « Airbnb Paris ».
  • Mots-clés locaux ou géographiques : intégrant un lieu ou une zone. Exemples : « coiffeur bio Lyon », « restaurant italien Paris 11 ».

Un même mot-clé peut cumuler plusieurs caractéristiques : par exemple, « comment choisir un avocat immobilier à Lyon » est à la fois informationnel, local et de longue traîne.

Formes typiques de mots-clés informatifs

Les mots-clés informationnels prennent fréquemment la forme de questions complètes ou de tournures décrivant un besoin précis. Ils commencent souvent par des termes comme :

  • « comment »
  • « qu’est-ce que » / « quoi »
  • « pourquoi »
  • « combien »
  • « meilleur » (dans une logique d’étude ou de comparaison)
  • « guide », « tutoriel », « exemple », « idées »

Exemples :

  • « comment faire une tarte aux pommes »
  • « quelle est la distance entre la Terre et Mars »
  • « qu’est-ce qu’un mot-clé en SEO »
  • « pourquoi le référencement naturel est important »
  • « exemples de stratégie de contenu B2B »

Différence entre mots-clés informatifs et autres types

Pour structurer efficacement votre stratégie, il est crucial de bien distinguer les principaux types de mots-clés selon l’intention :

  • Mots-clés informatifs (informationnels) : Requêtes centrées sur la recherche d’informations, de réponses à des questions, de tutoriels ou d’explications. Exemples : « comment créer un site WordPress », « quels sont les avantages du télétravail ».
  • Mots-clés commerciaux (intention commerciale) : Requêtes liées à la préparation d’un achat, à la comparaison de solutions, de marques ou d’offres. Exemples : « meilleur logiciel de facturation », « comparatif banques en ligne ».
  • Mots-clés transactionnels : Requêtes indiquant une forte intention de passer à l’action (achat, inscription, réservation). Exemples : « acheter ordinateur portable pas cher », « réserver hôtel Paris centre », « souscrire assurance auto ».
  • Mots-clés navigationnels : Requêtes visant à atteindre un site ou une page précise. Exemples : « Gmail », « LinkedIn inscription », « mon compte impots.gouv ».

Les mots-clés informatifs se distinguent donc par leur orientation : ils visent la compréhension et la découverte, pas l’achat immédiat. Ils sont particulièrement adaptés pour des articles de blog, guides, FAQ, glossaires, études de cas pédagogiques ou encore des livres blancs.

Rôle des mots-clés informatifs dans le parcours utilisateur

Dans un tunnel de conversion classique, les mots-clés informationnels interviennent principalement au début du parcours :

  • Phase de découverte (Top of Funnel) : L’utilisateur prend conscience d’un problème ou d’un besoin, et cherche à le comprendre. Exemples : « comment améliorer la productivité de mon équipe », « pourquoi mes emails arrivent en spam ».
  • Phase de recherche de solutions : Il explore les approches possibles, les méthodes, les outils, les bonnes pratiques. Exemples : « méthodes pour mieux gérer son temps », « comment choisir un outil de newsletter ».

Même si ces mots-clés ne génèrent pas toujours des conversions directes, ils sont essentiels pour :

  • gagner la confiance de votre audience,
  • vous positionner comme référence sur votre thématique,
  • alimenter un parcours de contenus qui mène naturellement vers des requêtes commerciales ou transactionnelles.

Rôle des mots-clés informatifs dans une stratégie SEO

Pourquoi intégrer des mots-clés informationnels ?

Inclure des mots-clés informatifs dans votre contenu permet notamment de :

  • Améliorer votre visibilité organique : De nombreuses requêtes informationnelles ont un volume de recherche élevé. En ciblant ces expressions, vous pouvez attirer un trafic conséquent et qualifié.
  • Satisfaire les attentes utilisateurs : Un contenu qui répond précisément à une question augmente le temps passé sur la page, diminue le taux de rebond et renforce les signaux de pertinence envoyés aux moteurs de recherche.
  • Renforcer votre autorité : Un site qui couvre en profondeur les questions clés d’un secteur est perçu comme une référence, autant par les internautes que par les algorithmes.
  • Alimenter la conversion indirecte : Un utilisateur informé et convaincu par la qualité de vos contenus sera plus enclin à : – s’inscrire à votre newsletter, – télécharger un guide, – demander un devis, – ou revenir plus tard avec une requête transactionnelle.

Types de contenus idéaux pour les mots-clés informatifs

Les mots-clés informationnels sont particulièrement adaptés pour :

  • Articles de blog approfondis (guides complets, analyses, dossiers),
  • Guides pratiques étape par étape,
  • Tutoriels écrits ou vidéo,
  • FAQ détaillées et structurées,
  • Glossaires ou dictionnaires de votre secteur,
  • Études de cas pédagogiques,
  • Pages “ressources” ou “centre d’aide”.

L’enjeu consiste à couvrir les principales questions de votre audience tout en liant ces pages à des contenus plus orientés vers la conversion.

Bonnes pratiques pour optimiser les mots-clés informatifs

Optimiser le contenu autour de l’intention informationnelle

Pour tirer pleinement parti des mots-clés informatifs, il est recommandé de :

  • Placer le mot-clé principal dans :
    • le titre de la page (balise ),</li> <li>le titre principal (<h1>),</li> <li>au moins un sous-titre (<h2 id="ou-l-introduction-et-la-conclusion-et-si-pertinent-la-meta-description-repondre-rapidement-et-claire"> ou <h3>),</li> <li>l’introduction et la conclusion,</li> <li>et, si pertinent, la méta description.</li> </ul> </li> <li>Répondre <strong>rapidement et clairement</strong> à la question principale dans les premiers paragraphes.</li> <li>Développer ensuite des <strong>sous-parties structurées</strong> pour traiter les aspects secondaires (définition, exemples, étapes, erreurs à éviter, etc.).</li> <li>Utiliser un <strong>langage simple et pédagogique</strong>, en évitant le jargon quand il n’apporte pas de valeur.</li> </ul> <h3>Améliorer la structure du site pour la recherche d’informations</h2> <p>Un site bien structuré facilite à la fois :</p> <ul> <li>la <strong>navigation des internautes</strong>, qui trouvent plus vite les réponses recherchées,</li> <li>et l’<strong>exploration par les moteurs de recherche</strong>, qui comprennent mieux vos thématiques.</li> </ul> <p>Quelques bonnes pratiques :</p> <ul> <li>Utiliser des <strong>URL descriptives</strong> intégrant le mot-clé principal ou son synonyme (par exemple : <em>/guide-mots-cles-informationnels/</em>).</li> <li>Organiser vos contenus informationnels en <strong>catégories logiques</strong> (par thématique, par niveau, par type de public).</li> <li>Créer une <strong>architecture en silo</strong> : – une page « piliers » (guide complet sur un sujet), – reliée à des pages « satellites » plus ciblées (questions spécifiques, cas particuliers).</li> <li>Mettre en place une <strong>navigation interne cohérente</strong> avec des liens contextuels vers des ressources complémentaires.</li> <li>Disposer d’une <strong>carte de site XML</strong> pour aider les moteurs de recherche à explorer et indexer vos contenus.</li> </ul> <h3 id="creer-du-contenu-de-haute-qualite">Créer du contenu de haute qualité</h3> <p>Pour performer sur des requêtes informationnelles, la qualité éditoriale est décisive. Visez des contenus qui :</p> <ul> <li>apportent une <strong>réponse complète</strong> à la question posée,</li> <li>sont <strong>bien structurés</strong> (titres, sous-titres, listes, tableaux, encadrés),</li> <li>intègrent des <strong>exemples concrets</strong> et, si possible, des cas réels,</li> <li>offrent une <strong>valeur ajoutée</strong> par rapport aux contenus déjà présents sur les résultats de recherche (angle, profondeur, actualisation, données, visuels).</li> </ul> <p>Exemples de formats efficaces :</p> <ul> <li><strong>Tutoriels détaillés</strong> : « Comment mettre en place une stratégie de mots-clés informationnels étape par étape »</li> <li><strong>Guides structurés</strong> : « Le guide complet des intentions de recherche en SEO »</li> <li><strong>Glossaires sectoriels</strong> : « Lexique du marketing digital »</li> </ul> <h3 id="utiliser-des-synonymes-et-un-champ-semantique-riche">Utiliser des synonymes et un champ sémantique riche</h3> <p>Les moteurs de recherche modernes ne se limitent plus à la répétition exacte d’un mot-clé. Ils interprètent le <strong>contexte sémantique</strong> d’une page. Il est donc pertinent d’intégrer :</p> <ul> <li>des <strong>synonymes</strong> : « mot-clé informatif » / « mot-clé informationnel », « recherche de mots-clés » / « keyword research »,</li> <li>des <strong>expressions proches</strong> : « requête informationnelle », « intention de recherche informationnelle »,</li> <li>des <strong>cooccurrences naturelles</strong> autour du sujet : « volume de recherche », « concurrence », « longue traîne », « trafic organique ».</li> </ul> <p>Exemple :</p> <ul> <li>« recette omelette »</li> <li>« faire une omelette »</li> <li>« comment cuisiner une omelette moelleuse »</li> </ul> <p>Ces expressions cernent la même intention informationnelle tout en enrichissant le champ sémantique de votre contenu.</p> <h3 id="prendre-en-compte-la-recherche-semantique-et-l-ia">Prendre en compte la recherche sémantique et l’IA</h3> <p>En 2025, la recherche d’information passe de plus en plus par :</p> <ul> <li>des <strong>moteurs de recherche enrichis par l’IA</strong>,</li> <li>des <strong>assistants conversationnels</strong>,</li> <li>des résultats enrichis (extraits optimisés, “People Also Ask”, panneaux de connaissance).</li> </ul> <p>Pour que vos contenus informationnels restent performants dans ce contexte :</p> <ul> <li>Formulez des <strong>réponses concises</strong> aux questions clés (idéalement dans les 40 à 60 premiers mots après un sous-titre).</li> <li>Structurez vos contenus autour de <strong>questions précises</strong> (comme dans une FAQ ou une suite de « H2 » formulés en interrogations).</li> <li>Utilisez un <strong>vocabulaire naturel</strong>, proche du langage oral, pour correspondre aux requêtes vocales et conversationnelles.</li> <li>Veillez à la <strong>cohérence sémantique</strong> de chaque page (un sujet principal par page, complété par des sous-sujets logiquement liés).</li> </ul> <h3 id="suivi-et-optimisation-continue">Suivi et optimisation continue</h3> <p>La recherche de mots-clés informationnels n’est pas un exercice ponctuel. C’est un <strong>processus continu</strong> qui demande des ajustements réguliers. Pour cela :</p> <ul> <li>Analysez vos performances avec : <ul> <li>les <strong>rapports de requêtes</strong> des outils de suivi de performances,</li> <li>les <strong>statistiques de trafic organique</strong>,</li> <li>les <strong>données de comportement utilisateur</strong> (temps passé, pages vues, taux de rebond).</li> </ul> </li> <li>Identifiez : <ul> <li>les pages qui génèrent le plus de <strong>trafic informationnel</strong>,</li> <li>les <strong>requêtes réellement tapées</strong> par vos visiteurs,</li> <li>les contenus qui apparaissent souvent sur des requêtes proches mais mal ciblées.</li> </ul> </li> <li>Optimisez en continu : <ul> <li>en enrichissant vos contenus avec de <strong>nouvelles sections</strong>,</li> <li>en <strong>mettant à jour les données</strong> et exemples,</li> <li>en améliorant la <strong>structure et l’ergonomie</strong> des pages.</li> </ul> </li> </ul> <h2 id="methodologie-de-recherche-de-mots-cles-informationnels">Méthodologie de recherche de mots-clés informationnels</h2> <h3 id="1-partir-de-votre-audience-et-de-ses-questions">1. Partir de votre audience et de ses questions</h3> <p>Avant d’ouvrir un outil, commencez par l’<strong>écoute de votre audience</strong> :</p> <ul> <li>Questions récurrentes posées à votre support client,</li> <li>Messages reçus sur les réseaux sociaux,</li> <li>Questions recueillies lors de webinaires, d’événements, de rendez-vous commerciaux,</li> <li>Commentaires sur vos articles ou vidéos.</li> </ul> <p>Notez toutes les formulations telles quelles. Vous disposez déjà d’une base d’<strong>idées de mots-clés informatifs</strong> très proches du langage réel de vos clients.</p> <h3 id="2-utiliser-les-suggestions-des-moteurs-de-recherche">2. Utiliser les suggestions des moteurs de recherche</h3> <p>Les moteurs de recherche eux-mêmes sont une source précieuse d’idées :</p> <ul> <li>La <strong>saisie semi-automatique</strong> (autosuggest) dans la barre de recherche.</li> <li>Les blocs « Autres questions posées » (People Also Ask).</li> <li>Les <strong>recherches associées</strong> affichées en bas de page.</li> </ul> <p>En partant d’un terme générique, vous pouvez ainsi découvrir une multitude de <strong>variantes informationnelles</strong> : questions, formulations longues traînes, angles inattendus.</p> <h3 id="3-exploiter-les-outils-de-recherche-de-mots-cles">3. Exploiter les outils de recherche de mots-clés</h3> <p>Plusieurs outils gratuits ou payants permettent d’aller plus loin dans votre recherche de mots-clés informatifs :</p> <table border="1"> <tr><th>Outil</th><th>Utilisation principale pour les mots-clés informationnels</th></tr> <tr><td>Google Search Console</td><td>Identifier les requêtes informationnelles qui génèrent déjà des impressions et des clics vers vos pages.</td></tr> <tr><td>Google Analytics (ou équivalent)</td><td>Analyser le trafic organique, le comportement sur les contenus informatifs, les chemins de conversion indirects.</td></tr> <tr><td>AnswerThePublic (ou outils similaires)</td><td>Découvrir des questions et formulations en « comment », « pourquoi », « quoi » autour d’un sujet.</td></tr> <tr><td>SEMrush</td><td>Explorer les mots-clés informationnels, leur volume, leur difficulté, ainsi que les types d’intentions associés.</td></tr> <tr><td>Surfer SEO</td><td>Analyser les contenus bien positionnés et identifier les termes informationnels à intégrer pour améliorer la pertinence.</td></tr> <tr><td>Google Trends</td><td>Suivre l’évolution de l’intérêt pour certains thèmes et déceler les sujets informationnels émergents.</td></tr> </table> <h3 id="4-evaluer-et-prioriser-les-mots-cles-informatifs">4. Évaluer et prioriser les mots-clés informatifs</h3> <p>Une fois votre liste de mots-clés informationnels établie, hiérarchisez-la selon plusieurs critères :</p> <ul> <li><strong>Volume de recherche</strong> : l’ampleur de l’audience potentielle sur une requête donnée.</li> <li><strong>Niveau de concurrence</strong> : la difficulté à se positionner sur cette requête par rapport aux sites déjà présents.</li> <li><strong>Pertinence business</strong> : le lien direct avec vos offres, votre expertise, vos personas cibles.</li> <li><strong>Stade du parcours utilisateur</strong> : la capacité de la requête à alimenter le haut du tunnel et à mener ensuite vers des contenus plus engagés.</li> </ul> <p>Privilégiez généralement :</p> <ul> <li>des requêtes à <strong>volume modéré</strong> mais très pertinentes,</li> <li>des expressions de <strong>longue traîne</strong> plus faciles à travailler,</li> <li>des sujets que vous pouvez traiter <strong>en profondeur</strong> avec une réelle valeur ajoutée.</li> </ul> <h3 id="5-cartographier-les-intentions-et-les-contenus">5. Cartographier les intentions et les contenus</h3> <p>Une étape clé consiste à relier chaque mot-clé informatif à une <strong>page existante</strong> ou à une <strong>page à créer</strong>. Pour chaque requête ou groupe de requêtes proches :</p> <ul> <li>Définissez le <strong>type de contenu</strong> le plus adapté (article de blog, guide, FAQ, ressource téléchargeable, etc.).</li> <li>Spécifiez l’<strong>angle</strong> que vous allez adopter (expliqué simplement, détaillé pour experts, comparatif, étude de cas…).</li> <li>Prévoyez les <strong>liens internes</strong> vers des contenus commerciaux ou transactionnels complémentaires.</li> </ul> <p>Cette cartographie permet d’éviter les doublons, de structurer votre <strong>maillage interne</strong> et de vous assurer que chaque intention informationnelle importante dispose d’un contenu dédié.</p> <h2 id="outils-et-ressources-pour-la-recherche-de-mots-cles-informatifs">Outils et ressources pour la recherche de mots-clés informatifs</h2> <p>Voici un récapitulatif d’outils utiles pour travailler les mots-clés informationnels dans une logique complète :</p> <table border="1"> <tr><th>Outil</th><th>Description</th></tr> <tr><td>Google Search Console</td><td>Analyse des performances de vos pages, identification des requêtes informationnelles existantes et opportunités de positionnement.</td></tr> <tr><td>Google Analytics (ou outil d’analytics équivalent)</td><td>Suivi du trafic, du comportement des utilisateurs sur vos contenus informatifs, analyse des chemins de conversion.</td></tr> <tr><td>AnswerThePublic (ou équivalents)</td><td>Découverte de questions et formulations longues traînes autour d’un mot-clé de base.</td></tr> <tr><td>SEMrush</td><td>Recherche avancée de mots-clés, analyse concurrentielle, identification des intentions de recherche.</td></tr> <tr><td>Surfer SEO</td><td>Analyse sémantique des pages bien positionnées, recommandations de contenu pour renforcer la pertinence informationnelle.</td></tr> <tr><td>Google Trends</td><td>Suivi de la popularité de thèmes informationnels dans le temps et comparaison de sujets.</td></tr> </table> <p>D’autres outils spécialisés peuvent également compléter cette liste, en fonction de votre budget, de votre marché et de vos objectifs.</p> <h2 id="indicateurs-de-performance-pour-les-mots-cles-informationnels">Indicateurs de performance pour les mots-clés informationnels</h2> <h3 id="kpi-seo-a-suivre">KPI SEO à suivre</h3> <p>Pour mesurer l’efficacité de votre stratégie autour des mots-clés informatifs, surveillez notamment :</p> <ul> <li><strong>Trafic organique informationnel</strong> : évolution du volume de visites provenant de pages ou de requêtes à intention informationnelle.</li> <li><strong>Position moyenne</strong> sur vos mots-clés cibles : suivi du classement dans les résultats de recherche.</li> <li><strong>Taux de clics (CTR)</strong> : capacité de vos titres et métadonnées à attirer l’internaute dans les pages de résultats.</li> <li><strong>Temps passé sur la page</strong> et <strong>profond eur de visite</strong> : indicateurs de la pertinence et de l’intérêt de vos contenus.</li> <li><strong>Conversions indirectes</strong> : inscriptions, téléchargements, demandes d’informations obtenues à partir d’un premier point de contact via un contenu informationnel.</li> <li><strong>Chemins de conversion multi-pages</strong> : séquences typiques de navigation menant d’un contenu informatif à une action plus engagée.</li> </ul> <h3 id="optimiser-en-fonction-des-resultats">Optimiser en fonction des résultats</h3> <p>En fonction de ces indicateurs, différentes actions d’amélioration peuvent être envisagées :</p> <ul> <li>Si le <strong>trafic est faible</strong> mais la position correcte : – retravailler les titres et les extraits pour améliorer le CTR, – enrichir le contenu avec des éléments multimédia et des sections supplémentaires.</li> <li>Si le <strong>taux de rebond est élevé</strong> et le temps passé faible : – vérifier l’adéquation entre la promesse du titre et le contenu réel, – placer la réponse principale plus haut dans la page, – améliorer la lisibilité (sous-titres, listes, visuels).</li> <li>Si les <strong>conversions indirectes sont faibles</strong> : – ajouter des appels à l’action discrets mais pertinents (inscription à une newsletter, proposition de ressources complémentaires, lien vers une page de service), – mieux intégrer ces contenus dans vos parcours clients.</li> </ul> <h2 id="faq">FAQ</h2> <dl> <dt>Pourquoi les mots-clés informationnels sont-ils importants ?</dt> <dd>Les mots-clés informationnels sont essentiels car ils répondent aux besoins d’information des utilisateurs en phase de découverte. En les travaillant correctement, vous améliorez votre positionnement sur de nombreuses requêtes stratégiques, attirez un trafic qualifié et renforcez votre image d’expert, ce qui crée les conditions d’une future conversion.</dd> <dt>Quelle est la différence entre les différents types de mots-clés ?</dt> <dd>Les <strong>mots-clés informatifs</strong> visent la recherche d’informations. Les <strong>mots-clés commerciaux</strong> s’inscrivent dans une logique de comparaison d’offres ou de recherche de solutions avant l’achat. Les <strong>mots-clés transactionnels</strong> traduisent une intention d’action immédiate (acheter, réserver, s’inscrire). Les <strong>mots-clés navigationnels</strong> servent à atteindre un site ou une page précise. Chacun répond à une étape différente du parcours utilisateur.</dd> <dt>Comment trouver des mots-clés informatifs pertinents ?</dt> <dd>Pour trouver des mots-clés informatifs, partez des questions réelles de votre audience, puis complétez avec les suggestions des moteurs de recherche, les sections « Autres questions posées », les recherches associées et les outils de mots-clés. Analysez ensuite le volume de recherche, la concurrence et la pertinence par rapport à vos offres pour prioriser les expressions les plus stratégiques.</dd> <dt>Les mots-clés informatifs améliorent-ils vraiment le positionnement ?</dt> <dd>Oui. En ciblant correctement des requêtes informationnelles et en produisant des contenus de qualité, vous augmentez vos chances de vous positionner sur un large éventail de mots-clés. Vous pouvez également viser des extraits optimisés et des blocs de questions fréquentes, ce qui accroît votre visibilité et votre taux de clics dans les résultats de recherche.</dd> <dt>Les mots-clés informationnels sont-ils “mieux” que les mots-clés commerciaux ou transactionnels ?</dt> <dd>Ils ne sont ni meilleurs ni moins bons : ils remplissent un <strong>rôle complémentaire</strong>. Les mots-clés informationnels sont excellents pour attirer une audience large, éduquer vos prospects et construire votre notoriété. Les mots-clés commerciaux et transactionnels sont, eux, plus directement liés aux ventes et aux conversions. Une stratégie SEO efficace combine ces différents types de mots-clés au sein d’un même parcours.</dd> <dt>Faut-il créer un article par mot-clé informatif ?</dt> <dd>Pas nécessairement. Il est généralement plus efficace de regrouper des mots-clés informationnels proches au sein de <strong>contenus complets et structurés</strong> (guides, dossiers, FAQ) plutôt que de multiplier les pages très courtes. L’important est de couvrir chaque intention de recherche de manière claire, approfondie et cohérente.</dd> <dt>Comment intégrer des appels à l’action dans un contenu informatif ?</dt> <dd>Dans un contenu à intention informationnelle, les appels à l’action doivent rester <strong>discrets et contextuels</strong> : proposition de lire un article plus avancé sur le sujet, invitation à télécharger un guide complet, inscription à une newsletter thématique, lien vers une page de service directement liée à la problématique abordée. L’objectif est d’accompagner, non de forcer la vente.</dd> </dl> <h2 id="conclusion">Conclusion</h2> <p>Les <strong>mots-clés informationnels</strong> occupent une place centrale dans une stratégie SEO ambitieuse et durable. Ils vous permettent de capter l’attention d’utilisateurs en recherche active d’informations, d’apporter des réponses précises à leurs questions et de construire une relation de confiance avant toute démarche commerciale.</p> <p>En comprenant la <strong>typologie des intentions de recherche</strong>, en maîtrisant la <strong>méthodologie de recherche de mots-clés</strong> et en appliquant les <strong>bonnes pratiques de création de contenu</strong>, vous pouvez bâtir un écosystème éditorial solide : visible, utile pour vos audiences, et étroitement lié à vos objectifs business.</p> <p>Il ne vous reste plus qu’à analyser les questions clés de votre marché, à identifier vos principaux mots-clés informatifs et à concevoir des contenus riches et structurés pour y répondre. Cette démarche, menée avec régularité et rigueur, constitue l’un des leviers les plus efficaces pour développer votre visibilité organique et la performance globale de votre site.</p> </body> </html> </div> <!-- CTA Section --> <div class="mt-12 pt-8 border-t border-gray-200"> <div class="bg-gradient-to-r from-purple-600 to-blue-600 rounded-xl p-8 text-center text-white"> <h3 class="text-2xl font-bold mb-4">Besoin d'aide avec votre SEO ?</h3> <p class="mb-6 text-purple-100">Notre équipe d'experts peut vous aider à optimiser votre site e-commerce</p> <div class="flex flex-col sm:flex-row gap-4 justify-center"> <a href="/seo-ecommerce" class="bg-white text-purple-600 px-8 py-3 rounded-lg font-semibold hover:bg-purple-50 transition inline-block"> Découvrir nos services SEO </a> <a href="/#contact" class="bg-purple-800 text-white px-8 py-3 rounded-lg font-semibold hover:bg-purple-900 transition inline-block"> Nous contacter </a> </div> </div> </div> </article> <!-- Section Commentaires --> <div class="mt-12 max-w-4xl mx-auto bg-white rounded-2xl shadow-xl p-8 md:p-12"> <h2 class="text-3xl font-bold text-gray-900 mb-6 flex items-center gap-3"> <i class="fas fa-comments text-purple-600"></i> Commentaires </h2> <!-- Liste des commentaires approuvés --> <div id="comments-list" class="mb-8 space-y-6"> <!-- Les commentaires approuvés seront chargés ici via JavaScript --> </div> <!-- Formulaire de commentaire --> <div class="border-t border-gray-200 pt-8"> <h3 class="text-xl font-semibold text-gray-900 mb-4">Laisser un commentaire</h3> <form id="comment-form" class="space-y-4"> <input type="hidden" id="article-slug" value="recherche-de-mots-cles-informational-keyword"> <div class="grid md:grid-cols-2 gap-4"> <div> <label for="comment-name" class="block text-sm font-medium text-gray-700 mb-2">Nom *</label> <input type="text" id="comment-name" name="name" required class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent"> </div> <div> <label for="comment-email" class="block text-sm font-medium text-gray-700 mb-2">Email *</label> <input type="email" id="comment-email" name="email" required class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent"> </div> </div> <div> <label for="comment-message" class="block text-sm font-medium text-gray-700 mb-2">Message *</label> <textarea id="comment-message" name="message" rows="5" required class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-600 focus:border-transparent"></textarea> </div> <div class="text-sm text-gray-600"> <i class="fas fa-info-circle text-purple-600"></i> Votre commentaire sera soumis à modération avant publication. </div> <button type="submit" class="bg-gradient-to-r from-purple-600 to-blue-600 text-white px-8 py-3 rounded-lg font-semibold hover:from-purple-700 hover:to-blue-700 transition inline-flex items-center gap-2"> <i class="fas fa-paper-plane"></i> Publier le commentaire </button> </form> <div id="comment-status" class="mt-4 hidden"></div> </div> </div> <!-- Navigation Articles --> <div class="mt-12 max-w-4xl mx-auto"> <a href="/blog" class="inline-flex items-center gap-2 text-purple-600 hover:text-purple-800 transition font-semibold"> <i class="fas fa-arrow-left"></i> Retour au blog </a> </div> </div> </section> <!-- Script pour les commentaires --> <script> const articleSlug = 'recherche-de-mots-cles-informational-keyword'; // Charger les commentaires approuvés async function loadComments() { try { const response = await fetch(`/gestion-commentaires/get-comments.php?slug=${articleSlug}`); const data = await response.json(); const commentsList = document.getElementById('comments-list'); if (data.success && data.comments.length > 0) { commentsList.innerHTML = data.comments.map(comment => ` <div class="border-l-4 border-purple-600 pl-4 py-2"> <div class="flex items-center gap-2 mb-2"> <strong class="text-gray-900">${comment.name}</strong> <span class="text-sm text-gray-500">•</span> <span class="text-sm text-gray-500">${new Date(comment.date).toLocaleDateString('fr-FR')}</span> </div> <p class="text-gray-700">${comment.message}</p> </div> `).join(''); } else { commentsList.innerHTML = '<p class="text-gray-500 italic">Aucun commentaire pour le moment. Soyez le premier à commenter !</p>'; } } catch (error) { console.error('Erreur lors du chargement des commentaires:', error); } } // Gérer la soumission du formulaire document.getElementById('comment-form').addEventListener('submit', async function(e) { e.preventDefault(); const formData = { slug: articleSlug, name: document.getElementById('comment-name').value, email: document.getElementById('comment-email').value, message: document.getElementById('comment-message').value }; const submitBtn = this.querySelector('button[type="submit"]'); const originalText = submitBtn.innerHTML; submitBtn.disabled = true; submitBtn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Envoi en cours...'; try { const response = await fetch('/gestion-commentaires/submit-comment.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(formData) }); const result = await response.json(); const messageDiv = document.getElementById('comment-status'); if (result.success) { messageDiv.className = 'mt-4 p-4 bg-green-100 border border-green-400 text-green-700 rounded-lg'; messageDiv.textContent = 'Merci ! Votre commentaire a été soumis et sera publié après modération.'; messageDiv.classList.remove('hidden'); this.reset(); } else { messageDiv.className = 'mt-4 p-4 bg-red-100 border border-red-400 text-red-700 rounded-lg'; messageDiv.textContent = result.message || 'Une erreur est survenue. Veuillez réessayer.'; messageDiv.classList.remove('hidden'); } } catch (error) { const messageDiv = document.getElementById('comment-status'); messageDiv.className = 'mt-4 p-4 bg-red-100 border border-red-400 text-red-700 rounded-lg'; messageDiv.textContent = 'Erreur de connexion. Veuillez réessayer plus tard.'; messageDiv.classList.remove('hidden'); } finally { submitBtn.disabled = false; submitBtn.innerHTML = originalText; } }); // Charger les commentaires au chargement de la page loadComments(); </script> <footer class="bg-gray-950 text-gray-400 py-12"> <div class="container mx-auto px-6"> <div class="flex flex-col md:flex-row justify-between items-center"> <div class="mb-6 md:mb-0 flex items-start gap-4"> <img src="/images/logo.png" alt="Logo VRAIVEX" class="h-32 w-32 md:h-40 md:w-40 object-contain"> <div> <a href="#" class="text-2xl font-bold block"> <span class="gradient-text">VRAIVEX</span> </a> <p class="mt-2 text-sm">Automatisation, IA et SEO au service de la performance e-commerce</p> </div> </div> <div class="flex flex-col items-center md:items-end"> <div class="grid grid-cols-2 md:flex md:flex-wrap gap-3 md:space-x-6 mb-4 text-center md:text-right"> <a href="/#about" class="hover:text-white transition text-sm">À propos</a> <a href="/#services" class="hover:text-white transition text-sm">Services</a> <a href="/#prestations" class="hover:text-white transition text-sm">Prestations</a> <a href="/#bestsellers" class="hover:text-white transition text-sm">Best Sellers</a> <a href="/#realisations" class="hover:text-white transition text-sm">Réalisations</a> <a href="/#brands" class="hover:text-white transition text-sm">Nos Sites</a> <a href="/creation-site-ecommerce" class="hover:text-white transition text-sm">Création Sites</a> <a href="/seo-ecommerce" class="hover:text-white transition text-sm">SEO E-commerce</a> <a href="/partenaires" class="hover:text-white transition text-sm">Partenaires</a> <a href="/#contact" class="hover:text-white transition text-sm">Contact</a> </div> <p class="text-sm text-center md:text-right">© 2026 VRAIVEX. Tous droits réservés.</p> </div> </div> </div> </footer> <!-- Back to Top Button --> <button id="backToTop" class="fixed bottom-8 right-8 bg-gradient-to-r from-purple-600 to-blue-600 text-white p-4 rounded-full shadow-lg hover:shadow-xl transform hover:scale-110 transition-all duration-300 z-50 hidden"> <i class="fas fa-arrow-up text-xl"></i> </button> <script> // Header scroll effect window.addEventListener('scroll', function() { const header = document.getElementById('header'); if (window.scrollY > 100) { header.classList.add('header-scrolled'); } else { header.classList.remove('header-scrolled'); } }); // Smooth scrolling for anchor links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); document.querySelector(this.getAttribute('href')).scrollIntoView({ behavior: 'smooth' }); }); }); // Mobile menu toggle const mobileMenuButton = document.getElementById('mobileMenuButton'); const mobileMenu = document.getElementById('mobileMenu'); const menuIcon = document.getElementById('menuIcon'); if (mobileMenuButton && mobileMenu) { mobileMenuButton.addEventListener('click', function() { mobileMenu.classList.toggle('hidden'); // Toggle icon between bars and times if (mobileMenu.classList.contains('hidden')) { menuIcon.classList.remove('fa-times'); menuIcon.classList.add('fa-bars'); } else { menuIcon.classList.remove('fa-bars'); menuIcon.classList.add('fa-times'); } }); // Close menu when clicking on a link const mobileLinks = mobileMenu.querySelectorAll('a'); mobileLinks.forEach(link => { link.addEventListener('click', function() { mobileMenu.classList.add('hidden'); menuIcon.classList.remove('fa-times'); menuIcon.classList.add('fa-bars'); }); }); } // Brands Carousel const brandsCarousel = document.getElementById('brandsCarousel'); const brandsContainer = document.getElementById('brandsContainer'); const brandsPrevBtn = document.getElementById('brandsPrevBtn'); const brandsNextBtn = document.getElementById('brandsNextBtn'); const brandsPrevBtnMobile = document.getElementById('brandsPrevBtnMobile'); const brandsNextBtnMobile = document.getElementById('brandsNextBtnMobile'); if (brandsContainer && brandsCarousel) { let currentIndex = 0; const cards = brandsContainer.querySelectorAll('.brand-card'); const gap = 24; const cardsPerView = { mobile: 1, tablet: 2, desktop: 3, large: 4 }; function getCardsPerView() { const w = window.innerWidth; if (w >= 1280) return cardsPerView.large; if (w >= 1024) return cardsPerView.desktop; if (w >= 768) return cardsPerView.tablet; return cardsPerView.mobile; } function getCardWidth() { const cpv = getCardsPerView(); const cw = brandsCarousel.offsetWidth; return (cw - gap * (cpv - 1)) / cpv; } function updateCarousel() { const cpv = getCardsPerView(); const cardW = getCardWidth(); const maxIdx = Math.max(0, cards.length - cpv); currentIndex = Math.min(currentIndex, maxIdx); const offset = currentIndex * (cardW + gap); brandsContainer.style.transform = `translateX(-${offset}px)`; const atStart = currentIndex === 0; const atEnd = currentIndex >= maxIdx; [brandsPrevBtn, brandsPrevBtnMobile].forEach(function(btn) { if (btn) { btn.style.opacity = atStart ? '0.4' : '1'; btn.style.pointerEvents = atStart ? 'none' : 'auto'; } }); [brandsNextBtn, brandsNextBtnMobile].forEach(function(btn) { if (btn) { btn.style.opacity = atEnd ? '0.4' : '1'; btn.style.pointerEvents = atEnd ? 'none' : 'auto'; } }); if (document.getElementById('brandsCounter')) { document.getElementById('brandsCounter').textContent = (currentIndex + 1) + ' / ' + (maxIdx + 1); } } function nextSlide() { const cpv = getCardsPerView(); const maxIdx = Math.max(0, cards.length - cpv); if (currentIndex < maxIdx) { currentIndex++; updateCarousel(); } } function prevSlide() { if (currentIndex > 0) { currentIndex--; updateCarousel(); } } if (brandsNextBtn) brandsNextBtn.addEventListener('click', nextSlide); if (brandsPrevBtn) brandsPrevBtn.addEventListener('click', prevSlide); if (brandsNextBtnMobile) brandsNextBtnMobile.addEventListener('click', nextSlide); if (brandsPrevBtnMobile) brandsPrevBtnMobile.addEventListener('click', prevSlide); function setCardWidths() { const cardW = getCardWidth(); cards.forEach(function(card) { card.style.width = cardW + 'px'; card.style.minWidth = cardW + 'px'; card.style.flexShrink = '0'; }); } let touchStartX = 0; let touchEndX = 0; brandsCarousel.addEventListener('touchstart', function(e) { touchStartX = e.changedTouches[0].screenX; }, { passive: true }); brandsCarousel.addEventListener('touchend', function(e) { touchEndX = e.changedTouches[0].screenX; const diff = touchStartX - touchEndX; if (Math.abs(diff) > 50) { diff > 0 ? nextSlide() : prevSlide(); } }, { passive: true }); setCardWidths(); updateCarousel(); let resizeTimeout; window.addEventListener('resize', function() { clearTimeout(resizeTimeout); resizeTimeout = setTimeout(function() { setCardWidths(); currentIndex = 0; updateCarousel(); }, 250); }); } </script> <script> // Header scroll effect window.addEventListener('scroll', function() { const header = document.getElementById('header'); if (window.scrollY > 50) { header.classList.add('header-scrolled'); } else { header.classList.remove('header-scrolled'); } }); // Scroll animations const observerOptions = { threshold: 0.1, rootMargin: '0px 0px -50px 0px' }; const observer = new IntersectionObserver(function(entries) { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('visible'); } }); }, observerOptions); // Observe all fade-in-up elements document.querySelectorAll('.fade-in-up').forEach(el => { observer.observe(el); }); // Smooth scroll for anchor links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); const target = document.querySelector(this.getAttribute('href')); if (target) { target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); }); // Counter animation for stats function animateCounter(element, target, duration = 2000) { let start = 0; const increment = target / (duration / 16); const timer = setInterval(() => { start += increment; if (start >= target) { element.textContent = target + (element.textContent.includes('+') ? '+' : '') + (element.textContent.includes('K') ? 'K€' : ''); clearInterval(timer); } else { element.textContent = Math.floor(start) + (element.textContent.includes('+') ? '+' : '') + (element.textContent.includes('K') ? 'K€' : ''); } }, 16); } // Observe stats section const statsObserver = new IntersectionObserver(function(entries) { entries.forEach(entry => { if (entry.isIntersecting && !entry.target.classList.contains('animated')) { entry.target.classList.add('animated'); const statsCards = entry.target.querySelectorAll('.stats-card'); statsCards.forEach((card, index) => { setTimeout(() => { card.style.opacity = '0'; card.style.transform = 'translateY(20px)'; setTimeout(() => { card.style.transition = 'all 0.6s ease'; card.style.opacity = '1'; card.style.transform = 'translateY(0)'; }, 100); }, index * 100); }); } }); }, { threshold: 0.3 }); const statsSection = document.querySelector('section.bg-gradient-to-r'); if (statsSection) { statsObserver.observe(statsSection); } </script> <script> // Gestion du formulaire de contact const contactForm = document.getElementById('contact-form'); const formMessage = document.getElementById('form-message'); const submitBtn = document.getElementById('submit-btn'); if (contactForm) { contactForm.addEventListener('submit', async function(e) { e.preventDefault(); // Désactiver le bouton pendant l'envoi submitBtn.disabled = true; submitBtn.textContent = 'Envoi en cours...'; // Récupérer les données du formulaire const formData = new FormData(contactForm); try { // Vérifier que les données sont bien dans le FormData const formDataObj = { name: formData.get('name'), email: formData.get('email'), subject: formData.get('subject'), message: formData.get('message') }; console.log('Données du formulaire:', formDataObj); // Vérifier que tous les champs sont remplis if (!formDataObj.name || !formDataObj.email || !formDataObj.subject || !formDataObj.message) { formMessage.classList.remove('hidden'); formMessage.className = 'mb-6 p-4 rounded-lg bg-red-600 text-white'; formMessage.textContent = 'Veuillez remplir tous les champs du formulaire.'; submitBtn.disabled = false; submitBtn.textContent = 'Envoyer le message'; return; } // Essayer d'abord avec JSON (plus fiable) // Siça ne fonctionne pas, on essaiera avec FormData let response; try { // Méthode 1 : Envoyer en JSON (plus fiable selon les forums) response = await fetch('gestion-formulaire-contact/send-email-json.php', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(formDataObj) }); } catch (jsonError) { console.warn('Erreur avec JSON, essai avec FormData:', jsonError); // Méthode 2 : Fallback avec FormData response = await fetch('send-email.php', { method: 'POST', body: formData }); } // Lire le texte de la réponse d'abord pour déboguer const responseText = await response.text(); console.log('Réponse serveur:', responseText.substring(0, 500)); // Vérifier si la réponse est OK if (!response.ok) { // Essayer de parser le JSON d'erreur try { const errorResult = JSON.parse(responseText); // Afficher le message d'erreur du serveur directement à l'utilisateur formMessage.classList.remove('hidden'); formMessage.className = 'mb-6 p-4 rounded-lg bg-red-600 text-white'; formMessage.textContent = errorResult.message || `Erreur ${response.status}: ${response.statusText}`; submitBtn.disabled = false; submitBtn.textContent = 'Envoyer le message'; return; // Sortir de la fonction pour ne pas continuer } catch (e) { throw new Error(`Erreur HTTP ${response.status}: ${response.statusText}. Réponse: ${responseText.substring(0, 200)}`); } } // Vérifier si PHP n'est pas exécuté (le serveur renvoie le code PHP brut) if (responseText.trim().startsWith('<?php') || responseText.includes('<?php')) { console.error('ERREUR: PHP n\'est pas exécuté par le serveur. Le code PHP est renvoyé brut.'); console.error('Le serveur web n\'est pas configuré pour exécuter PHP.'); // Utiliser la solution de secours : sauvegarder dans localStorage const messageData = { name: formData.get('name'), email: formData.get('email'), subject: formData.get('subject'), message: formData.get('message'), timestamp: new Date().toISOString() }; // Sauvegarder dans localStorage comme solution de secours const savedMessages = JSON.parse(localStorage.getItem('vraivex_messages') || '[]'); savedMessages.push(messageData); localStorage.setItem('vraivex_messages', JSON.stringify(savedMessages)); // Afficher un message spécial formMessage.classList.remove('hidden'); formMessage.className = 'mb-6 p-4 rounded-lg bg-yellow-600 text-white'; formMessage.innerHTML = '⚠️ PHP n\'est pas configuré sur le serveur. Votre message aété sauvegardé localement. <br>Veuillez nous contacter directement à <strong>contact@vraivex.fr</strong> ou consulter les messages sauvegardés dans la console du navigateur.'; // Afficher les messages sauvegardés dans la console console.log('Messages sauvegardés localement:', savedMessages); console.log('Pour consulter les messages, tapez dans la console: JSON.parse(localStorage.getItem("vraivex_messages"))'); return; // Sortir de la fonction } // Essayer de parser le JSON let result; try { result = JSON.parse(responseText); } catch (parseError) { console.error('Erreur de parsing JSON:', parseError); console.error('Réponse reçue:', responseText.substring(0, 500)); throw new Error('Le serveur a renvoyé une réponse invalide. Vérifiez la console pour plus de détails.'); } // Afficher le message de résultat formMessage.classList.remove('hidden'); if (result.success) { formMessage.className = 'mb-6 p-4 rounded-lg bg-green-600 text-white'; formMessage.textContent = 'Message envoyé avec succès ! Nous vous répondrons dans les plus brefs délais.'; contactForm.reset(); } else { formMessage.className = 'mb-6 p-4 rounded-lg bg-red-600 text-white'; let errorMsg = result.message || 'Une erreur est survenue. Veuillez réessayer.'; // Afficher le message de debug en développement (à retirer en production) if (result.debug) { console.error('Erreur détaillée:', result.debug); } formMessage.textContent = errorMsg; } } catch (error) { formMessage.classList.remove('hidden'); formMessage.className = 'mb-6 p-4 rounded-lg bg-red-600 text-white'; // Message d'erreur plus détaillé pour le débogage let errorMsg = 'Une erreur est survenue lors de la communication avec le serveur. '; errorMsg += 'Veuillez réessayer plus tard ou nous contacter directement à contact@vraivex.fr'; // En mode développement, afficher plus de détails if (error.message) { console.error('Erreur détaillée:', error); console.error('Message:', error.message); console.error('Stack:', error.stack); } formMessage.textContent = errorMsg; } finally { // Réactiver le bouton submitBtn.disabled = false; submitBtn.textContent = 'Envoyer le message'; // Masquer le message après 5 secondes setTimeout(() => { formMessage.classList.add('hidden'); }, 5000); } }); } // Back to Top Button functionality const backToTopButton = document.getElementById('backToTop'); // Show/hide button based on scroll position window.addEventListener('scroll', () => { if (window.pageYOffset > 300) { backToTopButton.classList.remove('hidden'); } else { backToTopButton.classList.add('hidden'); } }); // Smooth scroll to top when clicked backToTopButton.addEventListener('click', () => { window.scrollTo({ top: 0, behavior: 'smooth' }); }); </script> </body> </html>