GEOschema.orgJSON-LDFAQ

Schéma FAQ (JSON-LD) pour les citations IA : guide pratique

5 juillet 2026

Le schéma FAQPage est une donnée structurée JSON-LD qui balise les questions et réponses d'une page dans un format que les moteurs de recherche et les IA peuvent interpréter sans deviner. Il ne garantit plus le rich snippet visuel de Google, mais il continue de donner à ChatGPT, Perplexity et AI Overviews une réponse propre et attribuable à extraire et citer. Voici comment l'implémenter correctement.

Ce qu'est le schéma FAQPage et pourquoi les moteurs IA s'appuient dessus

FAQPage est un type défini par schema.org, le vocabulaire commun que les moteurs de recherche et les entreprises d'IA utilisent pour interpréter le contenu web. Selon la définition officielle de schema.org, une FAQPage est une WebPage présentant une ou plusieurs « questions fréquemment posées » — une liste organisée, rédigée par l'éditeur de la page, où chaque question est associée à une seule réponse officielle.

Ce détail — une réponse acceptée par question, rédigée par l'éditeur — distingue FAQPage de son cousin schema.org, QAPage, qui modélise des fils de discussion communautaires (forums, pages façon Stack Overflow) avec plusieurs réponses soumises par des utilisateurs et des votes. Une FAQ support, produit ou informative que vous rédigez et contrôlez relève de FAQPage ; du contenu soumis par des utilisateurs et non modéré n'en relève pas.

Structurellement, FAQPage s'appuie sur trois types schema.org imbriqués :

  • FAQPage — le conteneur, appliqué une seule fois par page
  • Question — une par paire question/réponse, avec la propriété name pour l'intitulé de la question
  • Answer — imbriquée dans acceptedAnswer, avec la propriété text pour le contenu de la réponse

C'est tout le vocabulaire de base. Pas d'image, de notation ou de compteur de votes requis — juste une question, sa réponse acceptée, et la page qui les porte.

Pourquoi les moteurs de réponse IA s'appuient sur cette structure

Les moteurs génératifs — ChatGPT, Perplexity, Google AI Overviews, Gemini, Copilot — font tous face au même problème à grande échelle : à partir d'une page web brute, déterminer de quoi elle parle, quelles parties peuvent être citées sans risque, et à qui attribuer la citation. Normalement, cela suppose de déduire la structure à partir de la mise en page HTML et de la hiérarchie des titres, ce qui est lent et sujet à erreur à l'échelle du web.

Le JSON-LD court-circuite cette étape de déduction. C'est un signal déterministe, hors bande, logé dans une balise <script> : cette chaîne précise est une question, cette chaîne précise est sa réponse acceptée, un point c'est tout. Un système de récupération ou d'indexation n'a pas besoin de deviner si un paragraphe est une réponse de FAQ, une légende ou une citation mise en avant — le balisage le dit déjà. Cela réduit le coût de l'extraction et augmente les chances que le texte exact que vous avez écrit soit celui qui est cité, plutôt qu'une paraphrase reconstituée à partir du bruit environnant de la page.

Cela ne signifie pas qu'un contenu Q/R non balisé est invisible pour les IA — de nombreuses sections FAQ sans aucun balisage sont malgré tout résumées et citées. Comme le résume une analyse du secteur sur la façon dont les LLM traitent le contenu, le balisage schema.org est « un coup de pouce utile, pas une formule magique » : il clarifie l'intention pour des systèmes déjà enclins à privilégier le contenu au format Q/R ; il ne crée pas de la visibilité à partir de rien. Google a par ailleurs confirmé que les systèmes derrière ses propres fonctionnalités de recherche IA utilisent les données structurées comme signal de compréhension, en complément de ce qu'ils déduisent du rendu de la page.

En pratique : le balisage FAQPage ne garantit pas une citation, mais il lève l'ambiguïté au moment précis où un système d'IA décide si votre contenu est assez clair pour être cité.

Un exemple complet et valide de JSON-LD FAQPage

