検索ブランド相談室 | 検索と評判の専門メディア

サイト内検索結果ページのSEO監査方法|noindex・クロール・重複URL・内部リンクを確認

部署:マーケティング担当者部署:経営者・責任者レベル:実践SEOWebサイト改善
サイト内検索で生成された複数のURLをノートPCで確認し、5項目のSEO監査を行っている担当者の手元

サイト内検索で生成された複数のURLをノートPCで確認し、5項目のSEO監査を行っている担当者の手元

サイト内検索は、訪問者が必要な情報を探すために役立つ機能です。一方、「/search?q=○○」「/?s=○○」のような検索結果URLを無制限に生成できる状態では、Googleに不要なURLを発見・クロール・インデックスされることがあります。

重要なのは、検索結果ページを一律にrobots.txtで遮断することではありません。まず「Google検索に掲載する価値があるURLか」「すでにインデックスされているか」「どれだけクロールされているか」を確認し、noindex、クロール制御、404、専用ランディングページ化を使い分けます。

この記事では、サイト内検索結果URLを5つの観点で監査し、残す・noindexにする・クロールを止める判断まで進める方法を整理します。

サイト内検索結果ページは、原則として「サイト内では必要、Google検索では不要」と考える

サイト内検索結果ページを監査するとき、最初に分けるべきなのは「サイト訪問者に必要か」と「Google検索に掲載する価値があるか」です。

サイト内検索結果ページを含む技術課題の全体像は、テクニカルSEOの7領域で確認できます。

検索窓や検索結果は、サイトを訪れた利用者が目的の記事・商品・FAQなどを見つけるために役立ちます。しかし、その検索語ごとに生成されるURLまでGoogle検索に掲載する必要があるとは限りません。

たとえば次のURLです。

  • /search?q=seo
  • /search?q=SEO
  • /search?q=seo&page=2
  • /search?q=seo&sort=new
  • /?s=seo

入力語、並び順、ページ番号などによってURLが増えると、内容が似たページが多数生成されます。

Googleも、並び替えや絞り込み機能によって同じ、または非常に近いコンテンツが複数URLで存在することを重複URLが生まれる例として挙げています。ただし、重複コンテンツが存在すること自体をスパムポリシー違反としているわけではありません。問題は、不要なURLが増え、Googleが処理するURLの範囲やSEO担当者の管理対象が広がることです。

そのため、監査では「検索結果ページがある=問題」と判断するのではなく、外部検索エンジンに発見・クロール・インデックスさせる必要があるかを確認します。

サイト内検索結果SEO監査では5項目を順番に確認する

サイト内検索結果URLは、次の5項目を順番に確認すると原因と対策を整理しやすくなります。

監査項目 確認すること 主な問題
URL どの形式で検索URLが生成されるか URLの無制限な増殖
インデックス Googleに登録されているか 不要ページの検索結果掲載
クロール Googlebotがどれだけ取得しているか クロール・サーバー処理の増加
内容 独立した検索価値があるか 薄い・重複した検索結果
発見経路 内部リンクやサイトマップから辿れるか 不要URLの継続発見

サイト内検索結果URLをURL、インデックス、クロール、内容価値、発見経路の5項目で監査するフロー図

サイト内検索結果URLは、設定を変更する前に5項目を順番に確認します。監査結果をもとにnoindexやクロール制御などの方針を決めます。

この5項目を確認したあと、「index」「noindex」「robots.txt」「404・410」「専用ページ化」のどれを採用するか決めます。

STEP1|サイト内検索で生成されるURLパターンを洗い出す

最初に、サイト内検索が何種類のURLを生成するか確認します。

検索窓から数語を入力するだけでは不十分です。次のような変化まで確認してください。

  • 通常の検索語
  • 大文字・小文字
  • 全角・半角
  • スペースを含む検索語
  • 日本語と英語
  • 検索結果0件
  • 2ページ目以降
  • 並び替え
  • 絞り込み条件
  • カテゴリ指定
  • 複数パラメータ
  • 空文字
  • 極端に長い検索語

