ヒトリデニ

ブログ/SEO自動化

パンくずリストとSEO|階層設計が先、マークアップは後

三橋竜彰 ・ 更新: 2026-09-20

パンくずリストは、そのページがサイトのどこにあるかを示す階層リンクです。「ホーム > カテゴリ > 記事」のように並ぶあれです。

SEOの文脈で語られるとき、話がマークアップ(BreadcrumbList の書き方)に寄りがちなのですが、実際に効くかどうかを決めているのはその前の階層設計です。この記事はその順序で書きます。

運営者はSEO検定1級・ウェブ解析士として、AIでサイト設計から記事作成・公開・分析までを自動化する仕組みを自作し、複数の自社サイトで運用しています。本サイトのパンくずもその仕組みで出力しています。

パンくずリストがSEOで持つ役割

3つあります。

1. 階層を検索エンジンに伝える:どのページが上位で、どれが配下かという関係が明示されます。リンクだけでも推測はされますが、パンくずは意図として書かれた構造です。

2. 検索結果にパスが表示される:Googleの検索結果で、URLの代わりに「サイト名 > カテゴリ」のような表示が出ることがあります。何のページかが分かりやすくなります。

3. 上位階層への内部リンクになる:全記事からカテゴリページへリンクが張られる状態になります。個別に張らなくても、カテゴリが全記事から参照されます。

3つ目が実務では一番大きいと考えています。記事が増えるほどカテゴリページへ集まるリンクも増えるので、サイト全体の導線が自動で整います。内部リンク全体の考え方は内部リンクとは?SEO・AI検索での役割と最適化の考え方に整理しました。

先に階層を決める

パンくずの中身は、サイトの階層構造そのものです。だから構造が決まっていなければ、パンくずも書けません。

つまずくのはここです。カテゴリが場当たりに増えている、1記事が複数カテゴリに属している、階層が深すぎる——このいずれかがあると、パンくずは「とりあえず並べたもの」になり、上の3つの役割を果たしません。

1つの記事が複数のカテゴリに属する設計は、パンくずと相性が悪いです。経路が一意に決まらないため、どれを出すかを決める規則が別途必要になります。

運営者は主カテゴリを1つだけ持つ形にしています。記事は必ず1つのクラスターに属し、パンくずはその経路をそのまま出します。判断が入らないので、実装も検証も単純になります。クラスターの切り方は内部リンクの設計:サイト構造とクラスターの作り方で扱っています。

階層の深さは、ホーム > カテゴリ > 記事の3階層で足りることがほとんどです。それ以上深くする必要が出たら、まずカテゴリの粒度を疑ってください。

マークアップ

階層が決まったら実装です。2つを書きます。

HTMLのパンくず

読者に見えるほうです。<nav> で囲み、リンクを並べます。

<nav aria-label="パンくず">
  <ol>
    <li><a href="/">ホーム</a></li>
    <li><a href="/blog/">ブログ</a></li>
    <li>パンくずリストとSEO</li>
  </ol>
</nav>

現在地(最後の項目)はリンクにしません。自分自身へのリンクになるためです。

JSON-LD の BreadcrumbList

機械向けです。position は1から始まる連番で、HTMLと同じ順序・同じ項目にします。

{
  "@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/blog/" },
    { "@type": "ListItem", "position": 3, "name": "パンくずリストとSEO" }
  ]
}

最後の項目に item を書かない形が一般的です(現在地なのでURLを持たせない)。JSON-LD全般の書き方と検証はJSON-LDの書き方|どの型を使い、どう検証するかにまとめました。

よくある3つの間違い

間違い何が起きるか
HTMLとJSON-LDの項目名が違う可視の内容と構造化データが食い違う
全ページで同じパンくずを出す階層の情報を持たないので意味がない
現在地をリンクにしている自己参照リンクが全ページに増える

1つ目が一番多いです。HTMLはテンプレート、JSON-LDはプラグインというように出所が分かれていると、片方だけ直したときにずれます。

対処は単純で、同じデータから両方を生成することです。運営者のサイトでは、記事のカテゴリ情報1つからHTMLとJSON-LDの両方を組み立てているので、原理的にずれません。手で二重管理している場合は、公開後に本番HTMLを見て一致を確認してください。

確認のしかた

本番のページで、この3つを見ます。

  1. HTMLにパンくずが出ているか:ページのソースを表示して <nav> を探す
  2. JSON-LDが出ているかapplication/ld+json を検索し、BreadcrumbList があるか
  3. 項目名と順序が一致しているか:1と2を並べて比べる

ローカルでは正しくても、ビルドや配信の途中で欠けることがあります。本番で見るのが要点です。sitemap.xmlの作り方|ツールで作るか、自動生成にするかでも同じ話を書きましたが、生成物は本番で確認しないと分かりません。

よくある質問

パンくずリストはSEOに効果がありますか?

順位が直接上がる仕掛けではありませんが、3つの役割があります。サイトの階層構造を検索エンジンに明示すること、検索結果でURLの代わりにパスが表示されること、そして全記事から上位カテゴリへの内部リンクになることです。実務では3つ目が一番大きく、記事が増えるほどカテゴリページへの導線が自動で整います。

HTMLとJSON-LDの両方が必要ですか?

両方書いてください。HTMLは読者向け、JSON-LDは機械向けで役割が違います。重要なのは項目名と順序を一致させることです。HTMLはテンプレート、JSON-LDはプラグインというように出所が分かれていると、片方だけ直したときにずれます。同じデータから両方を生成する形にすると原理的にずれません。

1つの記事が複数のカテゴリに属する場合はどうしますか?

パンくずの経路が一意に決まらなくなるため、どれを出すかを決める規則が別途必要になります。運営者は主カテゴリを1つだけ持つ設計にしています。記事は必ず1つのクラスターに属し、パンくずはその経路をそのまま出すので、判断が入らず実装も検証も単純になります。

パンくずの階層は何段まで作るべきですか?

ホーム、カテゴリ、記事の3階層で足りることがほとんどです。それ以上深くする必要が出たときは、まずカテゴリの粒度を疑ってください。階層の深さより、経路が一意に決まる設計かどうかのほうが重要です。

現在地の項目もリンクにすべきですか?

リンクにしません。自分自身へのリンクになるためで、それが全ページに存在する状態になります。JSON-LD側も、最後の項目にはitemプロパティを書かない形が一般的です。

まとめ

マークアップの書式より、その前の階層設計に時間を使ってください。