Guide : JSON-LD
JSON-LD est le script-based données structurées format Google recommends — easiest à implement, jamais touches visible HTML, et typically pairs avec schema.org pour le SEO.
1 indice probant sur cette page
- Outil en ligne associéSchema Markup Validator
JSON-LD (JavaScript Object Notation pour Lié Données) est a données structurées format que lives dans a <script type="application/ld+json"> balise; on le SEO side c’est typically paired avec le schema.org vocabulary à décrire page contenu, though JSON-LD itself peut carry autre vocabularies aussi. c’est a W3C standard (2014), et Google recommends il over Microdata et RDFa pour un raison: c’est le easiest format à implement et maintain à scale, parce que il sits dans son propre bloquer et jamais touches votre visible HTML. Tout three formats fonctionner equally bien quand implemented correctement. Le syntax spine est @context (le vocabulary — schema.org pour la plupart SEO markup, mais pas le seulement valide valeur), @type (le entity), et @id (a utile mais optional stable URI pour linking entities — le basis de le @graph modèle, itself un valide façon à organize plusieurs entities, pas a requirement). Le catch la plupart guides miss: Googlebot renders JavaScript donc dynamically injected JSON-LD fonctionne pour Google, mais plusieurs AI robots d’exploration — GPTBot et ClaudeBot inclus, as testé — ne pas execute JavaScript; c’est provider- et date-spécifique, pas a universal règle, donc vérifier directement si a particulier robot d’exploration matters à vous et serveur-rendre markup vous pouvez't confirmer sinon. Données structurées n’est pas a classement signal; il governs rich-résultat eligibility et entity understanding, et il doit décrire contenu en réalité visible on lune page.
TL;DR — JSON-LD est a petit bloquer de code vous ajouter à une page à spell out ce que lune page est à propos de — que c’est an article, a produit, a recipe — dans a format moteur de recherches et AI systèmes lire easily. Il sits dans son propre
<script>balise et jamais changements n’importe quoi visitors voir. Google recommends il over le autre deux formats parce que c’est le easiest à ajouter et garder tidy. Il ne va pas faire vous classer plus élevé, mais il peut faire votre résultats regarder richer (stars, prices, FAQs).
Ce que JSON-LD is
Quand vous publish une page, a human peut lire il et figure out “oh, ce est a recipe pour banana bread.” A moteur de recherche a à guess que depuis le words. Structured données est comment vous arrêter le guessing — vous étiquette lune page dans machine-readable code donc moteurs know c’est a recipe, qui le author est, ce que le rating est.
JSON-LD est le la plupart popular façon à écrire que étiquette. Le nom stands pour
JavaScript Object Notation pour Lié Données. Preuve à l’appui de cette affirmation JSON-LD is a structured-data format that can express Schema.org types and properties in a script block. Portée : Schema.org JSON-LD guidance; JSON-LD is a format, not the vocabulary itself. Niveau de confiance : élevé · Vérifié : Schema.org: JSON-LD Vous ne pas besoin à know ce que
que signifie à utiliser il. En pratique, JSON-LD est a chunk de code que semble comme a
liste de labelled facts, tucked à l’intérieur a <script> balise:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Bake Banana Bread",
"author": { "@type": "Person", "name": "Patrick Stox" },
"datePublished": "2026-06-26"
}
</script>Le clé chose: que bloquer lives séparément depuis le words on votre page. Il ne fait pas modifier a unique chose votre visitors voir. c’est simplement instructions pour le robots.
Pourquoi Google likes it
Là sont en réalité three façons à écrire données structurées — JSON-LD, Microdata, et RDFa. Le autre deux fonctionner par sprinkling supplémentaire code dans votre visible HTML, tangled up avec votre titres et paragraphs. JSON-LD garde il tout dans un neat box.
«That’s why Google recommends JSON-LD: it’s the easiest to add, the easiest to keep correct, and you’re far less likely to break something. Google’s words: it’s “the easiest solution for website owners to implement and maintain at scale.” All three formats are fine — JSON-LD is just the least error-prone.
Preuve à l’appui de cette affirmation Google Search supports JSON-LD, Microdata, and RDFa and recommends JSON-LD when practical. Portée : Google Search structured-data guidance; supported formats do not guarantee feature eligibility. Niveau de confiance : élevé · Vérifié : Google: Structured data introduction» (Traduction) (Résumé en français de la section douze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Ce que it en réalité fait pour vous
Two honest choses, and un myth:
- Il peut faire votre résultat de recherche regarder richer. Recipe ratings, produit prices, FAQ dropdowns, event dates — ceux “rich results” come depuis données structurées.
- Il aide moteurs (et AI) comprendre votre contenu. Il connects votre page à connu choses — votre entreprise, an author, a produit.
- Il fait pas faire vous classer plus élevé. Ce est le myth. Ajout JSON-LD n’est pas a classement boost. Google a said ce plainly et repeatedly.
The un rule que matters
Seulement mark up qu’est-ce que en réalité on lune page. ne pas claim a 5-star rating dans votre JSON-LD si aucun rating est affiché à visitors. ne pas décrire a price que n’est pas là. Données structurées a à match le visible page — describing choses que ne sont pas là est contre le règles et peut obtenir votre résultats enrichis pulled.
Vouloir le precise version — le @context / @type / @id syntax, le @graph
modèle, le JavaScript-injection trap que hides votre markup depuis AI robots d’exploration, et
Comment valider il? Switch à le Avancé tab.
TL;DR — JSON-LD (JavaScript Object Notation pour Lié Données) est a W3C Recommendation depuis 2014 — construit on JSON, mais
@contextest ce que rend il lié données, pas simplement JSON. c’est le données structurées format Google recommends parce que c’est le easiest à implement et maintain à scale et jamais touches visible HTML; Microdata et RDFa sont equally valide quand correct. Le syntax spine est@context(vocabulary — schema.org pour la plupart SEO markup, though le spec permet autre contexts),@type(entity),@id(a utile mais optional stable URI pour cross-referencing entities — le basis de@graph, itself un valide modèle parmi others, pas a requirement). Placer il dans<head>or<body>— Google accepts soit. Googlebot renders JS donc dynamically injected JSON-LD fonctionne pour Google; plusieurs AI robots d’exploration (GPTBot, ClaudeBot inclus, as testé) ne pas execute JS, mais c’est provider- et date-spécifique — vérifier directement plutôt que assuming il pour chaque AI robot d’exploration, et serveur-rendre ce que vous pouvez’t confirmer. Données structurées est pas a classement signal — il drives rich-résultat eligibility et entity understanding, et il doit décrire contenu visible on lune page.
JSON-LD is a format, pas a vocabulary
Premier, a distinction que clears up a lot de confusion: JSON-LD est le format;
schema.org est le vocabulary. JSON-LD est comment vous écrire
le markup; schema.org’s Article, Product, Organization types sont ce que vous
dire. Résultats enrichis sont le fonctionnalité couche on top de les deux. Ce page est à propos de le
format. (Le vocabulary-pour-AI angle lives dans
Balisage de données structurées pour AI.)
JSON-LD est a W3C Recommendation, premier publié
dans 2014 — il predates son SEO adoption et était designed pour general linked-données
interoperability à travers le web, pas précisément pour recherche. Que history est pourquoi a
property comme @id exists à tout, et c’est le spec-level point la plupart SEO guides
skip: JSON-LD n’est pas simplement JSON. c’est construit on JSON syntax, mais le @context
declaration est ce que rend le données lié — identifiable et connectable à travers
le web. Strip @context et vous avez obtenu données a parser ne peut pas interpret.
JSON-LD aussi n’est pas married à schema.org. Le spec lets @context référence quelconque
publié vocabulary — son propre exemples lien à non-schema.org contexts — donc
JSON-LD est le correct réponse à “ce que format” pendant que schema.org est un réponse, le
courant un pour recherche et AI-recherche markup, à “ce que vocabulary.” Une page pourrait
validly utiliser JSON-LD avec a différent vocabulary; il simplement ne ferait pas être schema.org
markup anymore.
«## JSON-LD vs. Microdata vs. RDFa » (Traduction) (Résumé en français de la section vingt-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Là sont three façons à express données structurées, et Google prend en charge tout de les:
| JSON-LD | Microdata | RDFa | |
|---|---|---|---|
| Où il lives | A séparé <script> bloquer | Inline itemprop attributs on votre HTML | Inline property attributs on votre HTML |
| Touches visible HTML? | Aucun | Oui | Oui |
| Peut être injected par JS / balise manager? | Oui (cleanly) | Awkward | Awkward |
| Google’s stance | Recommended | Pris en charge | Pris en charge |
| Erreur-proneness | Lowest | Plus élevé (tangled avec markup) | Plus élevé (tangled avec markup) |
«Google’s recommendation is explicit but narrowly scoped: “In general, Google recommends using JSON-LD for structured data if your site’s setup allows it, as it’s the easiest solution for website owners to implement and maintain at scale (in other words, less prone to user errors).” » (Traduction) (Résumé en français de la section vingt-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Le nuance concurrents généralement drop — et le un worth keeping — comes depuis le même Google page: “Tout 3 formats sont equally fine pour Google, tant que le markup est valide et correctement implemented per le fonctionnalité’s documentation.” Donc le recommendation est à propos de implementation ease et erreur rate, pas parsing speed or classement advantage. En utilisant Microdata n’est pas a penalty. JSON-LD simplement wins En pratique parce que il ne fait pas entangle données structurées avec le markup a designer pourrait edit tomorrow.
Le syntax: @context, @type, @id, properties, nesting
Here’s an annotated Article block:
<script type="application/ld+json">
{
"@context": "https://schema.org", // the vocabulary — the common value for SEO
"@type": "Article", // the entity type
"@id": "https://example.com/post#article", // a stable URI for this entity
"headline": "How JSON-LD Works", // a property (key/value)
"datePublished": "2026-06-26",
"author": { // a nested entity
"@type": "Person",
"name": "Patrick Stox",
"url": "https://patrickstox.com/"
}
}
</script>@context— establishes le semantic framework (le vocabulary). Pour schema.org SEO markup c’est typically"https://schema.org", mais c’est a convention, pas a règle:@contextmaps terms à identifiers, et le spec lets il point à autre vocabularies. Il indique le parser comment interpret chaque property nom que suit. Ce est le partie que rend il lié données.@type— declares le entity:Article,Product,Organization,BreadcrumbList, etc. Il maps à a schema.org type. Utiliser le la plupart spécifique applicable type —NewsArticleoverArticlesi il fits.@id— a unique URI identifying le resource. c’est le mechanism que lets vous référence un entity depuis un autre (voir@graphci-dessous), et c’est worth paramètre on n’importe quoi vous’ll cross-reference — mais c’est pas universally requis. Le JSON-LD spec permits unidentified blank nodes, donc valide JSON-LD peut omit@idon entities vous jamais besoin à référence elsewhere.- Properties — ordinary JSON clé/valeur pairs, en utilisant vocabulary terms depuis le
@context. - Nesting — child entities sont expressed as nested JSON objects (le
authorobject ci-dessus) or arrays de objects.
Le @graph modèle (le scalable approche)
La plupart pages besoin plus que un entity: an Organization, a WebSite, a
BreadcrumbList, et le Article or WebPage itself. Le naive approche est four
séparé <script> bloque que repeat données. A scalable alternative est a unique
bloquer avec @graph — an array de entities, cross-referenced par @id. Aucun le
JSON-LD spec nor Google mandates @graph as le modèle — c’est syntax pour
expressing a graph, et autre valide layouts exist (séparé typed bloque, nested
objects sans a top-level @graph, blank nodes avec aucun @id à tout) — mais on a
site avec plusieurs cross-referenced entities, c’est le modèle que avoids repeating
le même Organization or WebSite données on chaque page:
Un Organization est referenced as publisher par le Site web et Article. Le WebPage belongs à le Site web et est connected à le Article. Chaque entity est declared une fois, et le même stable ID string est reused pour chaque référence.
© Patrick Stox LLC · CC BY 4.0 ·
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#org",
"name": "Example Co",
"url": "https://example.com/"
},
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com/",
"publisher": { "@id": "https://example.com/#org" } // reference, not a copy
},
{
"@type": "WebPage",
"@id": "https://example.com/post#webpage",
"isPartOf": { "@id": "https://example.com/#website" },
"breadcrumb": { "@id": "https://example.com/post#breadcrumb" }
}
]
}
</script>Define Organization une fois, alors point à il avec { "@id": "...#org" } everywhere
sinon au lieu de repeating le nom, logo, et URL. Ce est comment le major CMS schema
plugins construire leur sortie, et c’est pourquoi @id exists. Bing rend le même cas pour
JSON-LD’s nesting: il “rend defining liens et relationships entre données et
entities… facile parce que il prend en charge nested données.”
Où to placer it: <head> or <body>
Google confirms les deux fonctionner — “Vous pouvez put le JSON-LD données dans le <head> or
le <body> de lune page.” <head> est conventional, mais plenty de CMS plugins
inject il near le fin de <body>, et c’est fine. Bing agrees il peut sit “dans le
header, corps or foot de lune page.” ne pas burn temps relocating a valide bloquer depuis
corps à head; il changements rien. Preuve à l’appui de cette affirmation Google permits JSON-LD in either the head or body of an HTML document for supported structured-data features. Portée : Google Search JSON-LD guidance; markup must still match visible page content. Niveau de confiance : élevé · Vérifié : Google: Structured data introduction
Generating JSON-LD dynamically — et le AI robot d’exploration catch
Vous pouvez construire JSON-LD on le fly avec JavaScript, et Google documents deux façons à faire il:
Preuve à l’appui de cette affirmation Dynamically generated structured data is acceptable to Google when it is rendered and complies with content and quality guidelines. Portée : Google Search JavaScript and structured-data guidance; crawlability and rendering remain prerequisites. Niveau de confiance : élevé · Vérifié : Google: Generate structured data with JavaScript- Google Balise Manager — a Custom HTML balise containing le JSON-LD, pulling valeurs depuis GTM variables. (Éviter duplicating données entre lune page et le balise.)
- Custom JavaScript — créer le script element programmatically:
const script = document.createElement('script'); script.setAttribute('type', 'application/ld+json'); script.textContent = structuredDataText; document.head.appendChild(script);
«This works for Googlebot, because Google renders the page: “Google Search can understand and process structured data that’s available in the DOM when it renders the page.” So far, so good. » (Traduction) (Résumé en français de la section quarante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Ici’s le catch la plupart guides miss, stated carefully. Plusieurs AI robots d’exploration — notamment GPTBot et ClaudeBot, as commonly testé — ont pas executed JavaScript. Si votre JSON-LD seulement exists après a client-side script exécute, a JS-skipping robot d’exploration jamais voit il — c’est invisible à que bot même though Googlebot lit il fine, parce que Google documents rendu le DOM avant il semble pour données structurées.
Deux honest caveats on que AI-robot behavior: c’est Google’s propre documentation que establishes le Googlebot side; le AI-robot side comes depuis testing et reporting on individual providers, pas a spec quelconque de les publish, donc c’est provider- et date-spécifique — a robot’s JavaScript prise en charge peut modifier, et Je haven’t verified chaque provider directement. ne pas treat “AI robots skip JS” as a universal règle à construire on; treat il as a raison à vérifier le robot d’exploration vous en réalité care à propos de (or par défaut à serveur rendu quand vous pouvez’t vérifier). Si il n’est pas dans le serveur-rendu HTML et vous haven’t confirmed le robot d’exploration executes JS, assume il ne peut pas voir il. Pour AI-recherche visibility, rendre JSON-LD serveur-side dans le static HTML unless vous avez verified sinon. (Ce est le JavaScript-rendu problème depuis a structured-données angle — voir JavaScript SEO.)
«There’s a second caveat for ecommerce: Google warns that dynamically generated Product markup “can make Shopping crawls less frequent and less reliable,” which is a real problem for fast-changing price and availability. For products, prefer server-side rendering regardless of AI. » (Traduction) (Résumé en français de la section quarante-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
The policies (ces have teeth now)
Google’s données structurées guidelines sont court et charger-bearing:
«- “Don’t mark up content that is not visible to readers of the page.” » (Traduction) (Résumé en français de la section cinquante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- “Don’t mark up irrelevant or misleading content, such as fake reviews.” » (Traduction) (Résumé en français de la section cinquante et un, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- “Put the structured data on the page that it describes.” » (Traduction) (Résumé en français de la section cinquante et un, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- “Use the most specific applicable type and property names defined by schema.org.” » (Traduction) (Résumé en français de la section cinquante et un, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.) «- Don’t block your structured-data pages from Googlebot via robots.txt or noindex. » (Traduction) (Résumé en français de la section cinquante et un, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«The visible-content rule is the one to internalize. Schema that describes content not shown on the page has always been a violation; enforcement of “invisible” schema has tightened. Bing puts the warning bluntly: “even though the markup is not visible on your page, it is still read by the search engines, and putting spam data in the markup can hamper your presence.” » (Traduction) (Résumé en français de la section cinquante-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Courant JSON-LD mistakes
«- Markup that doesn’t match the visible page — the #1 policy problem (a rating in
the JSON-LD that no visitor sees).
» (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Malformed JSON — a trailing comma, an unescaped quote, or Word smart quotes
(" instead of ") that silently break the whole block. JSON-LD is strict.
» (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Wrong property names — inventing properties that aren’t in schema.org, or
misspelling real ones, so the parser ignores them.
» (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- A generic type where a specific one exists — Thing or Article where
Recipe or NewsArticle was warranted.
» (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Duplicate, inconsistent Organization blocks across pages with conflicting
names/logos.
» (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Missing required properties for the rich result you’re targeting (each feature
lists its own required fields).
» (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
«- JS-injected markup assumed to be visible to every crawler — Google renders it,
but some AI crawlers have not, and that’s worth verifying per crawler (the catch
above).
» (Traduction) (Résumé en français de la section cinquante-quatre, sous-partie sept : le texte source est conservé pour vérification lors de la relecture francophone.)
Validating JSON-LD
Four différent questions obtenir asked sous “est mon JSON-LD valide,” et ils sont pas le même question — passing un ne fait pas réussir le others:
| Tester | Proves | Ne fait pas prove |
|---|---|---|
| JSON parses (quelconque JSON linter, or le Résultats enrichis Test’s parse étape) | Le syntax est legal JSON — aucun trailing commas, unescaped citations, or smart-citation breakage | Que quelconque property nom est réel schema.org vocabulary, or que Google va montrer n’importe quoi |
| Schema.org Validator | Le properties et types exist dans le schema.org vocabulary | Que Google prend en charge le type as a rich résultat, or que requis champs pour a spécifique fonctionnalité sont présent |
| Résultats enrichis Tester | Le markup meets Google’s requirements pour a spécifique pris en charge rich-résultat type, on le rendu page vous testé | Que Google va en réalité afficher le rich résultat — eligibility n’est pas a guarantee — or que autre recherche/AI systèmes parse il le même façon |
| Recherche Google Console — Enhancements / rich résultat rapports | Ce que Google en réalité parsed on actif, exploré pages, à scale, avec réel erreurs | En temps réel state — rapports lag behind a recrawl |
- Tester par URL, pas pasted code, pour JS-rendu pages. Le Résultats enrichis Test’s code-entrée mode ne fait pas exécuter votre scripts or resolve relative références le façon actif-URL testing fait — il ne peut pas tell vous ce que a client-side-injected bloquer semble comme après rendu.
- Bing Webmaster Outils — Markup Validator — Bing a validated JSON-LD since August 2018.
- None de ces tests speak pour robots d’exploration que ne pas rendre JavaScript (voir le AI-robot caveat ci-dessus) — testing le rendu URL confirms ce que Google voit, pas ce que a JS-skipping bot receives.
Fait JSON-LD aider SEO?
Définir expectations honestly:
- Pas a classement signal. John Mueller a said données structurées ne va pas faire a site classer meilleur. Complet arrêter.
- Rich-résultat eligibility. c’est ce que rend vous eligible pour enhanced SERP fonctionnalités (stars, prices, FAQs, breadcrumbs) — eligibility, pas a guarantee.
- CTR, indirectly. Richer-looking résultats peut earn plus clicks, qui est le réel payoff pour la plupart sites.
- Entity understanding. Il aide moteurs connecter votre page à connu entities et le Knowledge Graph.
- AI recherche. Fabrice Canel (Bing) confirmed dans 2025 que balisage de données structurées aide Microsoft’s LLMs comprendre contenu — mais remarque le controlled-study caveat depuis Balisage de données structurées pour AI: c’est infrastructure pour disambiguation, pas a direct citation lever.
Donc: implement JSON-LD pour rich-résultat eligibility, entity clarity, et AI/LLM comprehension — pas as a classement hack.
Ce article sits dans le données structurées hub. Pour le AI-spécifique prendre on le schema.org vocabulary, voir Balisage de données structurées pour AI; pour le rendu mechanics behind dynamic injection, voir JavaScript SEO.
AI summary
A condensed prendre on the Avancé version:
«- What it is: JSON-LD (JavaScript Object Notation for Linked Data) is a
structured data format, not a vocabulary — a <script type="application/ld+json">
block. On the SEO side it’s typically paired with the schema.org vocabulary,
but @context can point elsewhere. A W3C Recommendation since 2014; built on
JSON, but @context is what makes it linked data, not plain JSON.
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Why Google recommends it: it’s “the easiest solution… to implement and
maintain at scale” and never touches visible HTML. But all three formats
(JSON-LD, Microdata, RDFa) are equally valid when correct — the edge is error
rate, not parsing or ranking.
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Syntax spine: @context (vocabulary — schema.org for most SEO markup, not the
only valid value) · @type (entity, use the most specific) · @id (useful,
optional stable URI for cross-referencing; unidentified blank nodes are also
valid JSON-LD) · properties (key/value) · nesting (objects/arrays).
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- @graph pattern: one block, an array of entities cross-referenced by @id —
define Organization once, reference it everywhere. A scalable approach for
multi-entity pages, not a spec or Google mandate; other valid graph layouts exist.
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Placement: <head> or <body> — Google accepts either; don’t relocate valid
blocks.
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Dynamic injection + AI caveat: Googlebot renders JS so injected JSON-LD works
for Google; several AI crawlers — GPTBot and ClaudeBot included, as tested —
have not executed JS, but that’s provider- and date-specific, not a universal
rule, so verify per crawler and server-render what you can’t confirm. Dynamic
Product markup also risks less-frequent Shopping crawls.
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Policies: mark up only visible content; match the page; most-specific type;
don’t block the page from crawlers. Enforcement of “invisible” schema has tightened.
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie sept : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Common mistakes: mismatched/invisible markup, malformed JSON (smart quotes,
trailing commas), wrong property names, generic types, missing required properties.
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie huit : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Validation: four separate checks (JSON syntax, schema.org vocabulary, Google
rich-result eligibility, live Search Console parsing) that don’t substitute for
each other — Rich Results Test (by URL, not pasted code), Schema.org
Validator, GSC Enhancements, Bing Markup Validator.
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie neuf : le texte source est conservé pour vérification lors de la relecture francophone.)
«- SEO effect: not a ranking signal. Drives rich-result eligibility, CTR,
entity understanding, and LLM comprehension (Canel, Bing, 2025).
» (Traduction) (Résumé en français de la section soixante-neuf, sous-partie dix : le texte source est conservé pour vérification lors de la relecture francophone.)
«## Official documentation » (Traduction) (Résumé en français de la section soixante-douze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Primary-source documentation from the search engines and the spec. » (Traduction) (Résumé en français de la section soixante-treize, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Google
» (Traduction) (Résumé en français de la section soixante-quatorze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Intro to How Structured Data Markup Works — the JSON-LD recommendation, the “all 3 formats are equally fine” nuance, and <head>/<body> placement.
» (Traduction) (Résumé en français de la section soixante-quatorze, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- General Structured Data Guidelines — the policies: visible content only, match the page, most-specific type, don’t block crawlers.
» (Traduction) (Résumé en français de la section soixante-quatorze, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Generate structured data with JavaScript — the GTM and custom-JS injection approaches, plus the dynamic-Product Shopping-crawl caveat.
» (Traduction) (Résumé en français de la section soixante-quatorze, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Rich Results Test — validate eligibility (test by URL for JS-rendered pages).
» (Traduction) (Résumé en français de la section soixante-quatorze, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«Bing / Microsoft » (Traduction) (Résumé en français de la section soixante-quinze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Marking Up Your Site with Structured Data — Bing recommends JSON-LD, accepts header/body/footer placement, and warns about invalid markup. » (Traduction) (Résumé en français de la section soixante-quinze, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- Introducing JSON-LD Support in Bing Webmaster Tools (Aug 2018) — when Bing added JSON-LD validation. » (Traduction) (Résumé en français de la section soixante-quinze, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«Standards / vocabulary » (Traduction) (Résumé en français de la section soixante-seize, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- JSON-LD 1.1 — W3C Recommendation — the spec itself. » (Traduction) (Résumé en français de la section soixante-seize, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- json-ld.org — the format’s home, with the plain-language definition. » (Traduction) (Résumé en français de la section soixante-seize, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- Getting Started with Schema.org — the vocabulary JSON-LD expresses, and the visible-content rule. » (Traduction) (Résumé en français de la section soixante-seize, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.) «- Schema.org Validator — validates against the vocabulary. » (Traduction) (Résumé en français de la section soixante-seize, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«## Quotes from the source » (Traduction) (Résumé en français de la section soixante-dix-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
On-le-record statements depuis Google, Bing, et le spec. Chaque lien jumps à le quoted passage on le page source où lune page exposes le texte.
Google docs — le recommendation et le nuance
«- “In general, Google recommends using JSON-LD for structured data if your site’s setup allows it, as it’s the easiest solution for website owners to implement and maintain at scale (in other words, less prone to user errors).” Jump to quote » (Traduction) (Résumé en français de la section quatre-vingt-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- “All 3 formats are equally fine for Google, as long as the markup is valid and properly implemented per the feature’s documentation.” Jump to quote » (Traduction) (Résumé en français de la section quatre-vingt-deux, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- “Google Search can understand and process structured data that’s available in the DOM when it renders the page.” Jump to quote » (Traduction) (Résumé en français de la section quatre-vingt-deux, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
Google docs — the policies
«- “Don’t mark up content that is not visible to readers of the page.” Jump to quote » (Traduction) (Résumé en français de la section quatre-vingt-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- “Use the most specific applicable type and property names defined by schema.org.” Jump to quote » (Traduction) (Résumé en français de la section quatre-vingt-quatre, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
John Mueller, Google — JSON-LD preference et classement
«- “We currently prefer JSON-LD markup. I think most of the new structured data that kind of come out are for JSON-LD first. So that is what we prefer.” — Google Webmaster Hangout, March 2019. Coverage » (Traduction) (Résumé en français de la section quatre-vingt-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- On rankings: “Structured data won’t make your site rank better.” — 2025. (Relayed via Search Engine Roundtable; confirm verbatim against the original post.) Coverage » (Traduction) (Résumé en français de la section quatre-vingt-six, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
Bing / Microsoft
«- JSON-LD “makes defining links and relationships between data and entities between the data present on your pages easy because it supports nested data.” — Bing Webmaster Tools docs. Jump to quote » (Traduction) (Résumé en français de la section quatre-vingt-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- “Webmasters should be very alert as to not put invalid and incorrect information in the markup, as even though the markup is not visible on your page, it is still read by the search engines.” — Bing Webmaster Tools docs. Jump to quote » (Traduction) (Résumé en français de la section quatre-vingt-huit, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
Fabrice Canel, Microsoft Bing — schema et LLMs
«- At SMX Munich (March 2025), Canel confirmed schema markup helps Microsoft’s large language models understand web content. (Paraphrased across coverage; confirm verbatim against the conference recording or LinkedIn before treating any single phrasing as final.) Coverage » (Traduction) (Résumé en français de la section quatre-vingt-dix, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«The spec — json-ld.org » (Traduction) (Résumé en français de la section quatre-vingt-onze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “JSON-LD is a lightweight Linked Data format. It is easy for humans to read and write. It is based on the already successful JSON format and provides a way to help JSON data interoperate at Web-scale.” Jump to quote » (Traduction) (Résumé en français de la section quatre-vingt-douze, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Note: the Mueller 2019 quote and the Mueller 2025 ranking statement are reproduced from secondary coverage (Search Engine Journal, Search Engine Roundtable); the Canel SMX Munich remark is paraphrased across coverage. Confirm each against its original source before treating the exact wording as final. Google-doc and Bing-doc quotes are from the live documentation pages. » (Traduction) (Résumé en français de la section quatre-vingt-treize, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«## JSON-LD syntax — quick reference » (Traduction) (Résumé en français de la section quatre-vingt-seize, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«The wrapper » (Traduction) (Résumé en français de la section quatre-vingt-dix-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
<script type="application/ld+json">
{ ...your markup... }
</script>«The reserved keywords » (Traduction) (Résumé en français de la section quatre-vingt-dix-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
| Mot-clé | Ce que il fait | Typical valeur |
|---|---|---|
@context | Declares le vocabulary (requis) | "https://schema.org" |
@type | Declares le entity type | "Article", "Product", "Organization" |
@id | Stable URI à identifier/référence an entity | "https://example.com/#org" |
@graph | Array de plusieurs entities dans un bloquer | [ {…}, {…} ] |
Unique entity
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Widget",
"offers": { "@type": "Offer", "price": "19.99", "priceCurrency": "USD" }
}Nesting — a child entity est a nested object (or an array de objects):
"author": { "@type": "Person", "name": "Patrick Stox" }The @graph pattern — define une fois, référence by @id:
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://ex.com/#org", "name": "Ex Co" },
{ "@type": "WebSite", "publisher": { "@id": "https://ex.com/#org" } }
]
}Courant properties by type
Article/BlogPosting:headline,author,datePublished,image,publisherProduct:name,image,brand,offers(→price,priceCurrency,availability)Organization:name,url,logo,sameAs(social/Wikidata URIs)BreadcrumbList:itemListElement→ListItem(position,name,item)FAQPage:mainEntity→Question→acceptedAnswer→Answer
Règles de thumb
@contextest"https://schema.org"pour la plupart SEO markup — c’est a convention, pas a spec requirement. Utiliser straight citations, jamais smart citations.- Aucun trailing commas — JSON est strict.
- Utiliser le la plupart spécifique
@typedisponible. - Mark up seulement qu’est-ce que visible on lune page.
- Placer dans
<head>or<body>— les deux valide. @idet@graphaider vous cross-reference et organize entities mais ne sont pas requis — blank nodes et autre layouts sont valide aussi.- Pour robots d’exploration vous haven’t verified execute JavaScript (plusieurs AI robots d’exploration, GPTBot et ClaudeBot inclus, ont pas dans testing), rendre serveur-side.
- Valider as séparé layers: Résultats enrichis Tester (par URL) pour Google eligibility + Schema.org Validator pour vocabulary — un passing ne fait pas signifier le autre fait.
Outils pour validating JSON-LD
- Schema.org Validator — le broader vocabulary vérifier. A bloquer peut réussir ici et encore échouer Google’s fonctionnalité-spécifique règles.
- Google Résultats enrichis Tester — tester le deployed URL quand rendu matters, surtout pour client-side-injected markup. Ce tester covers Google’s pris en charge résultats enrichis, pas chaque schema.org type.
JSON-LD mistakes to éviter
Marking up facts visitors ne peut pas voir. A rating, price, author, or autre claim dans JSON-LD doit agree avec le visible page. Hidden or misleading données structurées peut coût lune page son rich-résultat eligibility. Faire à la place: generate markup depuis le même source de truth as le visible contenu.
Treating valide JSON as valide schema. A parser peut accept perfectly formed JSON whose property noms ne faites pas exist dans schema.org. Faire à la place: exécuter les deux a JSON-LD vocabulary vérifier et le cible fonctionnalité’s Google requirements.
En utilisant smart citations or trailing commas. JSON est strict; typographic citations et a comma après le final property peut invalidate le entier bloquer. Faire à la place: serialize le données plutôt que assembling JSON strings par hand.
Choosing a generic type quand a spécifique un exists. Thing or broad Article
markup throws away utile meaning quand lune page is clearly a Recipe, Product, or
NewsArticle. Do à la place: utiliser the la plupart spécifique applicable schema.org type.
Duplicating entities avec conflicting details. Plusieurs Organization bloque avec
différent noms, logos, or URLs faire le graph ambiguous. Faire à la place: donner le
entity un stable @id, define il une fois, et référence que identifier elsewhere.
Assuming schema.org validity guarantees a Google rich résultat. Google prend en charge a subset de types et ajoute requis properties et contenu policies de son propre. Faire à la place: valider vocabulary premier, alors tester eligibility pour le spécifique Google fonctionnalité.
Injecting JSON-LD dans JavaScript et assuming chaque robot d’exploration voit il. Google peut rendre client-side markup, mais JS-skipping AI robots d’exploration peut jamais recevoir il. Faire à la place: serveur-rendre JSON-LD quand ceux consumers matter, et tester le actif URL plutôt que seulement pasted code.
«## Prove a JSON-LD deployment took effect » (Traduction) (Résumé en français de la section cent vingt et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Tester 1 — The live page contient valid, page-matching JSON-LD
- Tester à exécuter — Récupérer le deployed URL avec le Balisage de données structurées Validator et comparer le detected entities et valeurs avec le visible page.
- Attendu résultat — Le JSON parses, tout properties belong à schema.org,
@idréférences resolve dans le graph où prévu, et claims tel as noms, prices, ratings, et dates match ce que utilisateurs voir. - Échec interpretation — Parser erreurs point à malformed JSON; vocabulary warnings point à misspelled or unsupported properties; mismatched valeurs point à séparé contenu et schema données sources drifting apart.
- Monitoring window — Immediate après deployment et cache clearance.
- Rollback trigger — Supprimer or revert le nouveau bloquer si il publishes faux visible-contenu claims, breaks a previously valide graph, or ne peut pas être parsed.
Tester 2 — The target search fonctionnalité recognizes the rendered markup
- Tester à exécuter — Exécuter le deployed URL via Google’s Résultats enrichis Tester, alors utiliser le Rich-Résultat Eligibility Checker à inspect manquant requis et recommended champs par type.
- Attendu résultat — Google detects le prévu pris en charge type sans critical erreurs; quelconque client-side-generated bloquer apparaît dans le rendu HTML.
- Échec interpretation — A Schema.org Validator réussir paired avec a Google échec généralement signifie le type n’est pas a pris en charge Google fonctionnalité, a Google-requis champ est manquant, a contenu policy est unmet, or le renderer jamais reçu le bloquer.
- Monitoring window — Immediate dans les deux tests; Search Console changements wait pour a recrawl.
- Rollback trigger — Roll back client-side injection si il rend previously visible données structurées disappear depuis le rendu résultat, or supprimer unsupported fonctionnalité claims depuis le launch jusqu’à le requis contenu est présent.
Testez vos connaissances: JSON-LD
Five rapide questions on the JSON-LD format. Pick an réponse pour chaque, alors vérifier.
Ressources utiles
Mon connexe writing
- Balisage de données structurées: Le Facile Façon à Obtenir Résultats enrichis — le Ahrefs guide à données structurées, schema types, et résultats enrichis (le fonctionnalité couche on top de JSON-LD).
- Le Beginner’s Guide à SEO technique — où données structurées fits dans le broader technique picture.
- JavaScript SEO Problèmes & Meilleur Practices — le rendu side: pourquoi JS-injected markup behaves differently pour robots d’exploration que ne pas exécuter JavaScript.
- Meet le Nouveau Web Robots d’exploration — mon Cloudflare Radar analysis de AI robots d’exploration (GPTBot, ClaudeBot et friends) — le bots que skip votre JS-injected schema.
Official
- Google’s Intro à Comment Données structurées Markup Fonctionne — le JSON-LD recommendation et le “all 3 formats” nuance, straight depuis le source.
- Google’s Generate données structurées avec JavaScript — le dynamic-injection méthodes et le Produit caveat.
- JSON-LD 1,1 — W3C Recommendation et json-ld.org — le format itself.
«From around the industry » (Traduction) (Résumé en français de la section cent trente-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Google On Which Structured Data It Prefers — Search Engine Journal — the write-up of Mueller’s “we currently prefer JSON-LD” comment. » (Traduction) (Résumé en français de la section cent trente-six, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- Microsoft Bing Copilot uses schema for its LLMs — Search Engine Land — Fabrice Canel’s SMX Munich 2025 confirmation that schema helps Bing’s LLMs. » (Traduction) (Résumé en français de la section cent trente-six, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- What Is JSON-LD Structured Data & Why Do You Need It? — Ignite Visibility — a solid beginner-level walkthrough. » (Traduction) (Résumé en français de la section cent trente-six, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.) «- A Beginner’s Guide to JSON-LD Schema for SEOs — SALT.agency — practical syntax-and-implementation guide aimed at SEOs. » (Traduction) (Résumé en français de la section cent trente-six, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
Journal des modifications
Mis à jour le 18 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.
Mis à jour le 17 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.