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 は省略」を即答できる

仕組み

必須プロパティ

プロパティ内容
itemListElementListItem オブジェクトの配列

各 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 は短く明確に:

OKNG
「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 問形式で確認できる。