たとえば基本URLが/search?q=seoでも、ページ番号と並び順を組み合わせれば、

/search?q=seo&page=2&sort=new

のような別URLが生成されます。

さらに検索語自体が自由入力なら、理論上生成可能なURLは大幅に増えます。

この段階では個々のURLを見るだけでなく、/search?q=?s=など、検索結果URLを判別できる規則を特定することが重要です。

STEP2|検索結果URLがGoogleにインデックスされているか確認する

次に、Google Search Consoleを使って検索結果URLのインデックス状態を確認します。

優先したいのは、ページのインデックス登録レポートとURL検査です。URL検査では、対象URLについてインデックス登録状況やGoogleが認識した正規URLなどを確認できます。

代表的な検索URLを複数抽出し、少なくとも次を確認します。

  • インデックス登録されているか
  • 「noindex」によって除外されているか
  • robots.txtでブロックされているか
  • クロール済み・未登録になっているか
  • GoogleがどのURLを正規URLとして選んでいるか

検索結果URLがGoogle検索へ掲載される必要がないにもかかわらずインデックスされているなら、対応優先度は高くなります。

一方、「noindex タグによって除外されました」としてSearch ConsoleにURLが表示されていても、それだけで設定失敗とは限りません。GoogleがURLをクロールし、noindexを認識した結果として記録される場合があるためです。

STEP3|検索結果URLへのクロール量を確認する

インデックスの次に、Googlebotが検索結果URLをどの程度クロールしているか確認します。

大規模サイトでは、不要URLが大量に発見されることでGooglebotが処理するURLの範囲が広がる可能性があります。

ただし、すべてのサイトで「クロールバジェット」を深刻な問題として扱う必要はありません。

Googleの2026年7月更新の案内では、クロールバジェット最適化の高度なガイドは主に、

  • 約100万URL以上で、週単位で内容が変わる大規模サイト
  • 約1万URL以上で、日単位に急速に内容が変わるサイト
  • Search Consoleで「検出 – インデックス未登録」が大量に発生しているサイト

などを主対象としており、この数字も厳密な境界ではなく目安とされています。小規模なサイトで新規ページが通常どおりクロールされているなら、過度にクロールバジェットを心配する必要はありません。

ただし、サイト規模が小さくても、

  • 検索URLが急増している
  • 外部から検索URLへ大量のリンクが作られている
  • サーバーで検索処理の負荷が高い
  • 重要ページより検索結果URLへのアクセスが目立つ

といった状況では対策を検討する価値があります。

Search Consoleのクロール統計や、利用できる場合はサーバーログを確認し、検索URLがGooglebotのアクセスでどの程度を占めているかを把握します。

STEP4|検索結果ページに独立してインデックスする価値があるか判定する

検索結果URLが見つかったからといって、すべてを機械的にnoindexにする前に、検索価値を確認します。

判断しやすいように4種類へ分類します。

状態 基本方針
サイト内利用には必要だが、Google検索には不要 noindex候補
Googleにもクロールさせる必要がない大量URL robots.txt候補
無効な検索・存在しないページ 404・410等を検討
外部検索でも継続的な需要があり、独自価値を作れる 専用ページ化を検討

通常の自由入力によるサイト内検索結果は、検索語に応じて記事や商品へのリンクを並べるためのナビゲーションページです。

一方、「東京都のSEO会社一覧」「初心者向けSEO記事一覧」のように、外部検索でも継続的な需要があり、固定URL・固有タイトル・説明文・独自コンテンツを持たせられるなら、検索結果URLをそのままindexさせるのではなく、専用カテゴリページやランディングページとして設計する方法があります。

Google検索から集客するページと、サイト内検索機能が一時的に生成したURLを分ける考え方です。

