III-B7 パンくず・サイト内検索を実装する
サイト構造の分かりやすさを伝える補助的な構造化データ
このレッスンの狙い:パンくずリストのJSON-LDを実装できる
最終更新: 2026-07-23
この記事の要点
- パンくずリストのJSON-LDを実装できる
- BreadcrumbListが伝えること
- サイト内検索(WebSite + SearchAction)
III-B3からIII-B6にかけて、Organization・Person・Article・FAQPage・Product・Reviewといった「ページの中身」を伝える構造化データを実装してきました(III-B3〜III-B6参照)。では、ページ同士の位置関係やサイトの機能はどう伝えればよいのでしょうか。このレッスンで扱うBreadcrumbList(パンくずリスト)とサイト内検索の構造化データが、その役割を担います。
BreadcrumbListが伝えること
BreadcrumbListは、あるページがサイトのどの階層に位置するかを「トップ>カテゴリ>個別ページ」のようなリスト形式で示す構造化データです。実装の基本は、画面に表示しているパンくずナビゲーションと同じ内容・同じ順序で書くことです。表示中のUIと構造化データの内容が食い違うと、機械にとって矛盾した情報源になってしまいます。
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "トップ", "item": "https://example.com/"},
{"@type": "ListItem", "position": 2, "name": "講座一覧", "item": "https://example.com/courses/"},
{"@type": "ListItem", "position": 3, "name": "AIO CAMP", "item": "https://example.com/courses/aio-camp"}
]
}サイト内検索(WebSite + SearchAction)
サイト内に検索機能がある場合、WebSiteスキーマにpotentialActionとしてSearchActionを追加すると、検索窓のURLパターンを伝えられます。{search_term_string}の部分に実際の検索語が入る仕組みです。
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://example.com/",
"potentialAction": {
"@type": "SearchAction",
"target": "https://example.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}単独で置かず@graphでつなぐ
BreadcrumbListやWebSiteは、単独のページに置くよりも、Organization・Articleと一緒に@graph+@idで接続し、孤立させないことが基本です。エンティティ同士をバラバラに置くのではなく、1つのつながった情報として提示するという考え方は、III-B3以降ずっと共通しています。既存のOrganizationやArticleのJSON-LDに追記する形で実装すると、管理もしやすくなります。
過度な期待をかけない位置づけ
パンくずやサイト内検索の構造化データは、ページの階層や機能をAIやクローラーに分かりやすく伝える地味だが基礎的な下支えです。これ単体で引用のされやすさが劇的に変わるようなものではありません。構造化データ全体の効果については、他の型と合わせてIII-B10でまとめて検証します。ここでは、正確に、矛盾なく伝えることを目標にしておきましょう。
実践ステップ
- サイトの階層構造(トップ→カテゴリ→個別ページ)を書き出す
- 各ページの画面表示上のパンくずテキストと順序を確認する
- 表示中のパンくずと完全に一致する内容でBreadcrumbListのJSON-LDを作成する
- サイト内検索機能がある場合はWebSite+SearchActionを追加する
- Organization・ArticleなどのJSON-LDと
@idで接続し、@graphの一部として扱う - 表示中のパンくずUIと構造化データの内容にズレがないか目視で再確認する
まとめ
BreadcrumbListは画面表示のパンくずと同じ内容・順序で書くことが基本であり、WebSite+SearchActionはサイト内検索の仕組みをAIに伝えます。どちらも単独で置くのではなく、Organization・Articleと@graphでつなぐことで、孤立しない一つの情報として扱われます。これらは「ページの中身」ではなく「ページ同士のつながり」を伝える補助的な構造化データであり、単体で劇的な効果を期待するものではありません。ここで整えた型を実際のCMSにどう落とし込むかは、続くIII-B8のテーマです。
このレッスンはテキストとスライドで学べます。スライドは上のビューアからご覧ください。
確認テスト
選択肢をクリックすると、その場で正誤と解説が表示されます。
Q1. BreadcrumbListの構造化データは、画面に表示しているパンくずナビゲーションとは異なる内容・順序で書いてよい。
実装の基本は、画面に表示しているパンくずナビゲーションと同じ内容・同じ順序で書くことです。
Q2. サイト内検索の仕組みをAIに伝えるために、WebSiteスキーマに追加するプロパティは何か。
WebSiteスキーマにpotentialActionとしてSearchActionを追加します。
Q3. BreadcrumbListやWebSiteの実装で推奨されている扱い方はどれか。
単独で置くより、Organization・Articleと@graph+@idで接続し、孤立させないことが基本です。
このレッスンのFAQ
Q. パンくずリストの構造化データは、画面表示と違う内容にしてもよいですか?
よくありません。画面に表示しているパンくずナビゲーションと同じ内容・同じ順序で書くのが基本です。
Q. BreadcrumbListやWebSiteだけで引用のされやすさは劇的に変わりますか?
変わりません。ページの階層や機能を伝える地味な下支えであり、単体で劇的な効果を期待するものではないとされています。
Q. これらは単独のページに置くべきですか?
単独より、Organization・Articleと@graph+@idで接続し、孤立させないことが基本とされています。