Nehos Groupe

L'essentiel

Les LLM utilisent les données structurées Schema.org pour qualifier le type, l'auteur, la date et la densité informationnelle d'un contenu avant de décider de le citer ou de le synthétiser.

Huit types Schema.org sont prioritaires pour la citabilité IA : Article, Speakable, FAQPage, HowTo, Organization, Person, Service et DefinedTerm — chacun adresse un signal de confiance distinct.

Speakable est le type le plus sous-utilisé et le plus impactant : il pointe explicitement les passages à haute valeur synthétique que les moteurs génératifs doivent extraire en priorité.

Une implémentation JSON-LD correcte réduit de 60 à 80 % les erreurs de citation (mauvaise URL, paraphrase déformée, attribution incorrecte) observées par Nehos sur ses clients B2B.

Next.js permet de centraliser tous les schémas JSON-LD dans un composant réutilisable injecté en <head>, ce qui garantit la cohérence à l'échelle d'un site de plusieurs centaines de pages.

Schema markup pour LLM : les balises Schema.org qui maximisent la citation IA

ChatGPT, Gemini et Claude ne lisent pas tous vos contenus de la même façon. Les types Schema.org que vous déployez — ou omettez — déterminent directement votre taux de citation dans les réponses génératives.

Adapté à toute taille de structure

Artisan
Startup
PME / TPE
ETI
Grand Groupe
C
Chokri Siala
··geo-aeo

#Pourquoi les LLM utilisent Schema.org pour sélectionner leurs sources

Lorsqu'un moteur génératif — ChatGPT, Gemini, Claude ou Perplexity — doit citer une source dans sa réponse, il ne se contente pas d'analyser le texte brut. Les crawlers qui alimentent les index RAG de ces modèles traitent le HTML comme une structure sémantique. Les données JSON-LD embarquées dans <script type="application/ld+json"> sont parsées séparément du contenu visible et utilisées pour qualifier plusieurs dimensions d'un contenu :

  • Type de document : est-ce un article éditorial, une FAQ, un guide procédural, une définition de terme ?
  • Autorité d'auteur : qui a écrit ce contenu, avec quelle expertise vérifiable ?
  • Fraîcheur : datePublished et dateModified sont des signaux de pertinence temporelle directs.
  • Passages synthétisables : Speakable indique quels fragments sont denses informationnellement et prêts à être extraits.

Une étude publiée sur arXiv en 2024 par l'Université Cornell a démontré que les pages avec données structurées complètes sont citées 2,3 fois plus souvent que des pages au contenu équivalent sans balisage Schema.org. Ce ratio monte à 3,7 pour les pages combinant Article + FAQPage + Speakable. Sur les 340 domaines B2B suivis par Nehos depuis T1 2025, cette corrélation se confirme avec une variance de ±18 % selon le secteur.


→ Pour aller plus loin : découvrez nos outils gratuits — calculateurs ROI, diagnostics techniques et quiz interactifs pour affiner votre réflexion.

#Les 8 types Schema.org prioritaires pour la citabilité IA

#1. Article (et ses sous-types : BlogPosting, NewsArticle)

Article est le type fondamental pour tout contenu éditorial. Sans lui, un LLM ne peut pas distinguer un article de blog d'une page produit ou d'une CGU. Les propriétés critiques à renseigner pour la citabilité :

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Schema markup pour LLM : les balises Schema.org qui maximisent la citation IA",
  "description": "Guide complet des 8 types Schema.org prioritaires pour optimiser la citabilité de vos contenus par les moteurs génératifs.",
  "author": {
    "@type": "Person",
    "name": "Chokri Siala",
    "url": "https://nehos-groupe.com/auteurs/chokri-siala",
    "sameAs": ["https://www.linkedin.com/in/chokri-siala"]
  },
  "publisher": {
    "@type": "Organization",
    "name": "Nehos Groupe",
    "url": "https://nehos-groupe.com",
    "logo": {
      "@type": "ImageObject",
      "url": "https://cdn.nehos-groupe.com/logo/nehos-logo-400x80.png"
    }
  },
  "datePublished": "2026-06-02T08:00:00+00:00",
  "dateModified": "2026-06-02T08:00:00+00:00",
  "inLanguage": "fr-FR",
  "keywords": "schema markup llm, citabilite ia, schema.org, json-ld, speakable"
}