STEP5|内部リンク・XMLサイトマップから不要URLを発見させていないか確認する

最後に、Googleが検索結果URLをどこから発見しているか確認します。

特に見るのは次の箇所です。

  • HTML内の検索結果URLへの固定リンク
  • 人気検索語・検索履歴へのリンク
  • タグや絞り込みUI
  • ページネーション
  • XMLサイトマップ
  • 外部サイトからのリンク
  • スパムによって生成された検索URL

通常の検索フォームからPOSTまたはGETで遷移するだけなら、サイト内の通常リンクより発見経路を限定できます。

一方、「人気の検索キーワード」のような形で検索結果URLを<a>タグから大量にリンクすると、Googlebotが辿る入口になります。

またXMLサイトマップは、Googleにクロール・検索掲載してほしい正規URLを中心に構成します。Google検索へ掲載する必要のないサイト内検索結果URLをサイトマップへ含める合理性は通常ありません。

noindex・robots.txt・404・canonicalは目的別に使い分ける

サイト内検索結果ページで混同されやすいのが、noindexとrobots.txtです。

両者は目的が違います。

方法 主な目的 Googlebotのクロール Google検索への掲載
noindex インデックスさせない 必要 除外を指示
robots.txt クロールさせない ブロック URLが残る可能性あり
404 / 410 URLが存在しないことを示す 確認のため発生 最終的に除外対象
canonical 重複URLの代表を示す 発生する 代表URLへの統合を促す

noindex、robots.txt、404・410、canonicalの目的と役割の違いを比較した図

noindexはインデックス制御、robots.txtはクロール制御です。404・410、canonicalも目的が異なるため、サイト内検索URLの状態に応じて使い分けます。

ここで特に重要なのが、noindexをGoogleに認識させたいページを先にrobots.txtで遮断しないことです。

Googleは、noindexを有効にするにはGooglebotがページへアクセスできる必要があると明記しています。robots.txtでクロールを止めていると、GooglebotはHTMLやHTTPヘッダーにあるnoindexを確認できません。

したがって、

「インデックスを確実に外したい」

と、

「今後クロール自体を減らしたい」

は分けて考えます。

すでにインデックスされている検索URLは「noindex→確認→必要ならクロール制御」の順で対応する

すでにGoogle検索へ登録された検索結果URLを整理するときは、次の順番が安全です。

インデックス済み検索URLをnoindex設定、クロール許可、除外確認、robots.txtの順で処理するフロー図

すでにインデックスされた検索結果URLでは、Googlebotがnoindexを確認できる状態を保ちます。除外を確認したあと、必要に応じてクロール制御へ進みます。

1.検索結果ページへnoindexを設定する

HTMLの<head>内であれば、代表的には次の指定です。

<meta name="robots" content="noindex">

HTTPヘッダーのX-Robots-Tagでもnoindexを指定できます。

2.Googlebotのクロールを許可したままにする

Googlebotがページを取得し、noindexを認識できる状態を維持します。

3.Search Consoleで除外を確認する

代表URLをURL検査し、検索結果URLがインデックス対象から外れているか確認します。

4.クロール自体も不要ならrobots.txtを検討する

インデックスから外れたあとも検索URLが大量に生成され、クロールやサーバー負荷が問題になっている場合は、検索結果URLの規則に応じてrobots.txtによるクロール制御を検討します。

Googleのクロールバジェット向けガイドでも、クロールする必要がないURLについてはrobots.txtを利用する選択肢が示されています。一方、クロール効率を目的にnoindexを使うと、Googleはnoindexを確認するためにページを取得し続けるため、目的に応じた使い分けが必要です。

つまり、インデックス除外とクロール削減を同じ設定で一度に解決しようとしないことがポイントです。

canonicalだけでサイト内検索結果URLを処理しようとしない

検索結果URLとカテゴリページなどの内容が近い場合、canonicalを設定したくなることがあります。

