Structured Data — JSON-LD
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>