GUIDE · 02 構造化データ
構造化データ(JSON-LD)はAI検索の引用に効くのか
— 実装すべきスキーマと優先順位
「構造化データを入れればAIに引用される」という説明をよく見ますが、LLMが引用先を選ぶときにschema.orgを直接読んでいる証拠はほとんどありません。それでも実装する価値があるのは、効き方が別の経路にあるからです。このガイドでは、何に効いて何に効かないかを分けたうえで、優先順位付きの実装手順を示します。
結論
効くのは3点。①Google検索インデックス側の理解(AI Overviews・AIモードはこのインデックスを引く)、②「誰が書いたどの組織のページか」というエンティティの同定、③日付・著者・種類の機械可読化。優先順位は Organization/WebSite → Article(日付付き)→ BreadcrumbList → その他。本文と一致しない構造化データは入れないほうがましです。
1. 何に効いて、何に効かないか
効くもの
- Google検索経由のAI機能:AI OverviewsとAIモードは、Google検索の通常インデックスから引用元を選びます。構造化データはそのインデックスでページの種類・日付・発行者を明確にするので、間接的に効きます。
- エンティティの同定:
OrganizationとsameAs(公式SNS、Wikipedia、法人番号ページなど)で「このサイトはどの組織か」が機械的に確定します。同名の別組織との混同を減らし、AIが「〇〇社によると」と帰属するときの根拠になります。 - 日付と著者の機械可読化:
datePublished・dateModified・authorは、本文中の表記が曖昧でも確実に読める形で鮮度と責任主体を示せます。
効かないもの、または証拠がないもの
- ChatGPT検索やPerplexityが引用先を選ぶ際にJSON-LDを評価しているという公式情報はありません。これらは主に本文テキストを読んでいると考えるのが安全です。
- FAQPageで回答を「そのまま引用させる」:Googleは2023年にFAQリッチリザルトを政府・医療系サイトに限定しました。構造としては有効ですが、表示上の特典はほぼありません。
- スキーマの数を増やす:関係ないスキーマを大量に入れても評価は上がらず、本文と矛盾すればスパム扱いのリスクがあります。
2. 実装の優先順位
| 優先 | スキーマ | 置く場所 | 何が確定するか |
|---|---|---|---|
| 1 | Organization + WebSite | 全ページ(少なくともトップ) | サイトの運営主体と正式名称、公式アカウント(sameAs) |
| 2 | Article / BlogPosting / NewsArticle | 記事ページ | 公開日・更新日・著者・発行者・見出し |
| 3 | BreadcrumbList | 階層のある全ページ | サイト内での位置。カテゴリ構造の理解に効く |
| 4 | Product / SoftwareApplication / Service | 製品・サービスページ | 名称・提供者・価格・対応環境などの属性 |
| 5 | FAQPage / HowTo | 該当構造のページのみ | 質問と回答の対応。本文と完全一致が条件 |
1と2だけで大半のサイトは十分です。3以降はサイト構造に合う場合にだけ追加してください。
3. 実装例(コピーして使える)
JSON-LDを<head>内の<script type="application/ld+json">に置きます。Microdata・RDFaより保守しやすく、Googleも推奨しています。
Organization + WebSite(トップページ)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#org",
"name": "株式会社サンプル",
"url": "https://example.com/",
"logo": "https://example.com/assets/logo.png",
"sameAs": [
"https://www.linkedin.com/company/example",
"https://x.com/example_jp"
]
},
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com/",
"name": "株式会社サンプル",
"publisher": { "@id": "https://example.com/#org" },
"inLanguage": "ja"
}
]
}
</script>
Article + BreadcrumbList(記事ページ)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"headline": "記事タイトル(本文のh1と一致させる)",
"datePublished": "2026-08-26",
"dateModified": "2026-08-26",
"inLanguage": "ja",
"mainEntityOfPage": "https://example.com/blog/post-1/",
"author": { "@type": "Person", "name": "執筆者名" },
"publisher": { "@id": "https://example.com/#org" }
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "ホーム", "item": "https://example.com/" },
{ "@type": "ListItem", "position": 2, "name": "ブログ", "item": "https://example.com/blog/" },
{ "@type": "ListItem", "position": 3, "name": "記事タイトル", "item": "https://example.com/blog/post-1/" }
]
}
]
}
</script>
@idを使ってOrganizationを一度だけ定義し、他のスキーマから参照する形にすると、ページごとに組織情報が食い違う事故を防げます。
4. 検証方法
- Googleリッチリザルトテスト:Googleが認識する範囲での妥当性。リッチリザルト対象外のスキーマは「検出されない」と出ますが、それはエラーではありません。
- Schema Markup Validator(schema.org公式):schema.org語彙としての構文チェック。Googleの対象外スキーマも検証できます。
- Search Consoleの「拡張」レポート:本番反映後、Googleが実際にどう解釈したかを確認できます。
5. よくある間違い
- 本文と一致しない:JSON-LDの
headlineと実際のh1が違う、datePublishedが本文の表記と食い違う。AIにとっては矛盾した情報源になります。 - JavaScriptでしか出力されない:クライアント側で後から挿入するJSON-LDは、JavaScriptを実行しないクローラーには存在しません。静的HTMLに含めてください。
- Organizationの重複:ページごとに名前やURLが微妙に違うOrganizationが定義されている。
@idで一本化します。 - authorが空、または組織名だけ:記事の責任主体が分からない。個人名を出せない場合は
Organizationをauthorにしても構いませんが、本文の署名と揃えます。 - dateModifiedを更新していない:内容を直したのに日付が古いままだと、鮮度で不利になります。逆に内容を変えずに日付だけ更新するのは、鮮度偽装として扱われるリスクがあります。
このガイドに対応する診断項目
LLMOチェッカー カテゴリ02「構造化データ」(20点)
| 項目 | 判定内容 |
|---|---|
| JSON-LDの有無 | application/ld+jsonが静的HTMLに存在し、JSONとして解析できるか |
| Organization / WebSite | 運営主体を示すスキーマがあるか |
| コンテンツ型スキーマ | Article・Product・FAQPage等、ページ種別に応じたスキーマがあるか |
| BreadcrumbList | 階層情報があるか |
| sameAs | 外部の公式プロフィールへの参照があるか |
本文との一致は自動判定していません。上の「よくある間違い」は目視で確認してください。
自分のサイトを診断する更新履歴
- 2026-08-26
- 初版公開。