canonicalは、似た内容を持つ複数URLの中から代表として扱ってほしいURLをGoogleへ伝える仕組みです。

ただしGoogleは、canonical指定を「ルール」ではなく「ヒント」と説明しています。指定したURLと異なるURLが正規URLとして選択される場合もあります。

そのため、

「Google検索には絶対に出したくない」

という目的をcanonicalだけで実現するのは適切ではありません。

  • インデックスさせたくない → noindex
  • クロールさせたくない → robots.txt
  • 存在しない → 404・410
  • 重複URLを代表URLへ整理したい → canonical

というように目的で選びます。

Search Consoleの「URLパラメータツール」を前提にした対策は現在使えない

過去のSEO記事では、検索URLのパラメータをGoogle Search Consoleの「URLパラメータツール」で制御する方法が紹介されていることがあります。

しかし、このツールは現在利用できません。

Googleは2022年3月28日、URLパラメータツールを1か月後に廃止すると発表しました。当時Googleは、ツールに設定されていたパラメータ構成のうちクロールに有効だったものは約1%だったと説明し、その後はGoogleのクローラがURLパラメータを自動的に扱う方針を示しています。より強いクロール制御が必要な場合はrobots.txtを利用できます。

したがって、2026年現在の監査では、

「Search ConsoleでURLパラメータを登録すればよい」

という手順を対策に含めないよう注意してください。

検索結果0件やスパム検索URLも通常検索と分けて確認する

検索結果が0件になるURLも監査対象です。

たとえば、

/search?q=存在しない長い文字列

へ誰でもアクセスでき、200 OKで検索結果ページを返す仕組みでは、外部から任意の検索文字列を含むURLを生成できます。

Google Search Central Communityでも、外部の第三者がサイト内検索クエリを利用して任意の検索結果URLを生成し、Googlebotに発見させる「Internal Site Search Spam」が紹介されています。推奨策として、検索結果ページのnoindex、結果が存在しない場合の404などが挙げられています。なお、コミュニティ投稿はGoogleの公式仕様そのものではないため、実装判断はGoogle Search Centralの公式ドキュメントと合わせて行う必要があります。

検索結果0件のURLについては、

  • 本当に存在するページとして200を返す必要があるか
  • 404を返しても利用者の検索体験を維持できるか
  • 検索文字数を制限できるか
  • 不自然な検索パターンをアプリケーション側で拒否できるか

も確認します。

サイト内検索のSEO監査で使える判断表

最終的には、URLごとではなく「URLパターン」単位で方針を決めます。

URLの状態 index noindex robots.txt 404等 推奨対応
通常の自由検索結果 条件次第 原則noindexを検討
すでに大量インデックス × 後から検討 まずnoindexを認識させる
インデックス除外済みだが大量クロール × クロール量・負荷を見てrobots制御
検索結果0件・無効URL × 条件次第 404等も含めて設計
並び替えだけが違う重複URL canonicalまたはクロール制御を検討
固定需要があり独自価値を作れる × × × 専用カテゴリ・LPとして設計

「検索結果ページだから必ず1つの設定」という考え方ではなく、インデックス、クロール、URLの存在意義を分けて決めることが重要です。

監査後はURLを増やす原因そのものも修正する

noindexやrobots.txtだけを設定しても、不要URLを無制限に生成・発見できる構造が残る場合があります。

そのため、技術設定と同時に次も確認します。

内部リンクを整理する

検索結果URLへの固定リンクや、不要な検索履歴・人気検索語リンクが大量に存在する場合は削減します。

XMLサイトマップから除外する

Google検索に掲載したくない検索結果URLは、原則として検索対象の正規ページをまとめるXMLサイトマップへ含めません。

URL生成条件を制限する

不要なソート条件、検索語の長さ、無効パラメータなどによるURL生成を制限します。

外部検索で集客したい需要は専用ページへ置き換える