Voici un bloc FAQPage minimal et valide pour une page tarifs/support d'un logiciel SaaS, construit strictement à partir des propriétés que schema.org définit pour FAQPage, Question et Answer :

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Le plan gratuit inclut-il l'accès à l'API ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oui. Le plan gratuit inclut un accès API en lecture seule, limité à 1 000 requêtes par mois. L'accès en écriture et des quotas plus élevés sont disponibles sur les plans payants."
      }
    },
    {
      "@type": "Question",
      "name": "Puis-je résilier mon abonnement à tout moment ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oui. Vous pouvez résilier depuis les paramètres de votre compte à tout moment. Votre plan reste actif jusqu'à la fin de la période de facturation en cours, et aucun prélèvement n'est effectué après la résiliation."
      }
    },
    {
      "@type": "Question",
      "name": "Que se passe-t-il si je dépasse mon quota mensuel ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Les requêtes au-delà du quota mensuel de votre plan sont mises en attente plutôt que rejetées. Vous recevrez une notification par e-mail et pourrez upgrader votre plan à tout moment pour augmenter immédiatement votre limite."
      }
    },
    {
      "@type": "Question",
      "name": "Les données client sont-elles chiffrées au repos et en transit ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oui. Toutes les données sont chiffrées en transit via TLS 1.2 ou supérieur, et chiffrées au repos via AES-256."
      }
    }
  ]
}

Placez cet objet dans une balise script, dans le <head> ou le <body> de la page :

