Domain 57 / 225
BreadcrumbList 構造化データは検索結果にパンくず階層を表示する
Breadcrumb schema の要点
BreadcrumbList 構造化データは検索結果の URL の上に階層パンくずを表示するための実装で、ユーザーがサイト内のページ位置を把握しやすくなる。必須プロパティは itemListElement(ListItem の配列)。最後の項目は item URL を省略するのが推奨
なぜこれを学ぶか
BreadcrumbList は 検索結果に階層情報を出してサイト内ナビゲーションを示せる。 特に EC や大規模メディアでは、ユーザーが SERP から「どのカテゴリの記事か」を把握しやすくなり CTR が上がる。
EC・メディア・コーポレートの全カテゴリページ / 記事ページに実装すべき。
学ばないと起きること
| よくある事故 | 被害 |
|---|---|
| BreadcrumbList 構造化データなし | 検索結果のパンくず表示が出ない、URL のみ表示 |
| HTML パンくずだけで構造化データなし | Google が階層を確実に認識できない |
| 階層と URL が一貫しない | Google が混乱、リッチリザルトに出ない |
| 最後の項目に item URL を入れる | 公式に「省略推奨」と明記 |
| 複数パスのページで 1 つだけ実装 | 主要なパスを最適に伝えられない |
学ぶメリット
- 検索結果に階層が表示され視認性 + CTR 向上
- サイト構造を Google に正確に伝えられる
- 商談で「最後の item URL は省略」を即答できる
仕組み
必須プロパティ
| プロパティ | 内容 |
|---|---|
itemListElement | ListItem オブジェクトの配列 |
各 ListItem:
position= 順番(1 から始まる)name= 項目名item= URL(最後の項目は省略推奨)
実装例
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "spotyou",
"item": "https://spotyou.ai/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://spotyou.ai/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "SEO",
"item": "https://spotyou.ai/blog/seo"
},
{
"@type": "ListItem",
"position": 4,
"name": "canonical の正しい使い方"
}
]
}
</script>
最後の項目(現在ページ)には item を入れない。
キー概念
HTML パンくずとの併用
HTML 表示も組み合わせる:
<nav aria-label="パンくず">
<ol>
<li><a href="/">spotyou</a></li>
<li><a href="/blog">Blog</a></li>
<li><a href="/blog/seo">SEO</a></li>
<li>canonical の正しい使い方</li>
</ol>
</nav>
HTML パンくずと構造化データの内容を一致させる。
複数パスのページ
同じページが複数のカテゴリに属する場合(EC で商品が複数カテゴリに)、複数の BreadcrumbList を実装可能:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "spotyou", "item": "..."},
{"@type": "ListItem", "position": 2, "name": "EC", "item": "..."},
{"@type": "ListItem", "position": 3, "name": "ドレス", "item": "..."},
{"@type": "ListItem", "position": 4, "name": "青いドレス"}
]
}
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "spotyou", "item": "..."},
{"@type": "ListItem", "position": 2, "name": "セール", "item": "..."},
{"@type": "ListItem", "position": 3, "name": "夏物", "item": "..."},
{"@type": "ListItem", "position": 4, "name": "青いドレス"}
]
}
Google は最も適切なパンくずを SERP に表示する。
name の長さ
各項目の name は短く明確に:
| OK | NG |
|---|---|
| 「Blog」 | 「Blog 一覧 | spotyou 公式サイト」 |
| 「SEO」 | 「SEO に関する記事カテゴリ」 |
長すぎると検索結果で省略表示される。
階層は何階層まで?
技術的な上限はないが、SERP 表示は 3-4 階層程度までが見やすい。 深い階層は表示時に省略される。
よくある誤解
| よくある誤解 | 実際のところ | 出典 |
|---|---|---|
| 最後の項目(現在ページ)にも item URL を入れる | 公式に「省略推奨」と明記 | BreadcrumbList 構造化データ |
| HTML パンくずだけで Google が階層を理解 | 構造化データで明示すると確実、組み合わせ推奨 | 同上 |
| BreadcrumbList を入れれば必ず SERP にパンくずが出る | 出る権利を得るだけ、Google の判断 | 同上 |
| 複数パスのページは BreadcrumbList を 1 つに絞る | 複数 BreadcrumbList 実装可能、Google が最適なものを選ぶ | 同上 |
| 階層は深くしてサイト規模を Google に伝える | 3-4 階層程度が見やすい、深いと省略表示 | 同上 |
| name は長く詳細に書く方が SEO に強い | 短く明確に、長すぎは省略 | 同上 |
| HTML と構造化データの内容が違っても OK | 一致が必須、不一致は手動対策リスク | 同上 |
| BreadcrumbList の position は 0 から始める | 1 から始まる | 同上 |
実務での適用
CMS テンプレ実装
各記事 / 商品ページのテンプレに動的に組み込み:
const breadcrumbSchema = {
"@context": "https://schema.org",
"@type": "BreadcrumbList",
itemListElement: breadcrumbItems.map((item, index) => ({
"@type": "ListItem",
position: index + 1,
name: item.name,
...(index < breadcrumbItems.length - 1 && { item: item.url })
}))
};
最後の項目だけ item を入れない処理。
EC サイトの BreadcrumbList 設計
カテゴリ階層をパンくずで再現:
ホーム > EC > ドレス > マキシ丈ドレス > 青いマキシ丈ドレス
/products/dress-maxi-blue で:
"itemListElement": [
{"position": 1, "name": "spotyou", "item": ".../"},
{"position": 2, "name": "EC", "item": ".../products"},
{"position": 3, "name": "ドレス", "item": ".../products/dresses"},
{"position": 4, "name": "マキシ丈ドレス", "item": ".../products/dresses/maxi"},
{"position": 5, "name": "青いマキシ丈ドレス"}
]
トラブル別の対処
| 症状 | 確認すべきこと |
|---|---|
| 検索結果にパンくずが出ない | BreadcrumbList 構造化データの実装、リッチリザルトテストで確認 |
| Search Console「拡張」で BreadcrumbList エラー | 必須プロパティ itemListElement / position / name の欠落 |
| HTML パンくずと構造化データの内容が違うと警告 | 完全一致するよう修正 |
| 階層が深すぎて SERP で省略される | 3-4 階層程度に簡略化 |
公式ソース
自己テスト
Q1. BreadcrumbList の必須プロパティは?
itemListElement(ListItem の配列)。各 ListItem に position / name が必要
Q2. 最後の項目(現在ページ)に item URL を入れるべきか?
入れない。公式に「省略推奨」と明記
Q3. position は何から始めるか?
1 から始める。0 ではない
Q4. 複数のパス(複数カテゴリに属する商品など)はどう実装する?
複数の BreadcrumbList 構造化データを実装可能。Google が最適なパスを SERP に表示
Q5. HTML パンくずだけで構造化データなしでも十分か?
構造化データで明示すると Google が確実に認識する。組み合わせ推奨
Q6. パンくずの name は長く詳細にすべきか?
短く明確に。長すぎると SERP 表示で省略される
Q7. 階層は何階層まで実装すべきか?
3-4 階層程度が SERP で見やすい。深いと省略表示
Q8. HTML パンくずと構造化データの内容は一致させるべきか?
必須。不一致は手動対策リスク
これらの内容を採点付きで挑戦したい場合は、本ドメインのプロ試験で 5 問形式で確認できる。