パンくずリストは「見た目のナビゲーション」と「検索エンジンに階層を伝えるデータ」の2つの役割を持っています。Shopifyのテーマにパンくずを足すとき、前者だけを実装して後者を忘れるケースが多いので、関係を整理しておきます。
表示だけでは検索結果に反映されない
画面にパンくずを表示すると、お客様は1つ上の階層に戻れるようになります。回遊のための改善としてはこれで十分です。
BreadcrumbList の構造化データを出すと、検索結果でURLの代わりに階層が表示される対象になり得ます。ただし実際に表示するかは検索エンジンが決めるため、正しく実装しても表示は保証されません。見た目のパンくずをHTMLで組んだだけでは、検索エンジンはそれがナビゲーションなのかどうかを確実には判断できません。
表示と構造化データがずれると警告になる
構造化データは「画面に表示されている内容」と一致している必要があります。ずれる典型は次の2つです。
- 表示は3階層なのに、構造化データは2階層しか出していない
- 構造化データのリンク先が、実際のリンク先と違う
この状態はSearch Consoleで警告として出ます。実装するときは、表示用の配列と構造化データを同じデータから生成するのが確実です。別々に書くと、片方を直したときにもう片方が取り残されます。
階層をどう決めるか
Shopifyの商品は複数のコレクションに属せるので、「正しい親」が一意に決まりません。ここが実装で一番悩む所です。方針は2つあります。
| 方針 | 内容 | 向いているストア |
|---|---|---|
| 主コレクションを決める | 商品ごとに代表コレクションを1つ持たせる | カテゴリ構造が明確なストア |
| 流入元をたどる | お客様が通ってきたコレクションを親にする | 同じ商品を複数の切り口で見せるストア |
構造化データの観点では前者のほうが安定します。流入元によってパスが変わると、クロール時とお客様の閲覧時で内容が変わってしまうためです。
まとめ
- 表示のパンくずと構造化データは別物で、両方必要
- 2つは同じデータから生成する
- 階層は商品ごとに固定しておくと構造化データが安定する