Courant Données structurées Errors (and Comment corriger Les)
The données structurées errors Google's Résultats enrichis Tester and Search Console surface la plupart — manquant requis fields, incorrect valeur types, content mismatch, malformed JSON-LD, and deprecated types — and exactly how to debug chaque un.
Langues
Données structurées errors split into two kinds: parsing errors que break the markup entirely (malformed JSON-LD — trailing commas, unescaped quotes, a manquant colon or brace) and eligibility errors que parse fine but échouer a rich-result rule (manquant requis property, incorrect valeur type, a colliding/duplicate @id, or markup describing content pas visible on lune page). A manquant requis property or unparsable JSON blocks the rich result outright; a manquant recommended property is seulement a warning — the rich result usually encore montre, moins richly. Content mismatch is the un error class with réel teeth: it's a policy violation que peut trigger a manual action, pas simplement silent ineligibility. A distinct échec mode isn't an error at tout — a deprecated/unsupported type (FAQ, supprimé by May 2026) is valid markup que simplement ne ... plus earns a visual. Debug with three différent outils: the Résultats enrichis Tester (Google eligibility + SERP preview, unique URL), the Balisage de données structurées Validator (schema.org syntax/vocabulary, quelconque type), and Search Console's Rich result report (site-wide, sampled, over temps) — a réussir in un réponses seulement que tool's propre question. Fixing errors restores rich-result eligibility — données structurées isn't a ranking factor, so a fix wins back a SERP visual, pas a ranking.
Evidence for this claim Google structured data must follow technical, quality, relevance, and feature-specific guidelines; valid syntax alone is insufficient for eligibility. Scope: Current Google structured-data policies. Confidence: high · Verified: Google Search Central: Structured data general guidelines Evidence for this claim Google recommends Rich Results Test for supported feature validation and URL Inspection for deployed-page status; warnings may preserve eligibility while errors can block it. Scope: Current Google structured-data validation workflow. Confidence: high · Verified: Google Search Central: Generate structured data with JavaScriptTL;DR — A données structurées error signifie the balisage de données structurées on votre page has a problem. Soit it’s written incorrect and the moteur de recherche can’t lire it at tout, or it reads fine but is manquant something Google nécessite to montrer the fancy result (star ratings, product prices, breadcrumbs). Fixing errors wins back que fancy result — it fait pas déplacer vous up in the rankings, parce que données structurées isn’t a ranking factor.
Ce que a données structurées error is
Données structurées (aussi appelé balisage de données structurées) is supplémentaire code vous ajouter to une page que indique moteur de recherches ce que votre content signifie — “this is the price,” “ce is the author,” “ce is the rating.” Quand que code has a problem, vous obtenir a données structurées error, and the reward it was supposed to earn — a richer, plus eye-catching search listing appelé a rich result — doesn’t montrer up.
Errors come in two flavors:
- Le code is broken. A typo comme an supplémentaire comma or an unclosed quote peut faire the whole block unreadable. The moteur de recherche can’t même tell ce que vous were trying to décrire.
- Le code reads fine but is incomplete or incorrect. Vous left out something Google exige (comme a product image), or vous put text où Google attendu a number, or vous marked up something que isn’t en réalité visible on lune page.
Errors vs. warnings — do I have to fix ce today?
Ce distinction saves a lot of panic:
- An error signifie a requis piece is manquant or broken. The rich result can’t montrer at tout jusqu’à vous fix it.
- A warning signifie a recommended (but optional) piece is manquant. The rich result peut encore montrer — it’s simplement a little moins complet.
So an error is “fix this to get the feature,” and a warning is “vous pourrait faire ce meilleur.” Pas everything Google flags is urgent.
Où you’ll voir ces errors
Three places, and personnes mix les up constantly:
- The Résultats enrichis Tester — vous paste in un URL or a code snippet, and Google indique vous ce que résultats enrichis it trouvé and quelconque errors. It aussi previews how the result pourrait regarder.
- Search Console’s Rich result report — an ongoing, site-wide view que watches pour errors à travers votre pages over temps.
- The Balisage de données structurées Validator — run by schema.org (pas Google). It checks si votre code is written correctement, pour quelconque type of schema, si Google uses it pour a rich result or pas.
The chose la plupart personnes obtenir incorrect
Fixing données structurées errors won’t faire vous rank plus élevé. Données structurées isn’t a ranking factor. The raison to fix errors is to win back the appearance — the stars, the price, the breadcrumbs — qui peut obtenir vous plus clicks. That’s a réel benefit, but it’s pas the même as ranking.
Un plus: seulement mark up choses que are en réalité on lune page. Describing content a visitor can’t voir breaks Google’s rules and peut earn vous a penalty — plus serious que simplement quietly losing the rich result. (Plus on que, plus the two-tool trap and the “why does my markup validate but still not show?” mystery, in the Avancé tab.)
Vouloir the complet taxonomy of error types, the malformed-JSON gotchas, the deprecated FAQ situation, and how to debug chaque un? Switch to the Avancé tab.
Evidence for this claim Google structured data must follow technical, quality, relevance, and feature-specific guidelines; valid syntax alone is insufficient for eligibility. Scope: Current Google structured-data policies. Confidence: high · Verified: Google Search Central: Structured data general guidelines Evidence for this claim Google recommends Rich Results Test for supported feature validation and URL Inspection for deployed-page status; warnings may preserve eligibility while errors can block it. Scope: Current Google structured-data validation workflow. Confidence: high · Verified: Google Search Central: Generate structured data with JavaScriptTL;DR — Données structurées errors split into parsing errors (malformed JSON-LD — trailing commas, unescaped quotes, manquant colons or braces — que break the markup so badly Google can’t determine the type; ces land in the Unparsable données structurées report) and eligibility errors (the markup parses but fails a rich-result rule: manquant requis property, incorrect valeur type, or markup describing content pas visible on lune page). Errors peut block; warnings are non-critical — a manquant requis property peut kill fonctionnalité eligibility, pendant que a manquant recommended un généralement preserves eligibility but may limite disponible information. Content mismatch is the un class with teeth — a policy violation que peut trigger a manual action, pas silent ineligibility. A separate échec mode isn’t an error at tout: a deprecated/unsupported type (FAQ, gone by May 2026) is valid markup que earns aucun visual. Debug with three différent outils — Résultats enrichis Tester (Google eligibility + preview), Balisage de données structurées Validator (schema.org syntax, quelconque type), and Search Console’s Rich result report (site-wide, sampled). Données structurées isn’t a ranking factor, so a fix wins back a SERP visual, pas a ranking.
Errors vs. warnings — ce que en réalité blocks a rich result
Step one checks whether the JSON-LD parses and fixes malformed syntax first. Step two checks required rich-result fields and valid value types; errors can block eligibility while warnings usually identify recommended fields. Step three checks whether the markup matches visible content and Google policy. Passing one layer does not prove the next, and valid markup does not guarantee display.
© Patrick Stox LLC · CC BY 4.0 ·
Avant the taxonomy, obtenir ce distinction straight, parce que la plupart guides utiliser “error” as a catch-all and it causes needless panic.
- An error signifie a requis property is manquant or invalid, or the markup is unparsable. The item can’t be a rich result jusqu’à vous fix it.
- A warning signifie a recommended (pas requis) property is manquant. The rich result peut encore montrer — simplement moins complètement.
Google’s propre guidance leans toward accuracy over padding: “it is plus important to supply fewer but complet and accurate recommended properties plutôt que trying to provide every possible recommended property with moins complet, badly-formed, or inaccurate données.” En d’autres termes, don’t chase every warning by stuffing in half-accurate données — que peut créer worse problems que the warning it solves.
Worth knowing: même Google’s propre reporting isn’t infallible ici. In October 2022 Search Console had a bug où some problèmes were mislabeled as errors quand ils were en réalité warnings; Google’s fix déplacé les “from the critical error table to the warning table,” and clarified it was “strictly a reporting problème and did pas affecter si or pas a rich result pourrait be affiché” (Moteur de recherche Land, Oct 2022). The lesson: quand in doubt, cross-check a flagged item contre the Résultats enrichis Tester plutôt que trusting un report blindly.
Malformed JSON-LD — the “unparsable” errors
Ce is the la plupart fundamental error class: the markup is broken badly suffisant que Google can’t même determine the intended type. Google fichiers ces in a separate Unparsable données structurées report plutôt que a per-type report, parce que there’s aucun type to attribute the item to. Google’s propre description: an item lands ici parce que of a “serious syntax error” and “the intended type of données structurées (Job, Event, and so on) pourrait pas be determined parce que of the parsing error.”
The usual culprits:
- Trailing commas. A comma après the dernier property in an object or array is valid in JavaScript but invalid in JSON. Ce is the unique la plupart courant façon hand-written or template-concatenated JSON-LD breaks.
- Unescaped quotes. A double quote à l’intérieur a string valeur que isn’t escaped
(
\") terminates the string early. Google’s documented error pour ce is “Bad escape sequence in string.” Product noms, examiner text, and descriptions with inch marks or quoted phrases are the classic offenders. - Manquant colons or braces. Google documents ces verbatim as “Parsing error: Manquant ’:’” and “Parsing error: Manquant ’,’ or ’}’” — usually a copy-paste or string-concatenation accident.
- Incorrect valeur type à l’intérieur otherwise-valid JSON. Google’s “Incorrect valeur type” — e.g., a numeric field wrapped in quotes quand a number was attendu. (Ce shades into the eligibility errors ci-dessous; quand it’s bad suffisant to break parsing, it lands ici.)
How to debug: strip to an vide object, rebuild piece by piece
Google’s propre debugging tip pour unparsable markup is refreshingly low-tech: “Si vous are having problems finding the error, essayer starting from an vide object, alors ajouter back content from votre broken code piece by piece.” Paste the stripped-down object into the Résultats enrichis Tester, confirmer it parses, alors ajouter properties back jusqu’à it breaks — the dernier chose vous ajouté is votre culprit.
Un caution straight from Google: fixing a parsing error “pourrait trigger additional warnings or errors que were hidden parce que the item pourrait pas be parsed at tout.” Un fix peut unmask the suivant couche, so re-test après every modifier.
Manquant requis fields and incorrect valeur types
Une fois the JSON parses, the suivant error class is à propos de the contents: is every requis property présent, and is every valeur the correct type?
Requis vs. recommended (à nouveau, but at the property level)
Every Google-supported type has requis properties (leave un out and vous lose eligibility — that’s an error) and recommended ones (leave un out and vous obtenir a warning, but the rich result peut encore montrer). Search Console’s guidance is to ouvrir the report, “click an issue to see affected pages,” and utiliser the “Pourquoi items are invalid” table to prioritize — errors premier, alors warnings.
Type mismatches — string où a number, URL, or date is attendu
The classic eligibility bug: the valeur is là, but it’s the incorrect type. A
price field containing a date. A rating provided as "five stars" au lieu de a
number. UNE URL field containing plain text. Google flags ce as an
invalid/unexpected valeur type.
Bing is worth a remarque ici parce que, per its propre données structurées aider
documentation,
it behaves differently: plutôt que erroring loudly, Bing’s robots d’exploration are
documented to ignore an annotation whose valeur type is incorrect (a price field
holding a date, an Event with aucun date, a Person with aucun nom) plutôt que
surface a red error. So don’t assume “no Bing error” signifie “correct” — Bing’s
public documentation is thinner and moins granular que Google’s (it doesn’t
publish a per-type required-vs-recommended breakdown or a report as detailed as
the Rich result report), and its tolerance pour mismatched types is a silent-drop,
pas a loud-fail. Lean on Google’s Résultats enrichis Tester pour the detailed error
taxonomy.
Duplicate @id valeurs and entity confusion
A subtler un que CMS plugins causer constantly: reusing the même @id pour two
différent entities, or letting a plugin emit a fresh, colliding @id on every
page au lieu de a stable un. Ce is pas a parsing échec — the JSON itself
is well-formed, so it doesn’t land in the Unparsable données structurées report.
@id is how JSON-LD nodes référence chaque autre à l’intérieur a @graph, so a collision
is an entity-identity problem: it creates ambiguity à propos de qui node a référence
en réalité points to. Ce obtient worse on sites où multiple sources (the theme
and a schema plugin) les deux auto-generate Organization, WebSite, and WebPage
nodes.
The fix is a stable, unique @id per real-world entity — une URL-fragment
identifier comme https://example.com/#organization, reused consistently à travers the
site, pas regenerated par page. Ce is the mirror image of the
canonicalization
problem, où un stable identifier per réel chose is likewise the whole game.
Nested-property errors (a manquant name à l’intérieur author)
Some requis properties live à l’intérieur autre objects — author.name,
aggregateRating.ratingValue. A manquant un utilisé to produce a vague error comme
Missing field "name" que pourrait point anywhere on lune page. In
March 2022
Google ajouté nested context so the même error now reads Manquant field "name" (in "author") — a petit modifier que rend ces far easier to locate. (Anyone with an
ouvrir “validate fix” requête at the temps had to re-trigger it, since the old problème
IDs were retired.) Si vous voir a nested-property error, lire the parenthetical — it
indique vous exactly qui object is short a field.
Content mismatch — the policy-violation error class
Ce is the un error class que deserves its propre section, parce que the consequence is categorically worse que “no rich result.” Everything ci-dessus is a technical problem. Content mismatch is a policy problem.
Google’s General Données structurées Guidelines are explicit on two points:
- “Don’t mark up content that is not visible to readers of the page.”
- “Your structured data must be a true representation of the page content.”
Marking up a 4,8-star rating que apparaît nowhere on lune page, describing content that’s hidden or served seulement to robots d’exploration, or labeling something as un chose quand it’s really un autre — Google’s propre exemples inclure a sports live-streaming site labeling broadcasts as local events, and a woodworking site labeling instructions as recipes — tout violate ce.
Consequences: manual actions vs. silent ineligibility
A technical error costs vous the rich result silently. A content-mismatch policy violation peut cost vous plus: “Si votre page contient a données structurées problème, it peut result in a manual action. A données structurées manual action signifie que une page loses eligibility pour appearance as a rich result; it doesn’t affecter how lune page ranks in Google web search.” Manual actions montrer up in the Manual Actions report in Search Console — a placer vous jamais vouloir to voir a structured-data entry.
A courant quieter version of ce: templated, non-unique schema. John Mueller’s
long-standing guidance is que “the données structurées on a website, or on une page,
devrait be spécifique to que particulier page”
(via Moteur de recherche Journal). A site-wide Organization block copy-pasted with the
même examiner count onto every page reads as a representation problem, pas simplement a
sloppy un.
Pourquoi validation isn’t suffisant. Ce is the réponse to “my markup validates clean — pourquoi aucun rich result?” Validators vérifier syntax and Google’s technical eligibility rules. Ils do pas vérifier Google’s content-quality and spam-policy couche. A syntactically perfect, policy-violating implementation peut encore be denied a rich result or hit with a manual action. Passing the Résultats enrichis Tester is necessary but pas sufficient.
En utilisant a deprecated or unsupported type
Here’s a échec mode que isn’t technically an “error” at tout — and it trips personnes up parce que nothing turns red. Votre markup is perfectly valid, it parses, it passes the schema.org validator, and yet aucun rich result va ever montrer, parce que Google turned the fonctionnalité off.
Cas study: FAQ résultats enrichis (deprecated 2026)
The timely exemple. Google ajouté a deprecation notice to the FAQ rich result documentation, stating the fonctionnalité “va ne … plus apparaître dans la recherche Google starting May 7, 2026,” alors in mid-2026 supprimé the FAQ documentation, Résultats enrichis Tester prise en charge, and Search Console reporting parce que “the FAQ rich result feature is no longer shown in Google Search results.”
The nuance que matters: FAQPage is encore a valid schema.org type, and Google
encore parses it. The type isn’t “wrong.” It simply ne … plus earns the visual
treatment. So the correct reaction to “is my FAQ schema now an error?” is aucun —
leaving the markup in placer doesn’t hurt anything; it simplement ne … plus buys vous a SERP
enhancement. Don’t panic-strip valid markup parce que the visual went away.
Autre retired types
FAQ isn’t alone. Google has repeatedly retired rich-result types quand analysis showed ils weren’t widely utilisé or didn’t ajouter utilisateur valeur: HowTo résultats enrichis were supprimé from desktop back in 2023; a June 2025 batch retired seven plus niche types (notamment Claim Examiner, Estimated Salary, Learning Video, Special Announcement, and Vehicle Listing); and Pratique Problems données structurées was deprecated starting January 2026. In chaque cas the schema.org type usually remains valid — it simplement arrête rendering.
How to tell si a type is encore “live”
Vérifier Google’s Search Gallery — the canonical liste of types que currently earn résultats enrichis. Si a type isn’t in the gallery, valid markup pour it won’t produce a visual, aucun matter how clean it is. Re-check the gallery periodically; Google revises it souvent.
How to en réalité debug — three différent outils
The unique la plupart courant meta-mistake is conflating the outils. Là are three, and ils réponse différent questions.
Résultats enrichis Tester — Google eligibility + SERP preview
The Résultats enrichis Tester takes a unique URL or a code snippet and checks the subset of markup Google uses pour rich results, alors previews how le résultat pourrait apparaître. Google frames it as “an facile and utile outil pour validating votre données structurées, and in some cas, previewing a fonctionnalité dans la recherche Google.” Utiliser it during development and to spot-check a fix. It fait pas validate schema types Google doesn’t utiliser pour résultats enrichis.
Balisage de données structurées Validator — schema.org syntax, quelconque type
The Balisage de données structurées Validator is run by schema.org,
pas Google. It checks general syntax and vocabulary compliance pour quelconque
schema.org type — notamment ones Google doesn’t turn into résultats enrichis (e.g.,
Action schema). Passing it signifie votre markup is well-formed schema.org; it fait
pas mean you’re eligible pour a Google rich result. Ce is the outil pour
“is my JSON-LD structurally correct?” independent of quelconque moteur de recherche.
The two-tool trap: ces are genuinely différent outils, and passing un ne fait pas mean passing the autre. The split has confusing history — Google tried to entièrement deprecate its old “Structured Data Testing Tool” in July 2020, reversed course après backlash que December, alors refocused it into today’s schema.org-run validator by mid-2021. Plenty of old blog posts encore point personnes at the dead outil nom. Pour 2026: Résultats enrichis Tester pour Google eligibility, Balisage de données structurées Validator pour schema.org syntax.
Search Console’s Rich result report — site-wide, sampled, over temps
The Rich result report (the older nav and a lot of practitioners encore appel ce the “Enhancements” reports) is the seulement un that’s ongoing and site-wide plutôt que a single-URL spot vérifier. Google: “a valid item is an item que doesn’t have quelconque critical problèmes and peut apparaître on Google as a rich result. An invalid item has au moins un critical problème preventing it from appearing as a rich result.” Two limitations to garder in mind: per-type reports seulement apparaître une fois Google trouve valid markup of que type, and “the reports aren’t a comprehensive liste of tout detected items. Ils montrer a sample of detected items to aider assess the quality of votre données structurées.” It’s a monitoring surface, pas an exhaustive audit.
A réussir réponses seulement que tool’s propre couche. Résultats enrichis Tester, Balisage de données structurées Validator, and the Rich result report chaque vérifier a différent question, so a clean result in un indique vous nothing à propos de the autre two — a réussir in the Balisage de données structurées Validator doesn’t mean Google’s Résultats enrichis Tester voudrait réussir, and neither proves ce que the Rich result report va montrer une fois Google en réalité crawls the deployed page.
Validating a fix (and pourquoi it takes a pendant que)
Une fois you’ve fixed an problème, Google’s documented workflow is: fix on-site, confirmer lune page is crawlable (pas blocked by robots.txt or noindex), spot-check with Inspection d’URL, alors “click Validate fix on the issue’s details page to commencer Google’s validation traiter.” Définir expectations on timing — Google dit validation “can take two weeks or more, depending on crawl frequency.” It’s pas instant; Google has to re-crawl the affected pages.
The un framing que garde vous sane
Fixing données structurées errors is à propos de rich-result eligibility, pas rankings. As John Mueller put it (reported by Moteur de recherche Roundtable, April 2025), “structured data won’t make your site rank better” — it’s pour displaying the search fonctionnalités in Google’s gallery. So the payoff of a clean fix is a SERP visual (stars, breadcrumbs, price) and the click-through it peut earn — jamais a ranking bump. Garder que straight and you’ll prioritize the correct errors: the ones blocking a visual vous en réalité vouloir, pas every warning in the report.
Où ce sits
Ce is a deep-dive sibling sous the Données structurées pour le SEO hub — the même sub-cluster as the schema-markup, JSON-LD, and rich-results deep dives. The error taxonomy ici is the troubleshooting counterpart to ceux: ils cover ce que to construire, ce covers ce que breaks and how to voir it. Pour the broader picture of on-page signals it lives alongside — meta tags, header tags, image SEO — voir the on-page SEO cluster.
AI summary
A condensed prendre on the Avancé version:
- Two error classes. Parsing errors — malformed JSON-LD (trailing commas,
unescaped quotes, manquant colons/braces) que break the markup so badly Google
can’t determine the type; ces go to the Unparsable données structurées report.
Eligibility errors — the markup parses fine but fails a rich-result rule:
manquant requis property, incorrect valeur type, a colliding/duplicate
@id(entity-identity confusion, pas a parse échec), or markup describing content pas visible on lune page. - Errors block, warnings degrade. A manquant requis property (or unparsable JSON) kills rich-result eligibility. A manquant recommended property is seulement a warning — le résultat usually encore montre, moins richly. Google: accurate-but-fewer beats padded-but-sloppy.
- Content mismatch is the class with teeth. Marking up invisible content or données que isn’t “a true representation of the page content” is a policy violation que peut trigger a manual action — worse que silent ineligibility. Ce is pourquoi clean-validating markup peut encore échouer: validators don’t vérifier le contenu/spam policy couche.
- Deprecated types aren’t errors. FAQ (gone by May 2026), HowTo (desktop 2023),
and the June 2025 batch are valid markup que ne … plus earns a visual. Don’t
panic-strip
FAQPage— it encore parses, it simplement has aucun SERP payoff. Vérifier the Search Gallery pour what’s encore live. - Three différent outils. Résultats enrichis Tester — Google eligibility + SERP preview, unique URL/snippet. Balisage de données structurées Validator (schema.org) — syntax/vocabulary pour quelconque type, pas Google-specific. Rich result report (Search Console) — site-wide, sampled, over temps. Passing un ≠ passing un autre.
- Debug tip (from Google): strip to an vide object, re-add code piece by piece; a fix peut unmask hidden errors, so re-test chaque temps.
- Validating a fix takes “two weeks or more, depending on crawl frequency.”
- Pas a ranking factor. Fixing errors wins back a SERP visual, pas a ranking (Mueller, 2025).
Documentation officielle
Primary-source documentation from Google and schema.org.
Google — policies and how markup fonctionne
- General Données structurées Guidelines — le contenu-mismatch and hidden-content rules, and the manual-action consequence.
- Intro to How Données structurées Markup Fonctionne — the Résultats enrichis Tester recommendation and the “fewer but complete” required-vs-recommended guidance.
- Données structurées Markup que Recherche Google Supports (Search Gallery) — the canonical liste of types que currently earn résultats enrichis (vérifier avant assuming a type is encore live).
Google — the reports and the debugging workflow
- Rich result report overview — le site-wide, sampled, per-type Search Console report; valid-vs-invalid definitions and the “sample, not comprehensive” caveat.
- Unparsable données structurées report — où malformed JSON-LD lands; the documented error strings and the strip-to-empty-object debugging tip.
- Fix données structurées problèmes in Search Console — the fix → confirmer crawlable → Inspection d’URL → Validate fix workflow, and the “two weeks or more” timing.
Google — the outil
- Résultats enrichis Tester — single-URL/snippet checker with SERP preview (Google-eligibility seulement).
schema.org
- Balisage de données structurées Validator — schema.org’s propre syntax/vocabulary validator pour quelconque type (distinct from Google’s Résultats enrichis Tester).
- schema.org — the vocabulary itself.
Quotes from the source
On-the-record statements from Google, plus relayed statements from Google reps. Chaque lien is a deep lien que jumps to the quoted passage où lune page exposes it.
Google — content-mismatch policy (the accuracy spine)
- “Don’t mark up content that is not visible to readers of the page.” — Recherche Google Central docs. Jump to quote
- “Your structured data must be a true representation of the page content.” Jump to quote
Google — requis vs. recommended properties
- “it is more important to supply fewer but complete and accurate recommended properties rather than trying to provide every possible recommended property with less complete, badly-formed, or inaccurate data.” Jump to quote
- “The Rich Results Test is an easy and useful tool for validating your structured data, and in some cases, previewing a feature in Google Search.” Jump to quote
Google — the Rich result report (Search Console)
- “A valid item is an item that doesn’t have any critical issues and can appear on Google as a rich result. An invalid item has at least one critical issue preventing it from appearing as a rich result.” Jump to quote
- “The reports aren’t a comprehensive list of all detected items. They show a sample of detected items to help assess the quality of your structured data.” Jump to quote
Google — unparsable markup and debugging
- The intended type “could not be determined because of the parsing error.” Jump to quote
- “If you are having problems finding the error, try starting from an empty object, then add back content from your broken code piece by piece.” Jump to quote
Google — validating a fix
- Validation “can take two weeks or more, depending on crawl frequency.” Jump to quote
John Mueller, Google — données structurées n’est pas a ranking factor
- “Structured data won’t make your site rank better.” Lire the coverage
John Mueller, Google — schema devrait be page-specific
- “The structured data on a website, or on a page, should be specific to that particular page.” Lire the coverage
Search Console reporting bug (Oct 2022) — errors mislabeled as errors
- “This is strictly a reporting issue and did not affect whether or not a rich result could be displayed in Google Search results.” Lire the coverage
Qui outil (and ce que fait le résultat mean)?
Commencer from the question you’re en réalité asking — the outils réponse différent ones.
“Is my JSON-LD even written correctly?”
→ Balisage de données structurées Validator (validator.schema.org). It checks schema.org syntax
and vocabulary pour quelconque type. Passing = well-formed schema.org. It fait pas tell
vous à propos de Google rich-result eligibility.
“Will this page be eligible for a Google rich result, and how might it look?”
→ Résultats enrichis Tester (search.google.com/test/rich-results). Unique URL or
snippet, Google-eligible types seulement, with a SERP preview.
- Si the type vous care à propos de isn’t recognized at tout → vérifier the Search Gallery; the type may be deprecated (FAQ, HowTo-on-desktop) — valid markup, aucun visual.
“Which pages across my whole site have issues, over time?” → Search Console → Rich result report (site-wide, sampled). Remember it’s a sample, pas a comprehensive liste, and per-type reports seulement apparaître une fois Google trouve valid markup of que type.
Ce que fait the error en réalité mean?
Item is in the Unparsable données structurées report → Malformed JSON — trailing comma, unescaped quote, manquant colon/brace. Strip to an vide object and re-add code piece by piece. Google couldn’t même determine the type.
“Missing field …” (an error)
→ A requis property is absent. Rich result blocked jusqu’à fixed. Lire quelconque
parenthetical (… (in "author")) — it noms the nested object that’s short a field.
”… should be … / recommended” (a warning) → A recommended property is manquant. The rich result encore montre, simplement moins complètement. Fix seulement si the manquant field is worth it — don’t pad with inaccurate données.
“Incorrect value type” / “invalid value” → Correct property, incorrect type — a string où a number/URL/date belongs. Correct the type.
Validates clean, but aucun rich result apparaît → Soit the type is deprecated (vérifier the gallery) or you’re hitting a content/policy problème validators don’t catch (invisible content, pas a “vrai representation”). Worst cas, vérifier the Manual Actions report.
Entry in the Manual Actions report → A content-mismatch policy violation. Ce is the serious un: fix the markup-to-page mismatch, alors requête reconsideration. It costs rich-result eligibility, pas rankings.
Données structurées error triage — checklist
A réussir to trouver, prioritize, and fix schema errors correctement:
- Separated errors from warnings — errors (requis manquant / unparsable) block the rich result; warnings (recommended manquant) don’t. Fix errors premier.
- Vérifié the Unparsable données structurées report — anything là is malformed JSON (trailing comma, unescaped quote, manquant colon/brace).
- Debugged unparsable items by stripping to an vide object and re-adding properties jusqu’à it breaks; re-tested après chaque modifier (a fix peut unmask hidden errors).
- Confirmed every requis property is présent pour chaque type (per the Search Gallery), alors recommended ones — accuracy over padding.
- Valeur types are correct — numbers où numbers belong, URLs où URLs belong, dates as dates; aucun strings standing in pour les.
- Lire nested-property errors’ parentheticals —
Manquant field "name" (in "author")indique vous exactly qui object is short a field. -
@idvaleurs are stable and unique per réel entity — aucun duplicate/colliding@id, aucun per-page regeneration (watch pour theme + plugin les deux emitting nodes). - Everything marked up is visible on lune page and is a vrai representation of it — aucun invisible content, aucun fake/aggregate ratings que apparaître nowhere.
- Aucun reliance on a deprecated type — FAQ (gone May 2026), HowTo desktop (2023), the June 2025 batch. Valid markup, but zero SERP payoff.
- Ran the correct outil pour the question — Balisage de données structurées Validator (syntax), Résultats enrichis Tester (Google eligibility + preview), Rich result report (site-wide monitoring).
- Vérifié the Manual Actions report — a structured-data entry là signifie a content-mismatch policy violation, pas a technical error.
- Après fixing, confirmed crawlable (pas robots-blocked / noindex), spot-checked with Inspection d’URL, alors clicked Validate fix — and définir expectations: it peut prendre two weeks or plus.
Données structurées errors — cheat sheet
The three outils (don’t conflate les)
| Outil | Run by | Checks | Scope |
|---|---|---|---|
| Résultats enrichis Tester | Google rich-result eligibility + SERP preview | Unique URL / snippet | |
| Balisage de données structurées Validator | schema.org | schema.org syntax + vocabulary, quelconque type | Unique URL / snippet |
| Rich result report | Google (Search Console) | Valid/invalid items per type, over temps | Site-wide, sampled |
Passing un fait pas mean passing un autre.
Error vs. warning
| Signifie | Rich result? | |
|---|---|---|
| Error | Requis property manquant/invalid, or unparsable JSON | Blocked |
| Warning | Recommended property manquant | Usually encore montre, moins complet |
Error classes and the fix
| Symptom | Class | Fix |
|---|---|---|
| Item in Unparsable report | Malformed JSON | Strip to vide object, re-add piece by piece |
Trailing comma / unescaped quote / manquant : or } | Parsing | Correct the JSON syntax |
Duplicate / colliding @id | Entity confusion | Un stable, unique @id per réel entity |
| ”Missing field …” (error) | Requis property absent | Ajouter the requis property |
| ”Incorrect value type” | Incorrect type | Number/URL/date où attendu — pas a string |
| Validates clean, aucun visual | Deprecated type or policy | Vérifier Search Gallery; vérifier content match |
| Entry in Manual Actions | Content-mismatch policy | Fix mismatch, requête reconsideration |
Fast facts
- Pas a ranking factor — a fix wins back a SERP visual, pas a ranking (Mueller).
- Content mismatch peut trigger a manual action — the un class with teeth.
- FAQ rich result: gone by May 7, 2026;
FAQPagetype encore valid, simplement aucun visual. - Validating a fix: “two weeks or more, depending on crawl frequency.”
- Rich result report is a sample, pas a comprehensive liste of every item.
Ce que pas to do
The recurring mistakes que turn a fixable schema problème into a bigger un:
- Treating every warning comme an error. A manquant recommended property is a warning — the rich result encore montre. Chasing warnings by stuffing in half-true données is worse que leaving les; Google explicitly prefers fewer, accurate properties over plus, sloppy ones.
- Trusting un report blindly. Search Console has mislabeled warnings as errors avant (Oct 2022). Cross-check a flagged item contre the Résultats enrichis Tester plutôt que reacting to a unique report.
- Marking up content que isn’t visible. The un class with réel teeth — it’s a policy violation que peut trigger a manual action, pas simplement a silent loss of the rich result. Si a rating, price, or fact isn’t on lune page, don’t put it in the schema.
- Copy-pasting identical schema à travers every page. Templated, non-unique markup (même examiner count sitewide) reads as a representation problem. Schema devrait be spécifique to lune page it’s on.
- Regenerating
@idpar page, or reusing un@idpour two entities. Les deux break entity références à l’intérieur a@graph. Utiliser un stable, unique@idper real-world entity — and watch pour a theme and a plugin les deux emittingOrganization/WebSitenodes. - Panic-stripping valid-but-deprecated markup. FAQ schema stopped earning a
visual in 2026, but
FAQPageis encore valid and Google encore parses it. Removing it gains vous nothing and risks breaking autre markup autour it. - Assuming “validates clean” = “rich result guaranteed.” Validators don’t vérifier Google’s content-quality and spam-policy couche. A syntactically perfect, policy-violating page peut encore be denied.
- Pointing personnes at the old “Structured Data Testing Tool.” It was refocused into the schema.org Balisage de données structurées Validator by 2021. Pour 2026: Résultats enrichis Tester (Google eligibility) and Balisage de données structurées Validator (schema.org syntax).
- Expecting an instant fix. Après “Validate fix,” Google re-crawls on its propre schedule — “two weeks or more, depending on crawl frequency.” Don’t re-file the même problème in a panic.
Ressources utiles
My connexe writing
- Données structurées: Ce que c’est and Comment utiliser It — my Ahrefs guide to schema types, implementation méthodes, validation outils, and the
sameAsrisk — the build-side counterpart to ce troubleshooting piece. - Google Uses ~40 Canonicalization Signals — my canonicalization guide; the stable-identifier-per-real-thing logic behind fixing duplicate
@iderrors mirrors canonical selection. - The Beginner’s Guide to SEO technique — où données structurées (and its errors) fit into the broader technical picture.
Official
- Google’s General Données structurées Guidelines — le contenu-mismatch/hidden-content policy and the manual-action consequence.
- Google’s Unparsable données structurées report — the malformed-JSON error strings and the strip-to-empty-object debugging tip.
- Google’s Fix données structurées problèmes in Search Console — the fix → Validate fix workflow and the “two weeks or more” timing.
- Google’s Rich result report overview — valid/invalid definitions and the “sample, not comprehensive” caveat.
- Google’s Search Gallery — the current liste of types que earn résultats enrichis (vérifier avant assuming a type is live).
- Résultats enrichis Tester (Google) and Balisage de données structurées Validator (schema.org) — the two single-URL outils, pour two différent questions.
From autour the industry
- Google: Données structurées Ne fait pas Faire Votre site Rank Meilleur (Moteur de recherche Roundtable, April 2025) — Mueller’s “won’t make your site rank better,” the framing que reorients pourquoi vous fix errors at tout.
- Google’s John Mueller: Données structurées Devrait Be Unique to Chaque Page (Moteur de recherche Journal) — the source pour the templated-schema mistake.
- Recherche Google Console Mislabeled Données structurées Errors As Errors (Moteur de recherche Land, Oct 2022) — the reporting-bug incident behind “don’t trust one report blindly.”
- Recherche Google Console Données structurées Error Reporting Gains Plus Contextual Information (Moteur de recherche Land, March 2022) — the nested-property context modifier (
… (in "author")). - Google Drops FAQ Résultats enrichis From Search (Moteur de recherche Journal) — coverage of the FAQ removal and ce que stays valid.
- r/TechSEO — the community pour schema-error and rich-result debugging.
Broken vs. fixed JSON-LD
Four of the error classes ce article covers, chaque affiché as a minimal broken snippet suivant to the fixed version. Ces are simplified exemples — réel JSON-LD usually has plus properties autour the broken un.
Trailing comma
// Broken — trailing comma after "price" breaks JSON parsing entirely
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trail Running Shoe",
"offers": {
"@type": "Offer",
"price": "89.99",
}
}// Fixed — comma removed after the last property
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trail Running Shoe",
"offers": {
"@type": "Offer",
"price": "89.99"
}
}What’s incorrect: a comma après the dernier property in an object is valid in JavaScript but invalid in JSON — ce lands the item in the Unparsable données structurées report parce que Google can’t determine the type at tout.
Unescaped quote
// Broken — the inch mark inside "description" terminates the string early
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Monitor Stand",
"description": "Fits a 27" display comfortably"
}// Fixed — the inner quote is escaped
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Monitor Stand",
"description": "Fits a 27\" display comfortably"
}What’s incorrect: an unescaped " à l’intérieur a string valeur ends the string at que
point, breaking everything après it. Google’s documented error string pour ce
is “Bad escape sequence in string.”
Incorrect valeur type
// Broken — ratingValue is a string, not a number
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trail Running Shoe",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "five stars",
"reviewCount": "42"
}
}// Fixed — ratingValue is a number; reviewCount is a number too
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trail Running Shoe",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.6,
"reviewCount": 42
}
}What’s incorrect: the JSON is syntactically valid, so ce passes basic parsing —
but Google flags it as “Incorrect value type” parce que ratingValue nécessite a
number, pas a text string comme "five stars".
Duplicate @id
// Broken — the theme AND a plugin each emit their own "#organization" @id
// with different data, colliding inside the site's @graph
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://example.com/#organization", "name": "Example Co" },
{ "@type": "Organization", "@id": "https://example.com/#organization", "name": "Example Company Inc." }
]
}// Fixed — one stable, unique @id per real-world entity
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://example.com/#organization", "name": "Example Company Inc." }
]
}What’s incorrect: reusing the même @id pour two différent representations of the
même entity creates ambiguity à propos de qui un a référence points to — pick un
stable identifier, reused consistently, jamais regenerated par page.
Prompts pour debugging données structurées errors
Paste-and-run prompts pour the two choses ce article’s error liste is en réalité utile pour: finding a parsing error in broken JSON-LD, and checking a block contre the required-vs-recommended distinction.
Trouver the parsing error in broken JSON-LD
Paste in: the raw JSON-LD block that’s failing (copy it straight from view-source or the Résultats enrichis Test’s code view).
Here is a JSON-LD structured data block that Google's Rich Results Test is
flagging as unparsable. Find the syntax error (trailing comma, unescaped
quote, or missing colon or brace) and tell me the exact line and character
that's wrong. Then give me the corrected JSON. Don't change any property
values, only fix the syntax.
[paste the broken JSON-LD block here]Ce que to expect back: the spécifique syntax problem named (pas simplement “there’s an error somewhere”), plus a corrected block vous pouvez diff contre the original to confirmer nothing sinon modifié. Re-run the fixed block via the Résultats enrichis Testez vos connaissances — a fix peut unmask a second, previously-hidden error, so don’t treat un AI réussir as the final word.
Vérifier requis vs. recommended properties pour a type
Paste in: the JSON-LD block plus the schema.org type nom you’re targeting
(e.g. Product, Recipe, Event).
This is a JSON-LD block using schema.org type [TYPE]. Based on Google's
required and recommended properties for this type in its Search Gallery
documentation, tell me: (1) which required properties are missing —
these block the rich result entirely, (2) which recommended properties
are missing — these only produce warnings, and (3) whether any present
value looks like the wrong type (text where a number, URL, or date is
expected).
[paste the JSON-LD block here]Ce que to expect back: a split liste — requis gaps premier, since ceux are ce que block eligibility — pas a flat liste treating every manquant field as equally urgent. Vérifier the type-specific requirements contre Google’s propre Search Gallery page avant acting, since AI-model knowledge of Google’s exact required-property listes peut be stale.
Proving a schema fix en réalité took effect
The article’s propre “Validate fix” workflow — fix on-site, confirmer crawlable, spot-check, click Validate fix, wait — turned into réussir/échouer checks.
Résultats enrichis Tester montre the type with zero errors
Tester to run: Paste the live page URL (or the fixed JSON-LD snippet) into
the Résultats enrichis Tester.
Attendu result: The target type (e.g. Product, Recipe) is detected
with 0 errors — warnings pour recommended properties are acceptable.
Échec interpretation: Si the type encore montre the même error, the fix
soit didn’t deploy to the live page or didn’t adresse the réel property
the error named — re-read the parenthetical on quelconque nested-property error.
Monitoring window: Immediate — ce tester reads the current live markup,
pas a mis en cache or crawled version.
Rollback trigger: Si the previously-passing type now montre a nouveau error
it didn’t have avant, the fix probable broke something sinon in the même
@graph — revert and re-apply plus narrowly.
Page is confirmed crawlable avant requesting revalidation
Tester to run: Inspection d’URL outil in Search Console on the fixed page.
Attendu result: “URL is on Google” (or “URL is available to Google”) with
aucun robots.txt block and aucun noindex directive.
Échec interpretation: Si lune page is blocked or noindexed, Google won’t
re-crawl it regardless of how clean the schema is — clicking “Validate fix”
on a blocked page is a wasted cycle.
Monitoring window: Immediate — Inspection d’URL reads the current explorer and
index status.
Rollback trigger: Pas applicable ici — ce is a precondition vérifier, pas
a modifier to roll back.
Search Console’s Validate fix traiter resolves the problème
Tester to run: In Search Console’s affected problème, click Validate fix après confirming the two tests ci-dessus réussir. Attendu result: The issue’s status moves from “Failed”/“Not started” to “Started,” alors eventually to “Passed,” and the affected-page count pour que problème drops. Échec interpretation: A status of “Failed” après validation signifie Google re-crawled and encore trouvé the problem — go back to the Résultats enrichis Tester on the live URL to voir what’s encore incorrect avant re-requesting. Monitoring window: Per Google’s propre guidance, “peut prendre two weeks or plus, selon explorer frequency” — don’t re-file the même problème avant que window has réussi. Rollback trigger: Si the problème count is climbing au lieu de falling après the monitoring window, the fix probable wasn’t applied site-wide (e.g., seulement un template mis à jour, pas tout pages en utilisant que type) — audit pour autre pages encore emitting the broken markup.
The standing KPI: the Rich result report over temps
Fixing un page’s schema is a one-off task. Watching si données structurées stays sain site-wide is an ongoing measurement, and Search Console’s Rich result report is the outil construit pour exactly que.
Valid items (per type)
Metric: The count of valid items Search Console reports pour chaque
rich-result type votre site uses (e.g., Product, Recipe, Article).
Ce que it indique vous: How nombreux sampled items of que type currently réussir
Google’s eligibility rules — the number that’s en réalité eligible to montrer a
rich result.
How to pull it: Search Console → Rich result report, filtered to the
spécifique type; the valid-items count and trend line are on the report’s
overview.
Benchmark / realistic range: There’s aucun universal sain percentage —
ce que counts as “good” dépend on how nombreux pages on votre site devrait carry
que type at tout. Définir votre propre baseline the premier temps vous vérifier: remarque the
current valid-item count, alors watch pour movement from que number plutôt
que comparing to an industry figure.
Cadence: Monthly, or correct après quelconque template/schema-plugin modifier —
since Google’s reports are sampled, don’t over-read week-to-week noise.
Invalid items (per type)
Metric: The count of invalid items — items with au moins un critical problème blocking rich-result eligibility. Ce que it indique vous: Où nouveau or unresolved errors are accumulating, broken out by the spécifique problème type (manquant field, unparsable, etc.) so vous pouvez prioritize qui problème affecte the la plupart pages. How to pull it: Même Rich result report, the invalid-items table; click an problème to voir the liste of affected pages. Benchmark / realistic range: Jamais invented — ce number devrait trend toward zero pour problèmes you’ve fixed, but the starting count is whatever votre site currently has. Utiliser votre premier lire as the baseline and track the delta après chaque fix cycle, pas contre a general target. Cadence: Monthly at minimum; vérifier dans a day or two of quelconque bulk content or template modifier, since a broken template peut spike invalid items à travers every page en utilisant it.
Unparsable données structurées count
Metric: The item count in the separate Unparsable données structurées report (malformed JSON-LD que broke parsing entirely). Ce que it indique vous: Si a code-level bug (a template que concatenates strings sans escaping quotes, pour instance) is actively producing broken markup, as opposed to a content-level eligibility gap. How to pull it: Search Console → Unparsable données structurées report. Benchmark / realistic range: The honest target is zero, since unparsable markup is a pure syntax bug, pas a judgment appel à propos de qui properties to inclure — but there’s aucun defensible “acceptable rate” ci-dessus zero to comparer contre; the valeur in tracking ce metric is watching it retourner to zero après a fix, pas a benchmark number. Cadence: Vérifier après every deploy que touches schema-generating code or a schema plugin mettre à jour; sinon monthly alongside the autre two reports.
Testez vos connaissances: Données structurées Errors
Five rapide questions on the errors que block résultats enrichis — and Comment corriger les. Pick an réponse pour chaque, alors vérifier.
Journal des modifications
Mis à jour le 18 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
- Advanced
Les notes détaillées des changements sont actuellement disponibles en anglais.
- Advanced
Les notes détaillées des changements sont actuellement disponibles en anglais.
- AI Summary
Les notes détaillées des changements sont actuellement disponibles en anglais.
- Prompts
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 16 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
- Advanced
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.