Données structurées (Schema.org) : guide pratique JSON-LD
Qu'est-ce que les données structurées ?
Les données structurées sont des balises ajoutées au HTML d'une page qui décrivent son contenu de manière machine-lisible. Elles suivent le vocabulaire Schema.org (un dictionnaire commun maintenu par Google, Microsoft, Yahoo et Yandex) et permettent à un moteur de recherche ou à un modèle de langage de comprendre ce qu'est le contenu, pas seulement ce qu'il contient.
Sans données structurées, Google lit « YperLine » comme un mot. Avec un schema Organization, il comprend que c'est une organisation, son logo, sa description, son pays d'activité. Avec un schema Article, il comprend que la page est un article, écrit par qui, publié quand.
Pourquoi elles comptent (SEO + GEO)
Les données structurées servent deux objectifs distincts :
1. SEO classique : rich snippets
Elles permettent à Google d'afficher des extraits enrichis dans les résultats de recherche : étoiles et avis, dates, FAQ dépliée, fil d'Ariane, prix, recette. Un rich snippet augmente le CTR de 15 à 30 % par rapport à un résultat standard, car il occupe plus d'espace visuel et répond partiellement à la requête avant le clic.
2. GEO : identification d'entité pour les IA
C'est l'usage le plus sous-estimé en 2026. Quand un modèle de langage extrait un fragment de votre page, il a besoin de savoir qui est l'auteur, quelle est l'organisation, quelle est la date. Le schema JSON-LD fournit ces métadonnées de manière non ambiguë. Sans schema, le modèle doit « deviner » à partir du texte — et il a plus de chances d'attribuer la réponse à une autre source.
→ Guide : Structuration pour l'IA
Les 3 formats : JSON-LD, Microdata, RDFa
| Format | Syntaxe | Avantage | Inconvénient | Recommandé ? |
|---|---|---|---|---|
| JSON-LD | Bloc <script type="application/ld+json"> | Séparé du HTML, facile à générer dynamiquement, préféré par Google | Peu lisible pour les humains dans le code | Oui |
| Microdata | Attributs itemscope, itemtype, itemprop dans le HTML | Intégré au HTML, visible | Enchevêtrement complexe, difficile à maintenir | Non (sauf si déjà en place) |
| RDFa | Attributs about, property, resource | Flexible, standard W3C | Peu utilisé, documentation moins riche | Non |
Recommandation : utiliser exclusivement JSON-LD. C'est le format préféré de Google (documenté en premier dans leur guide), le plus simple à générer dynamiquement en PHP, et le plus lisible pour les modèles de langage.
Les 8 schemas prioritaires
| Schema | Où le placer | Qu'il signale | Impact SEO | Impact GEO |
|---|---|---|---|---|
Organization | Home | Nom, logo, description, areaServed, sameAs | Knowledge Panel | Fort (entité de marque) |
Article | Chaque page de contenu | Headline, author, datePublished, dateModified, publisher | Date dans la SERP | Fort (attribution) |
Person | Pages auteurs | Nom, jobTitle, worksFor, sameAs (LinkedIn) | — | Fort (E-E-A-T) |
FAQPage | Sections FAQ | Questions-réponses | FAQ dépliée dans la SERP | Très fort (extraction directe) |
HowTo | Tutoriels | Étape par étape | Rich snippet HowTo | Fort (requêtes « comment ») |
BreadcrumbList | Toutes les pages | Hiérarchie du site | Fil d'Ariane enrichi | Moyen (contexte) |
WebSite | Home | URL du site, nom, potentialAction (recherche) | Sitelinks search box | Moyen |
LocalBusiness | Home (si activité locale) | Adresse, téléphone, horaires, zone | Pack local | Fort (recommandations locales) |
Exemples complets (copier-coller)
Organization (home)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "YperLine",
"url": "https://yperline.net",
"logo": "https://yperline.net/images/yperline.png",
"description": "Agence de référencement SEO et GEO pour la France entière. Guides pratiques et accompagnement sur mesure.",
"areaServed": "FR",
"sameAs": [
"https://linkedin.com/company/yperline"
]
}
</script>
Article (page de contenu)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Titre de la page",
"description": "Meta description de la page.",
"author": {
"@type": "Organization",
"name": "YperLine",
"url": "https://yperline.net/ressources-a-propos"
},
"publisher": {
"@type": "Organization",
"name": "YperLine",
"logo": {
"@type": "ImageObject",
"url": "https://yperline.net/images/yperline.png"
}
},
"datePublished": "2026-10-11",
"dateModified": "2026-10-11",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://yperline.net/slug-de-la-page"
}
}
</script>
Person (page auteur)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Prénom Nom",
"jobTitle": "Expert SEO & GEO",
"worksFor": {
"@type": "Organization",
"name": "YperLine"
},
"sameAs": [
"https://linkedin.com/in/prenom-nom"
],
"description": "10 ans d'expérience en référencement naturel et optimisation pour les moteurs IA."
}
</script>
FAQPage (section FAQ)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Question 1 ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Réponse 1."
}
},
{
"@type": "Question",
"name": "Question 2 ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Réponse 2."
}
}
]
}
</script>
BreadcrumbList (toutes les pages)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Accueil",
"item": "https://yperline.net/"
},
{
"@type": "ListItem",
"position": 2,
"name": "SEO technique",
"item": "https://yperline.net/seo-technique"
},
{
"@type": "ListItem",
"position": 3,
"name": "Données structurées"
}
]
}
</script>
WebSite (home)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "YperLine",
"url": "https://yperline.net",
"description": "Référencement SEO et GEO : guides pratiques et accompagnement."
}
</script>
Rich snippets : ce que Google affiche
| Schema | Rich snippet affiché | Condition |
|---|---|---|
Article | Date de publication visible dans la SERP | datePublished + dateModified présents |
FAQPage | FAQ dépliée (3-5 questions) en haut de la SERP | Questions en langage naturel, réponses < 300 mots |
HowTo | Étapes numérotées avec images | Min. 2 étapes, chaque étape a un nom |
BreadcrumbList | Fil d'Ariane sous le titre | Hiérarchie cohérente avec le site |
Organization | Knowledge Panel (logo, description, liens) à droite | Cohérence avec les autres sources (Wikipédia, LinkedIn) |
LocalBusiness | Adresse, téléphone, horaires, note dans le pack local | Fiche Google Business Profile correspondante |
Attention : Google n'est pas obligé d'afficher le rich snippet même si le schema est correct. C'est un signal, pas une garantie. En revanche, les IA utilisent le schema de manière plus systématique : un FAQPage bien rempli a une très forte probabilité d'être extrait tel quel dans une réponse générative.
Les 5 erreurs les plus fréquentes
| # | Erreur | Conséquence | Correction |
|---|---|---|---|
| 1 | JSON invalide (virgule manquante, guillemet non fermé) | Schema ignoré, erreur dans Rich Results Test | Valider avec l'outil Google avant mise en ligne |
| 2 | Schema incohérent avec le contenu visible | Pénalité manuelle possible (structured data markup test) | Le schema doit décrire ce qui est visible sur la page |
| 3 | FAQPage avec des questions que personne ne pose | FAQ non affichée, signal de spam | Les questions doivent refléter de vraies requêtes utilisateurs |
| 4 | datePublished = dateModified (toujours la même) | Perdu le signal de fraîcheur | Mettre à jour dateModified à chaque révision réelle |
| 5 | Schema sur une page noindex | Incohérence : le schema dit « indexe-moi », la meta dit « non » | Supprimer le schema des pages noindex |
Vérifier et tester
- Rich Results Test (search.google.com/test/rich-results) : coller l'URL ou le code HTML → vérifier les erreurs et avertissements.
- Schema.org Validator (validator.schema.org) : validation du JSON-LD au sens du vocabulaire Schema.org.
- Google Search Console → « Améliorations » : voir quels types de rich snippets sont détectés et s'il y a des erreurs.
- Recherche visuelle : taper
site:yperline.netdans Google et vérifier que les rich snippets s'affichent (dates, FAQ, fil d'Ariane). - Test IA : poser un prompt sur Perplexity qui correspond à une FAQ de votre site. Si la réponse reprend la formulation exacte de votre FAQPage, le schema a bien été extrait.
Checklist données structurées
| # | Point de contrôle | Statut |
|---|---|---|
| 1 | Schema Organization sur la home (nom, logo, description, areaServed, sameAs) | ☐ |
| 2 | Schema WebSite sur la home | ☐ |
| 3 | Schema Article sur chaque page de contenu (headline, author, dates, publisher) | ☐ |
| 4 | Schema Person sur la page auteur (nom, jobTitle, worksFor, sameAs LinkedIn) | ☐ |
| 5 | Schema FAQPage sur les sections FAQ (questions réelles, réponses < 300 mots) | ☐ |
| 6 | Schema BreadcrumbList sur toutes les pages | ☐ |
| 7 | Schema LocalBusiness sur la home (si activité locale) | ☐ |
| 8 | JSON validé (Rich Results Test : 0 erreur) | ☐ |
| 9 | dateModified mise à jour à chaque révision réelle | ☐ |
| 10 | Cohérence : le schema décrit ce qui est visible sur la page | ☐ |
| 11 | GSC : onglet « Améliorations » sans erreur | ☐ |
| 12 | Test IA : 1 FAQ extraite par Perplexity (validation GEO) | ☐ |
Pour le contexte plus large, voir notre page SEO technique. Pour la structuration du contenu (answer-first, Island Test), voir Structuration pour l'IA. Pour la vue d'ensemble, voir le guide complet du SEO.
Vérifiez vos données structurées en 10 minutes
Audit SEO gratuit : nous testons vos schemas JSON-LD avec le Rich Results Test + un test d'extraction IA. Vous savez exactement ce qui est lu et ce qui est ignoré.
Demander mon audit gratuit