[レベル: 上級]
ファセット ナビゲーション (faceted navigation) に使用する URL の適切な構成を解説する技術ドキュメントが Google 検索セントラルに新たに公開されました。
ファセット ナビゲーションは、検索結果を色や価格帯でさらに絞り込む仕組みです。
構成方法によっては、重複するコンテンツを持つ複数の URL を大量に生成してしまい、検索に悪影響を与えることがあります。
新ドキュメントはクロールマネジメントにフォーカス
2014 年 3 月に、ファセット ナビゲーションのベスト プラクティス(とワースト プラクティス)を Google は検索セントラルブログで詳細に解説しています。
今回新たに追加された技術ドキュメントは、このブログ記事がベースになっています。
とはいえ、単なる焼き直しではありません。
現状に即した内容になり、クロール効率の最適化により重きを置いています。
次のような項目です。
- 新しい URL の 発見速度 に対する過剰なクロールの影響の強調
- サーバーリソースを節約するためのクロール防止
- 簡易的な代替手段としての URL フラグメント の使用
- robots.txt や正規化などの簡略化された実用的な解決方法
また、文書ボリュームも少なくなりシンプルになりました。
ブログ記事は 10 年以上も前のもので、すでにサポートを終了している rel=prev/next
の利用に触れたりもしていました。
ファセット ナビゲーションのクロール管理
新ドキュメントが重点を置いている、ファセット ナビゲーションのクロール管理についてもう少し詳しく触れます。
クロール効率
新ドキュメントでは、ファセット URL の過剰なクロールが新しい URL の発見を遅らせる可能性があり、サイトの検索パフォーマンスに悪影響を及ぼす可能性があることを指摘しています。
この問題は、ファセットナビゲーションを効果的に管理するための重要な理由として提示されています。
リソース節約のためのクロール防止
インデックスさせる利点がない場合、ファセット ナビゲーション URL のクロールを完全に防ぐことによるサーバーリソースの最適化を強調しています。
不要なクロールを許可しないための主要な方法として robots.txt の使用を提案しています。
robots.txt は、リソース使用量を削減するための最も効果的なソリューションです。
解決策としての URL フラグメント
フィルターを指定するための URL フラグメント (例:#products=fish
) の使用を推奨しています。
こうしたフラグメントは Google 検索クローラーに無視されるからです。
URL フラグメントを使えば、複雑な構成を必要とせずにクロールを効果的に防ぐことができます。
簡略化された実用的な解決方法
ファセット ナビゲーションを処理するための、より簡単な方法として次を挙げています。
- 重複する URL を統合するための
rel="canonical"
- フィルターされたページの検出を防ぐための
rel="nofollow"
ただし、rel="canonical"
と rel="nofollow"
は長期的には効果が低減する可能性があります。
そのほか、カンマ (,
) やセミコロン (;
) などURL に使用すべきでないパラメータ区切り文字や、404 HTTPステータスコードの使用などについてもドキュメントは触れています。
ファセットナビゲーション URL のクロール管理のドキュメントは公開されたばかりのため、まだ英語だけです。
ドキュメントが日本語訳されるまでには、数週間かかるのが一般的です。
いますぐどうこうしないと重大な悪影響が発生するわけではないので、日本語訳されるまで待ってもかまいません。
それでも、ファセット ナビゲーションを利用している、特に大規模サイトの管理者は、翻訳ツールや生成 AI を使うなりして、早いうちに読んだ方がいいのかなとも思います。