Cyber SEO:50%オフ
設定

当社はプライバシーを重視しており、ウェブサイトの基本機能に必要のない特定のストレージを無効にするオプションを提供しています。カテゴリーをブロックすると、ウェブサイトでの体験に影響が出る可能性があります。詳細はこちら (クッキーポリシー)

すべてのクッキーを受け入れる

ファセットナビゲーションSEO:どのフィルターページをインデックスし、ブロックし、正規化すべきか

ファセットナビゲーションSEO:検索されるフィルターページだけをインデックスし、残りはrobots.txt、noindex、canonicalタグ、404で管理しましょう。

公開日
28/10/2026
更新日
28/10/2026
読了時間
17 分
記事「ファセットナビゲーションSEO」のカバー画像。タイトルの横に Sorank のソフトウェア画面

ツール

このページの内容

要点

ファセットナビゲーション(カテゴリページの色、サイズ、ブランド、価格などの絞り込み機能)は、組み合わせごとに新しいURLを作り、ストアのクロール可能なページ数を数千倍に増やすことがあります。実際の検索と一致し、十分な商品数があるフィルターページだけをインデックスし、それらには整理された静的URLと独自のコンテンツを与えてください。残りはGoogleから遠ざけます。robots.txtでクロールを止め、noindexやcanonicalタグでインデックスに入らないようにし、空の組み合わせには404を返します。

さらに詳しく知るには、こちらに質問

クイック診断

SEOはあなたに向いている?どう始めるべき?

質問 1 / 425%
あなたの商品はGoogleで検索されていますか?

ファセットナビゲーションSEOは、ショッパーが自由に絞り込めるようにしながら、Googleが順位を狙う価値のあるフィルターページにだけ時間を使うようにする取り組みです。Googleは、ファセットナビゲーションについてのCrawling Decemberの記事(2024年12月)で、サイト運営者から寄せられる過剰クロールの問題の「群を抜いて最も多い原因」だと述べています。また、以前の推奨事項を、ファセットナビゲーションのURL管理に関する公式ドキュメント(2025年12月に最終更新)にまとめました。このガイドでは、フィルターが問題を起こす理由、どのファセットページをインデックスするかの判断方法、残りのページに使うべき制御方法、そしてSearch Consoleでの結果の確認方法を解説します。

ファセットナビゲーションとは?

ファセットナビゲーションは、属性によって一覧ページを絞り込むフィルターの集まりです。ファセットは一つの属性(色、サイズ、ブランド、素材、価格帯)で、各ファセットには値(黒、42、Nike)があります。オンラインストア、不動産ポータル、求人サイト、旅行サイト、ディレクトリなど、長いリストを絞り込む必要がある場所ならどこにでもあります。

適用されたフィルターは、通常次の3つのいずれかの方法でURLを変えます。

  • クエリパラメータ:/shoes/running/?color=black&size=42
  • パスのセグメント:/shoes/running/black/size-42/
  • フラグメントまたはJavaScriptのみ:/shoes/running/#color=black、またはURLがまったく変わらない

ファセットナビゲーションはカテゴリツリーとは異なります。カテゴリ(シューズ、その中のランニングシューズ)はあなたが設計する固定の階層ですが、ファセットは組み合わせ可能なので、生成されるページ数はあなたではなく訪問者のクリックによって決まります。SEOの問題はここから始まります。だからこそ、ファセットは初日からサイトアーキテクチャの計画に組み込むべきなのです。

ファセットナビゲーションがSEOの問題を起こすのはなぜ?

問題は計算にあります。ファセットが4つあるカテゴリを考えてみましょう。色が12種類、サイズが10種類、ブランドが20種類、価格帯が5種類です。ファセットごとに0個または1個の値を許すだけで、13 × 11 × 21 × 6 = 1つのカテゴリに対して18,018通りのURLになります。複数選択(黒と青)、3種類の並び順、「1ページあたりの商品数」の切り替えを加えると、合計は100,000を超えます。Googleのクローラーは、リンクをたどってそのすべてを見つけられます。

このURLの爆発は4つの問題を引き起こします。

  1. クロールバジェットの無駄遣い。Googleのクロールバジェットの最適化に関するガイドは、「認識されているインベントリ」(Googleがサイト上で把握しているすべてのURL)を、あなたが最も制御できる要素として挙げています。その多くが重複していれば、クロール時間は無駄になります。あなたのクロールバジェットは、新商品ではなく/shoes/?sort=price_asc&color=blackのようなURLに費やされてしまいます。
  2. 新しいページの発見が遅くなる。Googleのドキュメントは、ファセットURLのクロールはサイトに「大量の計算リソース」を要求し、新しいページの発見を遅らせると警告しています。
  3. 重複した薄いページ。ほとんどの組み合わせは、同じ商品を異なる順序で表示するか、2つの商品だけを表示するか、商品をまったく表示しません。これらのページは重複コンテンツとインデックスの肥大化を生みます。ほぼ同一のURLが何千も、メインのカテゴリと競合してしまうのです。
  4. シグナルの分散。内部リンクや被リンクが、1つのURLを強化する代わりに、同じページの多数のバリエーションに分散します。