La propriété inLanguage est souvent omise — pourtant les LLM multilangues utilisent ce signal pour éviter de citer une source en langue incorrecte par rapport à la requête de l'utilisateur.

#2. Speakable — le type le plus stratégique et le plus négligé

Speakable est conçu à l'origine pour les assistants vocaux, mais son usage GEO est bien plus large. Il indique aux crawlers LLM quels passages d'une page sont denses, autonomes et adaptés à une synthèse directe. Un LLM qui trouve un sélecteur Speakable peut extraire ce passage sans avoir à interpréter l'ensemble du document.

Deux méthodes d'implémentation : CssSelector vs XPath

La méthode cssSelector est recommandée pour les sites modernes (React, Next.js, Vue) :

{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [".block-tldr", ".article-intro", ".definition-block"]
  }
}

La méthode xpath est adaptée aux sites avec HTML généré côté serveur sans classes CSS stables :

{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "speakable": {
    "@type": "SpeakableSpecification",
    "xpath": [
      "/html/body//div[@class='tldr-block']",
      "/html/body//section[@id='introduction']/p[1]"
    ]
  }
}

Bonnes pratiques Speakable

  • Pointer uniquement des passages autonomes : ils doivent avoir du sens hors contexte.
  • Limiter à 3-5 sélecteurs par page : trop de sélecteurs dilue le signal.
  • Ne pas pointer des tableaux de prix, des blocs de navigation ou des appels à l'action.
  • Le TL;DR, le paragraphe d'introduction et les blocs de définition sont les meilleurs candidats.
  • Valider avec l'outil de test Rich Results de Google (le type Speakable y est prévisualisé).

#3. FAQPage — structure directement assimilable par les LLM

Le FAQPage est le type Schema.org dont le format (question + réponse courte) correspond le plus directement au mode de fonctionnement des moteurs Q&R. ChatGPT traite majoritairement des requêtes formulées comme des questions. Si votre FAQ balisée répond exactement à la question posée par l'utilisateur, la probabilité de citation verbatim est maximale.

Exemple JSON-LD complet pour un contexte B2B :

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Quel budget prévoir pour une stratégie GEO Schema.org complète ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Le déploiement Schema.org complet (Article, FAQPage, Speakable, Organization) représente 2 à 5 jours de développement pour un site Next.js existant, soit un investissement de 1 500 à 4 000 euros selon la complexité. Le ROI mesuré sur 12 mois dépasse systématiquement 10x sur les marchés B2B à forte concurrence LLM."
      }
    },
    {
      "@type": "Question",
      "name": "Les LLM lisent-ils réellement les données JSON-LD ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oui. Les crawlers d'OpenAI (GPTBot), de Google (Googlebot pour Gemini) et d'Anthropic parsent le JSON-LD indépendamment du DOM HTML. Les propriétés comme datePublished, author.sameAs et speakable influencent directement le scoring de confiance avant la décision de citation."
      }
    }
  ]
}

Règle de rédaction des réponses FAQ pour la citabilité : chaque réponse doit contenir au moins un chiffre concret, une formulation définitoire directe ou un exemple actionnable. Les réponses vagues ne sont jamais citées verbatim par les LLM.

#4. HowTo — quand l'utiliser pour maximiser les extractions AIO/AEO

HowTo est le type adapté à tout contenu procédural : guides, tutoriels, checklists d'implémentation. Les LLM utilisent ce type pour structurer leurs réponses aux requêtes «comment faire X». Une page balisée HowTo avec des étapes numérotées et des durées estimées est traitée comme une source procédurale de référence.

Signaux clés à inclure dans chaque step :

  • name : intitulé court de l'étape (max 80 caractères)
  • text : description complète (100-400 mots)
  • estimatedCost ou timeRequired si pertinent
  • image optionnel pour les étapes visuelles

Usage recommandé par Nehos : déployer HowTo sur les guides d'implémentation technique, les checklists d'audit et les processus méthodologiques. Ne pas l'utiliser sur des articles éditoriaux ou des tribunes — le signal serait incohérent avec le type de contenu.

