なぜJSON-LDがLLMOの基盤なのか
AIは自然言語テキストだけでなく、構造化データ(JSON-LD)を重要なシグナルとして利用します。JSON-LDを適切に実装することで、AIに「誰がこのページを作ったのか」「この企業は何をしているのか」「このFAQの質問と回答は何か」を明示的に伝えられます。結果として引用率が向上し、正確な文脈でAI回答に組み込まれる確率が上がります。
LLMO施策の優先順位:JSON-LD(最優先)→ llms.txt → エンティティ統合 → robots.txt → 文章構造改善
必須タイプ1:Organization
全ページの `<head>` に含める最重要JSON-LD。AIがサイト全体の「発行者」「エンティティ」を認識するための基盤。
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://asi.co.jp/#organization",
"name": "株式会社ASI",
"alternateName": ["Koukoku.ai", "ASI inc."],
"url": "https://asi.co.jp",
"logo": "https://koukoku.ai/assets/img/logo.svg",
"sameAs": [
"https://koukoku.ai",
"https://aikoukoku.jp",
"https://x.com/koukoku_ai"
],
"address": {
"@type": "PostalAddress",
"addressCountry": "JP",
"addressRegion": "東京都"
}
}
実装ポイント
@idは全サイト・全ページで同一URLを使う(エンティティ統合の核)sameAsに全ドメイン・SNS・Wikipedia/Wikidataを列挙するalternateNameにブランド名・サービス名・英語名を入れる
必須タイプ2:Article
記事ページに設置。AIが「この記事の著者・発行日・トピック」を認識するためのデータ。
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "https://aikoukoku.jp/chatgpt-ad/towa/#article",
"headline": "ChatGPT広告とは?",
"description": "記事の説明文",
"datePublished": "2026-05-12",
"dateModified": "2026-05-12",
"author": {
"@type": "Organization",
"@id": "https://asi.co.jp/#organization"
},
"publisher": {
"@type": "Organization",
"@id": "https://asi.co.jp/#organization"
},
"mainEntityOfPage": "https://aikoukoku.jp/chatgpt-ad/towa/",
"inLanguage": "ja"
}
実装ポイント
authorに人物名ではなく Organization@idを使うと、企業エンティティと記事が紐づくdateModifiedを更新し続けることでAIに「最新情報」として認識されるheadlineは記事のH1と一致させる
必須タイプ3:FAQPage
FAQセクションのあるページに設置。AIはFAQから直接回答を引用することが多い最重要タイプ。
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "ChatGPT広告の最低出稿額はいくらですか?",
"acceptedAnswer": {
"@type": "Answer",
"text": "月3-5万円から検証可能ですが、有意な学習には月20-50万円を推奨します。"
}
},
{
"@type": "Question",
"name": "代理店手数料の相場は?",
"acceptedAnswer": {
"@type": "Answer",
"text": "広告費の15-20%が業界標準です。"
}
}
]
}
実装ポイント
- 回答は80-150字の簡潔な1文で書く(AIが引用しやすい長さ)
- 質問は実際にユーザーが検索するフレーズに近づける
- 1ページに5-10個のFAQが最適。多すぎると希薄化
推奨タイプ4:BreadcrumbList
パンくずナビをAIに伝えるタイプ。サイト階層の把握を助け、カテゴリページへの引用を促進。
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type":"ListItem","position":1,"name":"ホーム","item":"https://aikoukoku.jp/"},
{"@type":"ListItem","position":2,"name":"ChatGPT広告","item":"https://aikoukoku.jp/chatgpt-ad/"},
{"@type":"ListItem","position":3,"name":"ChatGPT広告とは","item":"https://aikoukoku.jp/chatgpt-ad/towa/"}
]
}
よくある間違い5選
| 間違い | 正しい実装 |
|---|---|
@id がページごとにバラバラ | Organization の @id は全サイト・全ページで統一 |
| HTML属性の microdata と JSON-LD を混在 | JSON-LD のみで統一(<script type="application/ld+json">) |
| FAQの回答が500字超 | 80-150字の簡潔な回答に絞る |
dateModified を更新しない | 記事更新のたびに修正(古い情報とみなされる) |
sameAs に存在しないURLを記載 | 実際にアクセス可能なURLのみ(404URLはNG) |
実装確認ツール
- Google リッチリザルトテスト:構文エラー・警告の確認
- Schema Markup Validator(schema.org公式):スキーマ仕様への準拠確認
- Google Search Console → エンハンスメント:クロール後の実際のエラーレポート
実装完了後は実際にChatGPT/Perplexityに自社関連の質問をして、引用率の変化を週次でモニタリングしましょう。LLMOの計測方法はこちら。
よくある質問
- 全ページにJSON-LDが必要ですか?
- はい。最低でもOrganization+WebSiteは全ページ、ArticleとBreadcrumbListは記事ページに必須です。