Structured data is a general term for markup that describes page content in a machine-readable format. Schema.org defines the vocabulary (what to communicate), JSON-LD is the syntax (how to write it), and rich results are the outcome (how Google displays it). These four concepts operate at different layers — they are not interchangeable.
Understanding the Four Concepts
"Structured data," "JSON-LD," "Schema.org," and "rich results" are often confused, but each plays a distinct role. Understanding their relationship before implementation makes the what and how of writing markup much clearer.
Structured Data = The Goal
The broadest concept. It refers to any data that describes page content in a machine-readable format. JSON-LD, Microdata, and RDFa are all forms of structured data.
Schema.org = The Vocabulary
A standardized vocabulary co-developed by Google, Microsoft, Yahoo!, and Yandex. It defines types (Article, FAQPage, Product, etc.) and their properties (headline, author, price). Think of it as the dictionary for structured data.
JSON-LD = The Syntax
The format used to write Schema.org vocabulary into HTML. While Microdata and RDFa also exist, Google officially recommends JSON-LD (per Google Search Central). Its main advantage is that it lives in a standalone <script> tag without touching your HTML content.
Rich Results = The Outcome
The enhanced UI that Google displays in search results after reading your structured data. Star ratings, breadcrumbs, and product prices are all rich results (FAQ accordions ended on May 7, 2026). Even with correct implementation, Google may choose not to display them.
How the four concepts relate
(vocabulary)
(syntax)
Why Structured Data Matters in 2026
CTR Boost from Rich Results
In case studies Google cites, Rotten Tomatoes saw a 25% higher click-through rate on pages with structured data, and Nestlé saw an 82% higher click-through rate on pages that show as rich results. Which rich results appear is Google's call, and the set changes over time (FAQ rich results stopped showing in Google on May 7, 2026).
How It Relates to AI Search (AIO/GEO)
Google says you don't need to add any special schema.org structured data to appear in AI Overviews or AI Mode. Among its SEO best practices, it says to make sure structured data matches the visible text on the page. Structured data is not a ticket into AI search — it is a way to describe your page to machines without ambiguity.
Seer Interactive found that 55% of content cited in AI Overviews comes from the top 30% of a page. That is about where text sits, not about structured data. Answer early in the body, then describe the same content consistently in your structured data.
Sources: Google Search Central "Introduction to structured data markup" and "AI features and your website", Seer Interactive "AI Overview Citation Analysis" (checked October 12, 2026)
+25%
CTR on pages with structured data (Rotten Tomatoes, per Google)
+82%
CTR on pages shown as rich results (Nestlé, per Google)
55%
AIO citations from top 30% of page
Key Schema.org Types
Schema.org defines hundreds of types, but the following eight are most impactful for SEO and AIO. Each enables different rich result features.
| Type | Use Case | Rich Result Effect |
|---|---|---|
| FAQPage | FAQ pages | No longer shown in Google since May 7, 2026 |
| Article | Blog posts & news | Author, date, and thumbnail shown |
| Product | Product pages | Price, rating, and availability shown |
| BreadcrumbList | Breadcrumb navigation | Path shown instead of raw URL |
| Organization | Company/organization info | Info appears in Knowledge Panel |
| LocalBusiness | Local shops & businesses | Shown in Maps & local search |
| HowTo | Step-by-step guides | No longer shown in Google since 2023 |
| WebSite | Site-wide information | Used for the site name in search results |
How to Write JSON-LD (with Examples)
JSON-LD is written as a JSON object inside a <script type="application/ld+json"> tag. Declare the schema.org vocabulary with @context and specify the type with @type. Here are three common implementation examples.
FAQPage
Used for FAQ pages. The Q&A content must match what is actually visible on the page.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "構造化データとは何ですか?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Webページの内容を検索エンジンが理解しやすい形式で記述するマークアップです。"
}
}
]
}
</script>Article
Used for blog posts and news articles. The author and publisher fields affect credibility display in search results and E-E-A-T evaluation.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "ページのタイトル",
"author": {
"@type": "Person",
"name": "著者名",
"url": "https://example.com/about"
},
"publisher": {
"@type": "Organization",
"name": "サイト名",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"datePublished": "2026-05-12",
"dateModified": "2026-05-12",
"image": "https://example.com/article-image.jpg"
}
</script>LocalBusiness
Used for businesses with physical locations. Directly affects Google Maps and local search display, so ensure address, phone, and hours are accurate.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "カフェ サンプル 渋谷店",
"address": {
"@type": "PostalAddress",
"streetAddress": "神宮前1-2-3",
"addressLocality": "渋谷区",
"addressRegion": "東京都",
"postalCode": "150-0001",
"addressCountry": "JP"
},
"telephone": "+81-3-1234-5678",
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "09:00",
"closes": "18:00"
}
}
</script>All JSON-LD can be placed in <head> or <body>. Google accepts both (per Google Search Central), but <head> placement is common for easier maintenance.
How to Validate Structured Data
Check your structured data at three stages: before publishing, right after, and over time. Google advises testing with the Rich Results Test during development and checking the rich result status reports after deployment.
| Stage | Tool | What it tells you |
|---|---|---|
| Before publishing | Rich Results Test (Google) | For types eligible for Google rich results, flags missing required fields and syntax errors. Test with pasted code or a URL |
| Before publishing | Schema Markup Validator (schema.org) | Validates against the schema.org vocabulary, including types Google does not use for rich results |
| Right after | URL Inspection in Search Console | Confirms Google actually detected the structured data on that page |
| Over time | Rich result reports in Search Console | Tracks how many pages are valid or have errors across the site, and why |
Keep in mind that "valid" in any of these tools does not guarantee a rich result. Google notes that structured data that doesn't follow its guidelines may not be shown as a rich result, and retired types such as FAQ won't show however correctly they are written.
To see which types a page has and whether required fields are present — for your pages or a competitor's — enter a URL into the Structured Data Check.
Common Mistakes to Avoid
Missing @context
Without "@context": "https://schema.org" at the top of your JSON-LD, Google cannot identify the vocabulary namespace and will return an error. Include it in every JSON-LD block.
Structured data doesn't match page content
If information in your structured data (price, rating, FAQ text) is not actually visible on the page, it violates Google's guidelines and risks a Manual Action penalty.
Missing required properties
Each schema.org type has required properties. For example, Product requires "name". Use Google's Rich Results Test before publishing to catch missing properties.
JSON syntax errors
Missing commas, unclosed brackets, or mismatched quotes will invalidate your entire JSON-LD block. Always validate with a JSON linter or the Rich Results Test.
Duplicate types on the same page
Multiple JSON-LD blocks with the same @type can confuse Google about which to reference. The general rule is one type per page (with exceptions like BreadcrumbList).
The mismatch between structured data and page content also happens with video markup. If you remove a video from the page but leave its VideoObject behind, URL Inspection may still report it as valid while Search Console's Video indexing report shows it as not indexed. We walk through a case from our own site and the conditions for video indexing in Why AI-Generated Videos Don't Show Up in Search.