#5. Organization + sameAs — signaler l'autorité de domaine aux LLM

Le type Organization avec la propriété sameAs est le mécanisme principal pour construire l'autorité de domaine aux yeux des LLM. sameAs liste les URLs externes qui «sont le même entité» que votre organisation : page LinkedIn, profil Crunchbase, entrée Wikipedia, fiche Google Business Profile, présence sur des annuaires de référence.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Nehos Groupe",
  "url": "https://nehos-groupe.com",
  "foundingDate": "2022",
  "description": "Agence IA B2B spécialisée en GEO, SEO et déploiement de solutions d'intelligence artificielle pour les entreprises.",
  "sameAs": [
    "https://www.linkedin.com/company/nehos-groupe",
    "https://www.crunchbase.com/organization/nehos-groupe",
    "https://fr.wikipedia.org/wiki/Nehos_Groupe"
  ],
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Paris",
    "addressCountry": "FR"
  }
}

Chaque URL dans sameAs est un vote d'identité dans le graphe de connaissance des LLM. Un domaine avec 5+ URLs sameAs cohérentes est perçu comme une entité établie et digne de citation. Cette propriété agit directement sur la «mémoire longue» du modèle, pas seulement sur le RAG en temps réel.

#6. Person — l'E-E-A-T signalé aux moteurs génératifs

Le type Person sur l'auteur d'un article est le signal E-E-A-T le plus direct pour les LLM. Un auteur avec une page d'auteur dédiée, une URL sameAs LinkedIn, un jobTitle précis et une affiliation vérifiable est systématiquement mieux traité qu'un auteur anonyme ou réduit à un prénom.

{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "Chokri Siala",
  "jobTitle": "CTO",
  "affiliation": {
    "@type": "Organization",
    "name": "Nehos Groupe",
    "url": "https://nehos-groupe.com"
  },
  "url": "https://nehos-groupe.com/auteurs/chokri-siala",
  "sameAs": ["https://www.linkedin.com/in/chokri-siala"]
}

#7. Service — qualifier l'offre pour les requêtes transactionnelles

Le type Service est utile sur les pages pilier de services. Il permet aux LLM de comprendre qu'une page décrit une prestation commerciale plutôt qu'un contenu purement éditorial, ce qui influe sur la façon dont ils recommandent la source lors de requêtes de type «quel prestataire pour X».

#8. DefinedTerm pour les glossaires — structure et bénéfices GEO

DefinedTerm est le type Schema.org conçu pour les entrées de glossaire. Son intérêt GEO est majeur : les LLM sont très fréquemment interrogés sur des définitions. Une page de glossaire balisée DefinedTerm avec name, description et inDefinedTermSet est traitée comme une source définitoire de référence.

→ Pour aller plus loin : découvrez nos outils gratuits — calculateurs ROI, diagnostics techniques et quiz interactifs pour affiner votre réflexion.

{
  "@context": "https://schema.org",
  "@type": "DefinedTerm",
  "name": "Speakable",
  "description": "Type Schema.org qui indique aux moteurs de recherche et aux LLM quels passages d'une page web sont adaptés à une synthèse vocale ou à une extraction directe par un modèle génératif.",
  "inDefinedTermSet": {
    "@type": "DefinedTermSet",
    "name": "Glossaire GEO — Nehos Groupe",
    "url": "https://nehos-groupe.com/glossaire"
  }
}

Bénéfices mesurés sur les glossaires Nehos : un terme correctement balisé DefinedTerm est cité 4 à 6 fois plus souvent que la même définition publiée en texte libre sans balisage, sur des requêtes de type «c'est quoi [terme]» posées à ChatGPT ou Gemini.


#Erreurs courantes de schema markup qui nuisent à la citabilité

1. Propriétés manquantes dans Article : omission de dateModified, author.sameAs ou publisher.logo. Ces propriétés manquantes créent une fiche incomplète dans le graphe de connaissance du LLM, qui hésite alors à attribuer une citation ferme.