Googleのクロールバジェットのガイドは、100万ページ以上のサイト、または毎日変化する10,000ページ以上のサイトを対象としています。ファセットナビゲーションは、2000件の商品を持つストアが、気づかないうちにその規模に入ってしまう一般的な経路です。

Googleがインデックスすべきファセットページはどれ?

一部のファセットページは順位を狙う価値があります。「黒のランニングシューズ」や「Nikeのトレイルシューズ」は実際に検索されるキーワードであり、絞り込まれたページは一般的なカテゴリよりもそれに適切に答えられます。ルールは次のとおりです。ファセットページは、人々が入力する検索クエリに一致し、有用であるだけの商品数があり、時間が経っても安定している場合にのみインデックスしてください。

ファセットの種類例検索需要推奨する扱い
商品タイプまたはサブカテゴリ/shoes/trail/高い本物のカテゴリページとしてインデックス
ブランド/shoes/running/nike/多くの場合高い商品数が十分ならインデックス
色、素材、性別、用途/shoes/running/black/さまざまキーワード調査で需要が確認できた場合のみインデックス
サイズ、幅?size=42低い(一部のニッチを除く)ユーザーにはクロール可能だがインデックスしない
価格帯、評価、在庫状況?price=50-100非常に低いクロールをブロック
並び順、表示形式、1ページあたりの件数?sort=price_ascなしクロールをブロック
1つのファセットで2つ以上の値、または3つ以上のファセットの組み合わせ?color=black&color=blueほぼなしクロールをブロック
セッションや追跡のパラメータ?sessionid=, ?utm_source=なし整理されたURLへcanonical

ファセットページをインデックス可能にする前に、次の3つを確認してください。

  • 需要:その組み合わせに測定可能な検索ボリュームがあるか、そのカテゴリのSearch Consoleのクエリに現れているか。
  • 在庫:1年の大半で十分な商品数を表示しているか(多くのストアは4〜6商品を下限としています)。薄いページにならないようにするためです。
  • 検索意図:そのクエリでGoogleの上位結果が、記事や単一商品ページではなく一覧ページであるか。

これらを満たしたページは、それ自体がランディングページになります。整理された静的URL、独自のtitleとH1、短い導入文、親カテゴリからのリンク、そしてXMLサイトマップへの掲載です。カテゴリページの最適化ガイドでは、このオンページの作業を詳しく扱っています。

ヒント

効果のある組み合わせは静的URL(/shoes/running/black/)にし、それ以外のフィルターはパラメータのままにしておきましょう。そうすれば、順位を狙うページに触れずに、すべてのパラメータをrobots.txtの1つのルールでブロックできます。

ファセットURLはどう制御する?robots.txt、noindex、canonicalのどれを使う?

各方法は異なる段階に作用します。クロール、インデックス、シグナルの統合のいずれかです。3つすべてをこなす方法はないため、ほとんどのサイトは複数を組み合わせています。

