パンくずリストのマークアップが記述するもの
BreadcrumbListは、画面に表示されているパンくずリストのための構造化データです。パンくずリストは、現在のページを文脈の中に位置づけるナビゲーション上の経路です。サイトの設計、内部リンク、正規URLの代わりにはなりません。訪問者にも理解でき、使える経路を記述するものです。Googleは、対象となるマークアップを使って、検索結果に文脈を示す階層を表示できます。ただし、表示するかどうかはGoogleが決め、表示面によっても異なります。
パンくずリストは、実際のナビゲーションの選択肢を順番に並べたものとしてモデル化します。商品や記事に意味のある経路が複数ある場合もあり、Googleのドキュメントも、同じページに複数のパンくずリストを認めています。選ぶべきなのは、そのページに到達した文脈で、人に表示される経路です。キーワードのラベルを人工的に連ねた経路ではありません。
表示されているナビゲーションからマークアップを作る
URLのスプレッドシートではなく、レンダリング後のページから始めます。パンくずリストの各項目について、表示されているラベルとリンク先を記録し、現在のページを最後のListItemに含めるかどうかを決めます。リンク先には絶対URLを使います。positionは1から連続させ、名前は簡潔で人が読めるものにして、ページのUIと一貫させます。ページに存在しない階層のマークアップは作りません。
{\n "@context": "https://schema.org",\n "@type": "BreadcrumbList",\n "itemListElement": [\n {"@type":"ListItem","position":1,"name":"Home","item":"https://example.com/"},\n {"@type":"ListItem","position":2,"name":"Guides","item":"https://example.com/guides/"},\n {"@type":"ListItem","position":3,"name":"Technical SEO","item":"https://example.com/guides/technical-seo/"}\n ]\n}このJSON-LDは、可能であれば、パンくずリストのコンポーネントを描画するのと同じデータから生成します。そうすれば、カテゴリ名を変えたときに、UIは更新されたのにマークアップは古いままという、よくある食い違いを避けられます。浅い階層のホームページなど、役立つ経路がないページでは、CMSのテンプレートがBreadcrumbListを出力しないようにします。
テスト、公開、監視
- 代表的なページでレンダリング後のパンくずリストを確認し、すべてのリンク先が意図した正規URLに解決されるかを確認します。
- DOM、JSON-LD、情報設計を比べます。ラベル、順序、経路は一致している必要があります。
- Googleのリッチリザルトテストをかけたあと、公開後にURL検査を使い、Googleが認証、robotsによるブロック、noindexなしでページを取得できるか確認します。
- 再クロールの後で、Search Consoleのパンくずリストの拡張レポートを確認します。有効なURLが1つあれば全テンプレートをカバーすると決めつけず、テンプレートごとにサンプルを調べます。
バリデーションは、構文とアクセスのチェックとして扱います。検索結果にパンくずリストが表示される証拠ではありません。Googleは、代表的なページをいくつか公開し、Googleからの見え方を確認し、再クロールの時間を見込むことを明確に推奨しています。分類体系を変更したときは、同時に数百のパンくずリストに影響し得るため、再度確認が必要です。
実装でよくある失敗
実務的なリグレッションチェックとして、ナビゲーションや分類体系の変更を公開するたびに、パンくずリストのテンプレートごとに1つずつURLをサンプリングします。レンダリング後のラベル、JSON-LDの順序、正規URLの指定先、HTTPレスポンスを比べます。この小さな習慣で、テンプレートのずれを、拡張レポート全体の問題になる前に見つけられます。
このチェックの記録は、リリースノートと一緒に残します。サンプリングしたURL、テンプレート、結果、必要ならフォローアップです。後でSearch Consoleに警告が出たとき、対応しやすくなります。マークアップの機能が、検証できないSEOの主張になることもありません。