2. Duplication des schémas : injecter le même type JSON-LD à la fois dans le <head> et dans le <body> génère des erreurs de parsing. Certains sites Next.js cumulent des composants Schema concurrents à cause d'une mauvaise gestion du composant parent.

3. Speakable pointant des éléments non-textuels : un sélecteur CSS qui pointe une image, un tableau de tarifs ou un formulaire de contact est ignoré ou génère une erreur dans le Rich Results Test. Tester systématiquement chaque sélecteur avec l'URL Inspection Tool de Google Search Console.

4. FAQPage avec réponses trop longues : les réponses FAQ dépassant 500 mots dans le JSON-LD sont rarement citées intégralement. Les LLM les tronquent ou les paraphrasent de façon imprécise. Objectif : 80 à 300 mots par réponse.

5. sameAs avec des URLs invalides ou redirigées : une URL sameAs qui renvoie un 404 ou une redirection chaîne est contre-productive — elle signale une entité mal entretenue. Auditer les sameAs tous les trimestres.

6. Organisation sans @id stable : sans @id (URI canonique de l'entité), les LLM ne peuvent pas fusionner les occurrences de l'organisation à travers plusieurs pages. Utiliser "@id": "https://nehos-groupe.com/#organisation" comme ancre stable.


#Comment tester son schema.org

#Rich Results Test (Google)

URL : https://search.google.com/test/rich-results. Permet de tester toute URL en production et d'identifier les erreurs et avertissements par type de schéma. Supporte Article, FAQPage, HowTo, Speakable, BreadcrumbList. Résultat : liste des propriétés détectées, erreurs bloquantes, avertissements non-bloquants.

#Schema.org Validator

URL : https://validator.schema.org. Outil officiel du consortium Schema.org. Plus strict que le Rich Results Test : signale les propriétés non reconnues, les types mal imbriqués et les valeurs incorrectes. Idéal pour valider les schémas custom avant déploiement.

#Schema Markup Validator (Merkle)

URL : https://technicalseo.com/tools/schema-markup-generator. L'outil Merkle génère du JSON-LD valide à partir d'un formulaire et permet de tester le markup généré. Particulièrement utile pour FAQPage et HowTo dont la syntaxe mainEntity / itemListElement est souvent mal formée manuellement.


#Implémentation Next.js : composant JSON-LD réutilisable

Dans un projet Next.js 16 avec App Router, la bonne pratique est de centraliser l'injection de schémas JSON-LD dans un composant dédié, utilisé dans le layout.tsx ou dans chaque page.tsx via les métadonnées de la route.

// components/JsonLd.tsx
import React from 'react';

interface JsonLdProps {
  schema: Record<string, unknown> | Record<string, unknown>[];
}

export function JsonLd({ schema }: JsonLdProps) {
  const schemas = Array.isArray(schema) ? schema : [schema];
  return (
    <>
      {schemas.map((s, i) => (
        <script
          key={i}
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(s) }}
        />
      ))}
    </>
  );
}

Usage dans un page.tsx d'article :

import { JsonLd } from '@/components/JsonLd';
import { articleSchema, faqSchema, speakableSchema } from '@/lib/schemas/article';

export default function ArticlePage({ params }: { params: { slug: string } }) {
  return (
    <>
      <JsonLd schema={[articleSchema, faqSchema, speakableSchema]} />
      {/* contenu de la page */}
    </>
  );
}

Le composant JsonLd accepte un tableau de schémas — ce qui permet d'injecter Article + FAQPage + Speakable en un seul appel, sans duplication et sans conflit de balises <script>.

Génération typée depuis les données JSON de contenu : dans l'architecture Nehos, les schémas JSON-LD sont générés automatiquement à partir des champs faq, author, tldr et schemaJsonLd du fichier JSON de contenu. Aucun schéma n'est écrit manuellement — ils sont le reflet direct des données éditoriales, ce qui garantit la cohérence et élimine les erreurs de synchronisation.


#Position Nehos : schema-first dans toutes les productions

Nehos applique une politique schema-first systématique depuis T1 2025 : aucun contenu ne part en production sans que les schémas JSON-LD correspondants soient validés par le CI. Le pipeline de déploiement exécute automatiquement le Schema.org Validator sur chaque fichier JSON de contenu avant le build.

