構造化データとは、Webページの情報を検索エンジンが理解できる形式で記述するマークアップの総称です。Schema.org(スキーマ)は「何を伝えるか」の語彙、JSON-LDは「どう書くか」の記法、リッチリザルトはGoogleが構造化データを読み取って表示する「結果」です。この4つは同じものではなく、それぞれ異なるレイヤーの概念です。
4つの概念の違いを整理する
「構造化データ」「JSON-LD」「スキーマ(Schema.org)」「リッチリザルト」は混同されがちですが、それぞれ異なる役割を持っています。実装前にこの関係を理解しておくと、何をどう書けばいいかが明確になります。
構造化データ(Structured Data)=目的
最も広い概念です。Webページの情報を機械が読める形式で記述したデータ全般を指します。「ページの内容を検索エンジンに正しく伝える」という目的そのものを表す言葉です。JSON-LDもMicrodataも、すべて「構造化データ」の一種です。
Schema.org(スキーマ)=語彙
Google・Microsoft・Yahoo!・Yandexが共同で策定した語彙の標準規格です。「Article」「FAQPage」「Product」などの型(Type)と、各型が持つ属性(headline, author, priceなど)を定義しています。構造化データの「辞書」にあたります。
JSON-LD=記法(書き方のフォーマット)
Schema.orgの語彙を実際にHTMLに記述するためのフォーマットです。他にMicrodataやRDFaもありますが、Googleは公式にJSON-LD形式を推奨しています(Google Search Central)。HTMLのコンテンツ部分を変更せず、独立した<script>タグ内に書けるのが最大の利点です。
リッチリザルト(Rich Results)=結果
Googleが構造化データを読み取った結果として、検索結果画面に表示する強化されたUIです。レビュー星・パンくずリスト・商品価格などが該当します(FAQのアコーディオンは2026年5月7日に終了)。構造化データを正しく実装しても、Googleが採用しなければリッチリザルトは表示されません。
4つの概念の関係
(語彙)
(記法)
なぜ2026年に構造化データが重要なのか
リッチリザルトによるCTR向上
Googleが紹介している事例では、Rotten Tomatoesで構造化データを追加したページのクリック率が、追加していないページより25%高く、Nestléではリッチリザルトが表示されるページのクリック率が82%高くなっています。ただし、どのリッチリザルトが表示されるかはGoogleが決め、種類も変わります(FAQのリッチリザルトは2026年5月7日にGoogleでの表示が終了しました)。
AI検索(AIO/GEO)との関係
Googleは、AI OverviewやAI Modeに表示されるために「特別な schema.org の構造化データを追加する必要」はないとしています。そのうえで、SEOのベストプラクティスとして「構造化データをページに表示されるテキストと一致させます」と書いています。構造化データはAI検索に出るための条件ではなく、ページの内容を機械に誤解なく伝える補助です。
Seer Interactiveの調査では、AI Overviewに引用されるコンテンツの55%がページ上部30%から抽出されていました。これは本文の位置の話で、構造化データの効果を示したものではありません。冒頭で答えを示し、その内容を構造化データでも矛盾なく示す、という順番で考えます。
出典: Google検索セントラル「構造化データの仕組み」「AI機能とウェブサイト」、Seer Interactive「AI Overview引用元分析」(2026年10月12日に確認)
+25%
構造化データ追加ページのCTR(Rotten Tomatoes・Google公表)
+82%
リッチリザルト表示ページのCTR(Nestlé・Google公表)
55%
AIO引用がページ上部30%から抽出される割合
主要なSchema.orgタイプ一覧
Schema.orgには数百種類のタイプが定義されていますが、SEO・AIO対策で特に重要な8つのタイプを解説します。それぞれのタイプで検索結果への表示効果が異なります。
| タイプ | 用途 | 検索表示効果 |
|---|---|---|
| FAQPage | よくある質問ページ | Googleでの表示は2026年5月7日に終了 |
| Article | ブログ記事・ニュース | 著者・公開日・サムネが表示される |
| Product | 商品ページ | 価格・評価・在庫状況が表示される |
| BreadcrumbList | パンくずナビ | URLの代わりにパスが表示される |
| Organization | 会社・団体情報 | Knowledge Panelに情報が掲載される |
| LocalBusiness | 店舗・ローカルビジネス | Googleマップ・ローカル検索に表示 |
| HowTo | 手順・ハウツー | Googleでの表示は2023年に終了 |
| WebSite | サイト全体の情報 | 検索結果のサイト名に使われる |
JSON-LDの書き方(実装例つき)
JSON-LDは<script type="application/ld+json">タグの中にJSONオブジェクトとして記述します。@contextでschema.orgの語彙を使うことを宣言し、@typeで型を指定します。以下に3つの代表的なタイプの実装例を示します。
FAQPage
よくある質問ページに使用します。ページに実際に表示されているQ&Aの内容と一致している必要があります。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "構造化データとは何ですか?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Webページの内容を検索エンジンが理解しやすい形式で記述するマークアップです。"
}
}
]
}
</script>Article
ブログ記事やニュースページに使用します。author(著者)とpublisher(発行者)は検索結果での信頼性表示とE-E-A-T評価に影響します。
<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
実店舗を持つビジネスに使用します。Googleマップとローカル検索での表示に直接影響するため、住所・電話番号・営業時間は正確に記述してください。
<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>すべてのJSON-LDは、HTMLの<head>内または<body>内に配置できます。Googleは配置場所を問いません(Google Search Central)が、管理のしやすさから<head>内への配置が一般的です。
構造化データの検証の方法
書いた構造化データは、公開前・公開直後・公開後の3つの段階で確かめます。Googleは「開発中はリッチリザルト テストを使用して構造化データをテストし、デプロイ後はリッチリザルトのステータス レポートを参照」するよう案内しています。
| 段階 | ツール | 分かること |
|---|---|---|
| 公開前 | リッチリザルト テスト(Google) | Googleのリッチリザルトの対象になる型について、必須項目の不足や書き方の誤りを判定する。コードを貼り付けても、URLを入れても試せる |
| 公開前 | Schema Markup Validator(schema.org) | Googleのリッチリザルトの対象外の型も含めて、schema.orgの語彙として正しいかを判定する |
| 公開直後 | Search ConsoleのURL検査 | Googleがそのページで構造化データを実際に検出したかを確かめる |
| 公開後 | Search Consoleのリッチリザルトのレポート | サイト全体で有効・エラーになっているページの数と理由を追う |
注意したいのは、どのツールで「有効」と出ても、リッチリザルトが表示されるとは限らないことです。Googleは、ガイドラインに沿わない構造化データはリッチリザルトとして表示されない場合があるとしています。また、FAQのように表示そのものが終了した型は、書き方が正しくても表示されません。
複数のページや競合のページで、どの型が入っていて必須項目が揃っているかをまとめて見たいときは、構造化データチェックでURLを入れると一覧で確認できます。
よくある失敗パターン
@contextの記述忘れ
JSON-LDの先頭に "@context": "https://schema.org" がないと、Googleは語彙の名前空間を認識できずエラーになります。すべてのJSON-LDブロックに記述してください。
ページ内容と構造化データが不一致
構造化データに記述した情報(価格・評価・FAQ)がページに実際に表示されていない場合、Googleのガイドライン違反になります。Manual Actionを受けるリスクがあります。
必須プロパティの不足
schema.orgの各タイプには必須プロパティがあります。例えばProductには"name"が必須です。Googleのリッチリザルトテストで公開前にチェックしてください。
JSONの構文エラー
カンマの付け忘れ・波括弧の閉じ忘れ・引用符の不一致などは、構造化データ全体が無効になります。バリデーターで確認してください。
1ページに同じタイプを重複定義
同じ@typeのJSON-LDブロックを複数記述すると、Googleがどちらを参照すべきか判断できなくなります。1ページ1タイプが原則です(BreadcrumbListなど例外あり)。
「ページ内容と構造化データが不一致」は、動画のマークアップでも起きます。ページから動画を外したのにVideoObjectだけを残すと、URL検査では「有効」と出ても、Search Consoleの動画のインデックス登録レポートでは未登録になります。当サイトで実際に起きた例と、動画が登録される条件は生成AIで作った動画が検索に出ない理由|動画再生ページとVideoObjectの条件で解説しています。