検索ログから継続的な需要が見つかった場合は、検索結果URLをそのままSEOページにするのではなく、独立した記事・カテゴリ・一覧ページとして設計します。

サイト内検索を利用するユーザーの利便性を残しながら、Googleが処理するURLだけを整理できます。

サイト利用者にはサイト内検索を提供しながら、検索エンジンに公開するURLだけを整理する考え方を示した図

サイト内検索そのものを削除する必要はありません。利用者向けの検索機能と、外部検索エンジンへ公開するURLを分けて設計します。

修正後は「インデックス数」だけでなくクロールと重要ページも再確認する

修正後は、次の項目を継続して確認します。

確認項目 見るポイント
Page Indexing 不要な検索URLがindexされていないか
URL検査 noindexやrobotsの状態が想定どおりか
クロール統計 検索URLへのクロールが増えていないか
サーバーログ Googlebotがどの検索URLへアクセスしているか
XMLサイトマップ 不要URLが再混入していないか
重要ページ 新規・更新ページが通常どおりクロールされているか

特にクロールバジェット対策では、「検索URLへのクロールが減った」という数字だけを成功条件にしないことが重要です。

最終的に確認したいのは、不要URLの管理負荷やサーバー処理が減り、Googleに見せたい正規ページを明確にできている状態です。

まとめ

サイト内検索結果ページのSEO監査では、検索結果URLを見つけてすぐrobots.txtへ追加するのではなく、URL、インデックス、クロール、内容価値、発見経路の5項目を確認します。

一般的なサイト内検索結果ページは、サイト訪問者には必要でもGoogle検索へ掲載する必要がないため、noindexが有力な選択肢です。

ただし、すでにインデックスされたURLをnoindexで削除したい場合、Googlebotがnoindexを確認できるようクロールを許可する必要があります。クロール自体も不要になった場合は、インデックス除外を確認したあとにrobots.txtを検討します。

また、外部検索でも継続的な需要があるテーマは、自由入力の検索結果URLをindexさせるのではなく、独自コンテンツを持つ専用カテゴリページやランディングページとして設計した方が管理しやすくなります。

サイト内検索は利用者のために残しながら、Googleに処理させるURLだけを整理することが、サイト内検索結果SEO監査の基本です。

参考文献・データ元

この記事で参照した情報を確認できます。

  • Google Search Central「noindex を使用してコンテンツをインデックスから除外する」
    noindexの仕様、robots.txtでブロックしたページではnoindexを確認できない点を参照。
    URL: https://developers.google.com/search/docs/crawling-indexing/block-indexing?hl=ja

  • Google Crawling Infrastructure「Optimize your crawl budget」
    2026年7月22日更新。クロールバジェットの対象規模、URL在庫、robots.txt、404、サイトマップに関する判断を参照。
    URL: https://developers.google.com/crawling/docs/crawl-budget

  • Google Search Central「What is URL canonicalization」
    2026年7月10日更新。並び替え・絞り込みによる重複URLとcanonicalの位置付けを参照。
    URL: https://developers.google.com/search/docs/crawling-indexing/canonicalization

  • Google Search Central Blog「Spring cleaning: the URL Parameters tool」
    2022年3月28日公開。Search ConsoleのURLパラメータツール廃止と現在の扱いを確認。
    URL: https://developers.google.com/search/blog/2022/03/url-parameters-tool-deprecated

  • Google Search Central Community「What to do about Internal Site Search Spam?」
    2024年9月公開。サイト内検索を悪用したURL生成、noindex、404、robots.txtの実務例を補助情報として参照。
    URL: https://support.google.com/webmasters/community-guide/297497016?hl=en
    ※Google公式仕様ではなくコミュニティ情報のため、仕様判断はGoogle公式ドキュメントを優先。

‹ 親記事: テクニカルSEOとは?クロールからセキュリティまで、企業担当者が押さえるべき7領域の実務チェックリスト

関連記事

関連テーマ