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. FAQ accordions, star ratings, breadcrumbs, and product prices are all rich results. 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
Data shows rich results increase CTR by 20-30% compared to standard listings. FAQ accordions increase the visual footprint in search results, while breadcrumbs signal trustworthy site structure.
Higher Citation Rates in AI Search (AIO/GEO)
With Google AI Overview, ChatGPT, and Perplexity expanding AI-powered search, structured data has become even more valuable. When AI systems source answers from websites, explicitly marked-up JSON-LD information serves as a useful clue.
According to Seer Interactive's research, 55% of content cited in AI Overviews is extracted from the top 30% of a page, suggesting that information explicitly marked up with structured data at the top of pages gets preferential treatment.
Sources: Seer Interactive "AI Overview Citation Analysis", Google Search Central "How structured data works"
Current Adoption — Room to Differentiate
Only about 35% of sites correctly implement structured data. Adoption is even lower for advanced types like LocalBusiness, HowTo, and Product — there's still plenty of room to differentiate.
+20–30%
CTR increase with rich results
~35%
Sites with correct structured data
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 | Q&A accordion appears in search results |
| 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 | Steps displayed in search results |
| WebSite | Site-wide information | Sitelinks search box appears |
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.
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).