方法クロールを止めるインデックスから遠ざけるシグナルを統合する主な制限
robots.txtのDisallowはい概ね(ブロックされたURLでも、リンクがあればコンテンツなしでインデックスに残ることがある)いいえGoogleはブロックされたページのタグを見られない
Meta robots noindexいいえ(時間が経つとクロール頻度が下がる)はいいいえページはクロール可能な状態を保つ必要がある
rel="canonical"部分的に、時間をかけて通常ははいページの内容が大きく異なる場合、Googleが無視できるヒント
フィルターリンクのrel="nofollow"部分的にいいえいいえすべての内部リンクと外部リンクに付ける必要がある
フラグメント(#)またはJavaScriptフィルターはいはい不要フィルター済みのページは決して順位を得られない
空の組み合わせに404はい(しばらく経てば)はい不要無効または空のフィルターにのみ使う

robots.txt:クロールバジェットに最も強力なツール

フィルターされたURLが検索結果に表示される必要がない場合、Googleのドキュメントはrobots.txtの利用を推奨しています。Disallow: /*?*sort=やDisallow: /*?*price=のようなルールは、GooglebotがそれらのURLをリクエストすること自体を防ぎ、クロールバジェットをすぐに節約します。広すぎるワイルドカードは本物のカテゴリページまでブロックしてしまうことがあるため、公開前に各パターンをrobots.txtチェッカーで検証してください。

Noindex:インデックスを整理するため

noindexタグは、Googleの検索結果からページを確実に取り除きます。ただし、タグを読むためにGoogleはページをクロールする必要があるため、短期的にはクロールバジェットを節約しません。すでにインデックスに入っていて、そこから出す必要があるファセットページに使ってください。

注意

ページをrobots.txtでブロックしながら、同時にnoindexを追加することは絶対にしないでください。Googleのnoindexに関するドキュメントによれば、ブロックされたクローラーはそのルールを決して見られないため、ページが検索結果に残る可能性があります。先にGoogleにnoindexを再クロールさせ、URLがインデックスから消えてからDisallowを追加してください。

canonicalタグ:ほぼ重複するページを統合する

/shoes/running/?color=black&sort=newに、/shoes/running/?color=blackを指すcanonicalタグを設定すると、どのバージョンを残すかをGoogleに伝え、リンクのシグナルをまとめられます。Googleはこれをヒントとして扱います。フィルターされたページが、canonicalの対象とはまったく異なる商品群を表示している場合、Googleは独自のcanonicalを選ぶことがあり、それはSearch Consoleで重複、ユーザーが選択したcanonicalではないなどのステータスとして現れます。canonicalは並び順、追跡パラメータ、小さなバリエーションには適していますが、商品リストを丸ごと変えるフィルターには向きません。

空や無効な組み合わせには404

Googleは、結果のないフィルターの組み合わせ、重複したフィルター、意味をなさない組み合わせ、存在しないページネーションページに対して、一般的なエラーページへのリダイレクトではなく404ステータスを求めています。同じ考え方は、3ページしかないリストの9ページ目にも当てはまります。この問題はページネーションのSEOガイドで扱っています。

今はなくなったツールがあります。Search Consoleの「URLパラメータ」ツールです。Googleは2022年に廃止しました。そこで設定された構成のうちクロールに役立っていたのは約1%だけだと指摘しています。パラメータの扱いは、今ではご自身のrobots.txt、canonical、内部リンクで行います。

SEOに配慮したファセットナビゲーションを段階的に設定する

  1. すべてのパラメータを洗い出す。サイトをクロールし、「?」を含むURLを書き出して、パラメータ名ごとにグループ化します。Googlebotが最も多くリクエストしているものは、サーバーログで分かります。
  2. 各ファセットを分類する。上の表に従って、インデックスするか、クロールはするがインデックスしないか、ブロックするかを決めます。
  3. URLの形式を整える。標準の&区切り文字を使い(Googleは、カンマ、セミコロン、角かっこはクローラーにとって読みにくいと述べています)、フィルターは常に同じ順序で出力し、同じフィルターが2回現れないようにします。
  4. インデックスする組み合わせには静的URLを作る。それぞれに独自のtitle、H1、導入文を付けます。
  5. インデックス可能なファセットにだけ、通常のHTMLリンクを張る。その他のフィルターはボタン、フォーム、JavaScriptとして表示し、クロール可能なリンクを生成しないようにします。
  6. robots.txtのルールを書く。並び順、価格、評価、在庫、複数選択のパラメータが対象です。
  7. 残りのパラメータ付きURLすべてにcanonicalを付け、空の結果には404を返します。
  8. サイトマップを更新する。正規の、インデックス可能なURLだけを掲載します。

Shopify、WooCommerce、Magentoでは、フィルターアプリやテーマがそれぞれ独自の方法でURLを生成します。ルールを書く前に、お使いのストアが何を生成しているかを確認し、テーマやアプリを更新するたびに確認し直してください。ECサイトのSEO監査には、この確認を毎四半期含めるべきです。

Search Consoleでファセットナビゲーションを確認するには?

  • ページのインデックス作成レポート:「ユーザーが選択したcanonicalではない重複」「クロール済み - 現在インデックス未登録」「検出 - 現在インデックス未登録」の下で、フィルター済みURLが急増していれば、ファセットがインデックスに漏れています。
  • クロールの統計レポート(設定):リクエストの大部分がパラメータ付きURLに向かっていれば、クロールバジェットがフィルターに使われています。
  • URL検査:ファセットページのサンプルで、Googleが選んだcanonicalと、robots.txtがそのURLをブロックしていないかを確認します。
  • パフォーマンスレポート:URLに「?」を含むページで絞り込み、ブロックする前に、パラメータ付きのページがクリックを生んでいないか確認します。

変更の1か月後に、これらの確認を繰り返してください。インデックス内の結果はゆっくり変わります。noindexやcanonicalが効果を持つ前に、Googleは各URLを再クロールしなければなりません。

ファセットナビゲーション、SEO、GEO

ChatGPT、Gemini、Perplexityなどの AIアシスタントは、回答する前に購入に関する質問をいくつかの検索に分解します。「150ドル以下の女性用の防水トレイルシューズ」のような依頼は、商品タイプ、用途、性別、価格についての検索になり、それはまさにあなたのファセットです。よく作られたファセットページ(明確なtitle、テキストに書かれた属性、構造化された商品データ、十分な商品数)は、そうした検索が取得して引用するタイプのページです。テキストがなく、titleが重複したパラメータ付きURLは該当しません。

クロールの効率は、AIクローラーにとっても重要です。?sort=のバリエーションに訪問を費やすボットは、有用なページにたどり着く数が減ります。同じルール(価値のない組み合わせをブロックし、良い組み合わせを開放する)が、Googleと AIアシスタントの両方を助けます。Shopifyストアの AI引用に関する調査では、これらのアシスタントが商品ページやカテゴリページをどう拾うかを示しています。

難しいのは、どの組み合わせが独自のページに値するかを選ぶことです。Sorankの自動キーワードリサーチは、カテゴリの背後にある属性検索を見つけ、トピッククラスターのジェネレーターがそれらをグループ化します。これにより、インデックス可能なファセットページはそれぞれ異なる1つのクエリを狙い、2つのページが同じキーワードを奪い合うことがなくなります。

Sorankのトピッククラスターのジェネレーターが、ECのキーワードを検索トピックごとのクラスターに分けている様子。1トピックにつき1ページ

どのフィルターをページにするかを決め、それ以外のすべての組み合わせをGoogleのクロールから遠ざけたとき、ファセットナビゲーションはSEOのために機能します。まずパラメータの一覧を作り、並び順と価格のパラメータをブロックしてから、人々が検索する組み合わせのためにランディングページを作りましょう。その組み合わせを自動的に見つけて、周辺のコンテンツを公開するには、Sorankのプランをご覧ください。3日間の無料トライアルがあります。

よくある質問

ファセットナビゲーションはSEOに悪いのですか?

いいえ。ファセットナビゲーションはショッパーの助けになり、適切なフィルターの組み合わせがインデックス可能なランディングページになれば、トラフィックをもたらすこともあります。問題になるのは、すべての組み合わせがクロールもインデックスもできる状態のときだけです。その場合、クロールバジェットが浪費され、インデックスが重複ページで埋まります。解決策は、Googleがクロールとインデックスを行える組み合わせを制御することです。

ファセットURLはパラメータと静的パスのどちらを使うべきですか?

どちらもGoogleにとって有効です。よくある構成は、順位を狙いたい少数の組み合わせには静的パス(/shoes/running/black/)を使い、それ以外のすべてのフィルターにはクエリパラメータを使うものです。この分け方なら、ランディングページをブロックせずに、すべてのパラメータをrobots.txtでブロックしやすくなります。

AJAXやJavaScriptのフィルターでファセットナビゲーションの問題は解決しますか?

クロール可能なリンクや新しいURLを作らずにページを変えるフィルターは、クロールの無駄を避けられます。Googleは通常、#以降のフラグメントを無視します。欠点は、そうしたフィルター済みの表示が一つも順位を得られないことです。価値の低いフィルターにはJavaScriptを使い、検索と一致する組み合わせには、HTMLリンクを備えた本物のURLを使ってください。

無料のSEO・GEO監査

30日分のコンテンツプランを無料で入手

競合、あなたのサイト、AIでの可視性を分析し、あなた専用のコンテンツプランを無料で作成します。

Sorankの無料SEOツール

無料ツールをすべて見る

サイトの無料診断を受ける

先行導入企業のご紹介

野心的な創業者たちからの声

オーガニック成長ソフトウェア

8 か月で顧客 0 人から 5000 人

Thibault BMsorank.com
オーガニック成長レジャーと航空

4か月でクリック数0から1104へ

Dominiqueflight-sensations-idf.com
オーガニック成長EC

5 か月で訪問者 0 人から 1 万人

Celio Fabianomonrobotlavevitre.fr
オーガニック成長インストーラー向けリード生成

2か月でクリック x98

LeadBolt Agencyleadbolt.online
オーガニック成長音楽ソフトウェア

5か月でクリック数55倍

Valentin Cordiertiger-sounds.com