<script type="application/ld+json">
  { ... l'objet JSON ci-dessus ... }
</script>

Quelques notes d'implémentation qui découlent directement du schéma :

  • @context vaut toujours la chaîne "https://schema.org". Sans elle, les parseurs ne peuvent pas résoudre ce que signifient FAQPage ou Question.
  • mainEntity prend un tableau de nœuds Question — au-delà de @type, c'est la seule propriété strictement nécessaire à FAQPage.
  • name sur une Question est l'intitulé de la question lui-même, pas un titre de page ni un slug.
  • acceptedAnswer attend un seul nœud Answer, conformément à la description que schema.org donne de cette propriété : « la réponse retenue comme la meilleure ».
  • text sur Answer est le contenu complet de la réponse, hérité de la propriété générique CreativeWork.text.

Tout le reste défini sur ces types — answerCount, upvoteCount, dateCreated, url — est facultatif et concerne surtout le Q/R communautaire (QAPage), pas une FAQ rédigée par un éditeur. Gardez l'objet minimal.

Erreurs fréquentes d'implémentation

La plupart des problèmes sur FAQPage viennent du fait de traiter le balisage comme un levier de growth hacking plutôt que comme une description fidèle de la page. Les règles générales de Google sur les données structurées sont explicites sur ce point, et le même principe s'applique à tout système qui fait confiance à votre JSON-LD : ne balisez pas de contenu invisible pour les lecteurs, et ne balisez pas de contenu non pertinent ou trompeur.

1. Baliser du contenu invisible sur la page

La violation la plus fréquente : ajouter des paires Q/R au JSON-LD qui n'apparaissent nulle part comme texte lisible sur la page. Si un visiteur qui charge la page ne trouve pas la question et sa réponse complète dans le contenu affiché, le balisage donne une image infidèle de la page — un décalage qui abîme la confiance, aussi bien pour Google que pour un crawler IA qui recoupe les affirmations avec ce qui est réellement visible.

2. Questions dupliquées ou quasi dupliquées

Répéter la même question avec une formulation légèrement différente, ou copier le même bloc FAQ sur des dizaines de pages quasi identiques, ressemble à du remplissage de balisage plutôt qu'à de vraies réponses. Gardez chaque question distincte et répondez-y une seule fois, bien.

3. Une FAQPage qui en fait trop

Les consignes de Google limitent le balisage FAQPage à une seule instance par page. Si une page comporte plusieurs modules Q/R indépendants, regroupez-les dans un seul tableau mainEntity plutôt que d'émettre plusieurs blocs FAQPage.

4. Utiliser FAQPage pour du contenu exclu par les règles de Google

Les publicités et le contenu Q/R généré par les utilisateurs et non modéré ne sont pas des usages appropriés de FAQPage. Si votre « FAQ » est en réalité un fil de commentaires ou un forum, modélisez-la différemment — c'est précisément à cela que sert QAPage.

5. Confondre l'objectif avec le rich snippet visuel

Ce point mérite d'être détaillé, car la situation a réellement changé deux fois en trois ans, et beaucoup de conseils qui circulent encore en ligne sont dépassés.

En août 2023, Google a restreint le rich snippet visuel FAQ — la liste de questions dépliables qui s'affichait directement dans les résultats de recherche — aux « sites gouvernementaux et de santé bien établis et faisant autorité », pour reprendre les termes de son blog Search Central à l'époque. Pour tous les autres sites, le rich snippet a pratiquement disparu du jour au lendemain, même avec un balisage parfait.

Puis, en mai 2026, Google a supprimé entièrement le rich result FAQ, pour tous les sites, y compris les domaines gouvernementaux et de santé qui l'avaient conservé. La documentation FAQPage de Google indique désormais clairement que les rich results FAQ n'apparaissent plus dans Google Search ; le filtre dédié dans Search Console, le rapport de rich result et la prise en charge FAQ dans le Rich Results Test ont suivi en juin, la prise en charge de l'API Search Console devant s'arrêter en août 2026.

Ce que Google n'a pas fait, c'est déprécier le type FAQPage lui-même, ni cesser de le parser. Le balisage existant ne cause aucun tort et reste un vocabulaire schema.org parfaitement valide. Google a par ailleurs confirmé que ses fonctionnalités de recherche pilotées par IA utilisent toujours les données structurées comme signal de compréhension, et d'autres crawlers IA et moteurs de réponse fixent de toute façon leurs propres règles, indépendamment des décisions de Google sur ses rich results.

Le constat honnête : si vous aviez implémenté FAQPage uniquement pour obtenir le snippet bleu dépliable, ce bénéfice précis a disparu pour à peu près tout le monde désormais. Si vous l'implémentez pour rendre votre contenu Q/R lisible par les systèmes de récupération et de génération de réponses, le raisonnement reste intact — et même renforcé, puisque les surfaces de réponse IA représentent une part croissante de la façon dont on découvre votre contenu.

Comment choisir les bonnes questions à couvrir

Le schéma FAQPage amplifie ce que vous y mettez — y compris un mauvais choix de questions. Avant d'écrire le balisage, assurez-vous d'avoir le bon jeu de questions.

Partez de vraies requêtes, pas d'hypothèses

Récupérez les questions que votre audience pose réellement : transcriptions d'appels commerciaux, tickets support, logs de chat en direct, requêtes de recherche interne au site, et boîtes « Autres questions posées » sur vos sujets clés. Elles reflètent une formulation et une intention réelles — les systèmes d'IA récupèrent du contenu sur la base d'une proximité sémantique avec la façon dont les gens posent vraiment leurs questions, pas la façon dont vous préféreriez les formuler en interne.

Priorisez les questions à réponse unique, factuelle et extractible

FAQPage récompense la concision. Une question comme « Quelle est votre politique de remboursement ? » avec une réponse de deux phrases, sans ambiguïté, est une bonne candidate. Une question qui nécessite vraiment de la nuance ou des réserves du type « ça dépend » est moins adaptée — simplifiez-la en une version à réponse nette, ou déplacez le cas nuancé dans le contenu d'un article complet plutôt que dans une entrée de FAQ.

Couvrez les questions qui bloquent une décision ou un achat

Priorisez les questions proches de l'intention commerciale : mécanique tarifaire, éligibilité, compatibilité, sécurité, conditions de résiliation. Ce sont exactement les questions qu'un assistant IA est susceptible de recevoir en votre nom, et une réponse précise et citable augmente les chances que ce soit votre marque, et non celle d'un concurrent, qui soit citée en retour.

Ne forcez pas chaque page à avoir une FAQ

Toutes les pages n'ont pas besoin de balisage FAQPage. Un guide pratique approfondi ou un article comparatif est généralement mieux servi par un schéma Article ou HowTo, avec une petite section FAQ ajoutée seulement si de vraies questions récurrentes existent — pas des questions fabriquées juste pour utiliser le schéma.

Gardez la liste à jour

Les questions vieillissent. Les tarifs changent, des fonctionnalités sortent, des politiques évoluent. Une FAQPage qui répond à la structure tarifaire de l'année dernière est pire que pas de FAQPage du tout, car elle induit activement en erreur tout ce qui la cite — y compris les systèmes d'IA, qui n'ont aucun moyen de savoir que la réponse est obsolète.

Comment valider votre balisage FAQPage

Une fois le JSON-LD en ligne, vérifiez qu'il s'affiche correctement et se parse proprement avant de considérer que tout fonctionne.

1. Passez-le dans le Rich Results Test

Le Rich Results Test de Google, sur search.google.com/test/rich-results, est l'outil que sa propre documentation recommande pour valider les données structurées. Collez l'URL de votre page ou le code brut : l'outil signale les propriétés requises manquantes, les imbrications mal formées et les erreurs de syntaxe par rapport aux exigences de schema.org et de Google.

La prise en charge de l'aperçu spécifique au rich result FAQ étant progressivement retirée de l'outil d'ici mi-2026, traitez désormais le Rich Results Test avant tout comme un validateur de balisage — confirmant que votre JSON-LD se parse sans erreur — plutôt que comme un aperçu d'une fonctionnalité visuelle de recherche.

2. Vérifiez pendant le développement, pas après la mise en ligne

Le flux de travail recommandé par Google consiste à valider pendant le développement, puis à surveiller avec les rapports de statut des rich results après déploiement, car des pages peuvent casser après coup à cause de problèmes de templating ou de serving. Repérer une imbrication acceptedAnswer cassée en environnement de test coûte quelques minutes ; la découvrir trois mois après la mise en production coûte trois mois de mauvais balisage.

3. Confirmez que la page affiche réellement ce que le balisage annonce

Les validateurs vérifient la syntaxe JSON et les propriétés requises, pas si ce texte apparaît réellement comme contenu visible. Cette vérification est manuelle : assurez-vous que chaque question et chaque réponse de votre JSON-LD sont lisibles sans clic, sans accordéon caché, et sans dépendre d'un JavaScript côté client qu'un crawler pourrait ne pas exécuter.

4. Vérifiez ponctuellement avec l'outil d'inspection d'URL

Pour les pages déjà indexées, l'outil d'inspection d'URL de Search Console confirme ce que Google a réellement découvert sur une URL en ligne — utile pour repérer un décalage entre ce que vous avez déployé et ce qui a été exploré, par exemple à cause d'un cache servant un balisage périmé.

5. Validez le JSON lui-même

Avant tout le reste, assurez-vous que l'objet est un JSON syntaxiquement valide : accolades correctement fermées, pas de virgule finale superflue, guillemets correctement échappés dans le texte des réponses. Un seul caractère mal formé, et c'est tout le bloc qui échoue à se parser.

FAQ

Le schéma FAQPage sert-il encore à quelque chose si le rich snippet visuel a disparu ?

Indirectement, oui. Le snippet visuel qui apparaissait dans les résultats Google a disparu pour pratiquement tous les sites depuis mai 2026, mais le balisage aide toujours les systèmes de Google et d'autres moteurs à interpréter la structure de votre page, et il reste un type schema.org valide et activement pris en charge, en dehors de cette seule fonctionnalité visuelle.

FAQPage et QAPage, est-ce la même chose ?

Non. FAQPage correspond à un ensemble unique de réponses officielles rédigées par l'éditeur de la page. QAPage modélise des fils de discussion communautaires avec plusieurs réponses soumises par des utilisateurs et des votes, comme des pages de forum. Utiliser FAQPage pour du contenu généré par les utilisateurs et non modéré va à l'encontre des consignes de Google.

Combien de questions un bloc FAQPage doit-il contenir ?

Il n'existe pas de minimum ou de maximum fixé par les spécifications de schema.org ou de Google. N'incluez que des questions réellement traitées comme contenu visible sur cette page — une poignée de vraies questions vaut mieux qu'une liste gonflée de questions fabriquées.

Puis-je utiliser le balisage FAQPage sur plusieurs pages ?

Oui, tant que chaque page dispose de son propre bloc FAQPage reflétant les questions réellement visibles sur cette page précise. Évitez de dupliquer exactement le même bloc Q/R, mot pour mot, sur de nombreuses pages juste pour ajouter du balisage quelque part.

Ajouter un schéma FAQPage garantit-il que mon contenu sera cité par ChatGPT ou Perplexity ?

Non. Aucun type de donnée structurée ne garantit une citation par un moteur d'IA. Cela lève l'ambiguïté sur ce qui est une question et ce qui est sa réponse, ce qui facilite et fiabilise l'extraction — mais la pertinence, la confiance et la qualité du contenu restent déterminantes pour savoir si ce contenu sera effectivement utilisé.

Sources

GEOCARA

Démarrer l'essai gratuit

Auditez votre site et découvrez comment les IA vous perçoivent.