フィルタリングUIとクロール設計の基本
ECサイトやポータルサイトでは、色・サイズ・価格帯などの条件を組み合わせて商品を絞り込むフィルタリング機能が一般的である。ユーザーにとって利便性の高いこの機能は、URLにパラメータとして絞り込み条件を反映する実装が多く、条件の組み合わせ数だけURLが生成されるため、クロールバジェットの消費が膨大になりやすい。フィルタリング条件が10種類あり各条件に5つの選択肢があれば、理論上は数百万通りのURLが生成されうる。
クロールバジェットとは、クローラーが一定期間内にサイトに割く巡回リソースの総量を指す概念である。フィルタリングによって生成される無数のURLがクロールバジェットを消費すると、本来インデックスさせたい重要ページへのクロール頻度が下がるという問題が起きる。これを防ぐには、noindexメタタグまたはrobots.txtのDisallowを使い、検索エンジンに不要なフィルタページをインデックスさせない設定が有効である。URLパラメータを使わずにJavaScriptで絞り込み状態を管理するハッシュフラグメント方式も、クローラーへの露出を減らす手段として検討できる。
フィルタリング条件の中でもSEO上の価値が高いものについては、専用の静的URLを設けることが推奨される。たとえば「メンズ 赤 スニーカー」のように検索需要が見込まれる組み合わせは、独立したページとして設計してcanonicalを自己参照にする。それ以外の組み合わせはURLパラメータで表現しつつ、canonicalをベースURLに向けることでインデックスを集約する二段階の設計が効果的である。どの条件組み合わせを静的URLとして独立させるかは、実際の検索需要データを基に判断することが投資対効果の面で合理的である。