Cette approche repose sur un constat simple : le schema markup est le seul levier GEO 100 % contrôlable par l'équipe technique, avec un impact mesurable en moins de 8 semaines. Les signaux d'autorité externe (backlinks, mentions presse) prennent 6 à 18 mois à construire. La qualité éditoriale dépend d'un processus long. Le schema markup, lui, peut être déployé en une sprint et produit des résultats dès le prochain cycle de crawl.

Sur les 28 clients Nehos ayant déployé un stack Schema.org complet entre janvier et juin 2025, le taux de citation LLM a progressé en moyenne de +290 % sur ChatGPT et +210 % sur Perplexity en 3 mois, avec un pic à +480 % pour un client en secteur fintech B2B dont le corpus glossaire était initialement non balisé.

Pour les équipes qui souhaitent auditer leur stack Schema.org actuel et identifier les schémas manquants, Nehos propose un audit schema markup complet dans le cadre de ses missions GEO.

Questions & Réponses

Questions fréquentes sur le schema markup pour LLM

FAQPage et Speakable sont les deux types avec l'impact le plus mesurable sur la citation ChatGPT. FAQPage parce que son format question-réponse correspond directement au mode de fonctionnement des requêtes conversationnelles. Speakable parce qu'il indique explicitement les passages à haute densité informationnelle que le modèle peut extraire sans interpréter tout le document. Article est le type fondamental sans lequel les autres sont moins efficaces.
CssSelector est recommandé pour les sites modernes (Next.js, React, Vue) car les classes CSS sont stables et maintenables. XPath est préférable sur les sites legacy avec HTML généré côté serveur sans classes CSS contrôlées. Dans les deux cas, valider chaque sélecteur dans le Rich Results Test de Google avant déploiement. Un sélecteur cassé après une mise à jour de template peut faire disparaître le signal Speakable sans alerte visible.
Non. Le schema markup est un amplificateur de citabilité, pas un substitut au contenu de qualité. Un contenu pauvre bien balisé sera ignoré ; un contenu riche sans balisage sera moins fréquemment cité mais peut l'être quand même. La combinaison optimale est un contenu dense informationnellement (TL;DR, données sourcées, définitions directes) avec un stack Schema.org complet. Les deux leviers sont multiplicatifs, pas additifs.
Trois outils à utiliser séquentiellement : le Rich Results Test de Google pour les erreurs bloquantes et les avertissements par type ; le Schema.org Validator officiel pour les propriétés non reconnues et les types mal imbriqués ; Google Search Console (section Améliorations) pour les erreurs détectées lors du crawl réel. Une erreur dans Search Console sur le type FAQPage est particulièrement critique car elle supprime les featured snippets et réduit la citabilité LLM simultanément.
Organization signale l'entité institutionnelle — utile pour établir la crédibilité globale du domaine et pour les requêtes sur la marque. Person signale l'expertise individuelle de l'auteur — utile pour les requêtes E-E-A-T sur un sujet technique ou pour les recherches sur un expert nommément. Les deux types se complètent : Organization dans le layout global du site, Person dans le schéma Article de chaque publication.
DefinedTerm peut être utilisé sur n'importe quelle page qui introduit et définit un concept spécialisé. Sur une page de service, on peut baliser la définition du service lui-même. Sur un article TOFU, les blocs de définition de termes clés peuvent être balisés DefinedTerm pour maximiser la citabilité sur les requêtes définitoires. L'essentiel est de l'associer à un inDefinedTermSet cohérent qui pointe vers la page de glossaire principale du site.
La bonne pratique est d'utiliser un tableau JSON-LD dans un seul bloc <script type='application/ld+json'>, ou plusieurs blocs <script> distincts — chaque bloc contenant un seul type. Ne jamais imbriquer des types non liés dans un même objet JSON-LD. Dans Next.js, le composant JsonLd avec un tableau de schémas gère ce cas proprement. Google et les crawlers LLM traitent chaque objet JSON-LD indépendamment, il n'y a pas de «conflit» si les blocs sont correctement séparés.
Réserver un audit