Structured Data — JSON-LD
debt(d5/e3/b3/t7)
Closest to 'specialist tool catches it' (d5). The detection_hints list specialist tools — google-rich-results-test, screaming-frog, schema-markup-validator — that can catch invalid or missing structured data. These are not default linters (ruling out d3) nor compiler errors (d1), but they are dedicated tools that surface issues like invalid JSON syntax or missing required fields. Silent in production until a crawl or manual test is run, but not as invisible as d7/d9.
Closest to 'simple parameterised fix' (e3). The quick_fix is adding or correcting a <script type='application/ld+json'> block in the <head> and validating with Google's Rich Results Test. Common mistakes like invalid JSON syntax, missing price/availability, or content mismatch are addressable with small targeted edits within one file or template — not a single-line swap (e1) but not a multi-file refactor (e5+).
Closest to 'localised tax' (b3). Applies to web pages with matching Schema.org types — it's a per-page or per-template concern. Once implemented on the relevant templates, it doesn't impose ongoing costs across the codebase. It stays localised to the frontend HTML layer, affecting only the pages that carry it, with no cross-cutting architectural implications.
Closest to 'serious trap' (t7). The misconception field directly states the canonical trap: developers and marketers believe structured data directly improves search rankings, when it only enables rich results (which improve CTR) and is not a direct ranking factor. This contradicts the widely held mental model that 'more optimization signals = higher rankings,' making it a serious cognitive trap that leads to misplaced prioritisation effort.
Also Known As
TL;DR
Explanation
Structured data communicates page content meaning to search engines in a formal vocabulary (Schema.org). JSON-LD (JavaScript Object Notation for Linked Data) is Google's preferred format — it lives in a <script> tag in <head> or <body>, separate from visible HTML, making it easy to add and maintain without modifying markup. Common schema types: WebPage (any page), Article (blog posts), Product (e-commerce with price, rating, availability), FAQPage (FAQ sections shown as expandable results), BreadcrumbList (site navigation path), Event (concerts, webinars), LocalBusiness (address, hours, phone). Valid structured data enables rich results in Google Search which typically increase CTR by 20–30%. Google requires the information in structured data to also appear visibly on the page — hidden data is ignored or penalised.
Common Misconception
Why It Matters
Common Mistakes
- Structured data describing content that doesn't appear on the page — Google requires visible corroboration for all structured data claims.
- Invalid JSON syntax in the ld+json block — a single missing comma or unclosed bracket silently breaks the entire schema.
- Using Microdata or RDFa instead of JSON-LD — all three formats work, but JSON-LD is easiest to maintain and Google's explicit recommendation.
- Applying Product schema without price and availability — incomplete Product schema is not eligible for rich results.
- Not testing with Google's Rich Results Test — schema that validates against Schema.org may still be ineligible for rich results due to Google-specific requirements.
Avoid When
- Do not add structured data for content that is not visibly present on the page — Google penalises hidden or misleading markup.
- Do not use for content that changes frequently without updating the schema — stale structured data (outdated prices, sold-out products marked available) can trigger manual actions.
When To Use
- Add structured data to any page type that has a matching Schema.org type with Google rich result support.
- Priority order: Product (e-commerce), Recipe, FAQPage, Article, LocalBusiness, Event, BreadcrumbList.
- Always test with Google's Rich Results Test before publishing to confirm eligibility.
Code Examples
<!-- No structured data — Google generates generic snippet -->
<head>
<title>Chocolate Chip Cookie Recipe</title>
</head>
<body>
<h1>Best Chocolate Chip Cookies</h1>
<p>Rating: 4.8/5 from 243 reviews</p>
</body>
<head>
<title>Chocolate Chip Cookie Recipe</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Best Chocolate Chip Cookies",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "243"
},
"totalTime": "PT35M",
"recipeYield": "24 cookies"
}
</script>
</head>