業界ニュース・Googleアップデート

robots.txtの「Googlebot」指定が*のルールを無効化する――Mueller氏が説明したインデックス事故の原因【2026年7月】

robots.txtの「Googlebot」指定が*のルールを無効化する――Mueller氏が説明したインデックス事故の原因【2026年7月】

robots.txtに「user-agent: Googlebot」というセクションを書いていると、Googlebotは「user-agent: *」に書いたルールを一切読まない――GoogleのJohn Mueller氏がこの仕様を改めて指摘したと、Search Engine Journal(Roger Montti氏、2026年7月25日付)が報じています。ブロックしたはずのページがインデックスされ続ける原因になっていた事例で、Google公式仕様にも明記されている挙動です。

何が起きたか:ブロックしたはずの検索結果ページがインデックスされた

Search Engine Journalの記事によると、発端はReddit(r/TechSEO)に投稿された相談でした。相談者はShopifyストアで、サイト内検索の結果ページを robots.txt の disallow で拒否していたにもかかわらず、その検索結果ページがGoogleにインデックスされ続けていると報告しています。

原文では「クライアントのShopifyストアで作業しているが、robots.txt に /search を disallow として追加している。それにもかかわらず、これらの検索結果がGoogle内でインデックスされたままだ(“Working on a client’s Shopify store where we have the /search added as a disallow in robots.txt, however these search results are still indexed inside of Google.”)」と述べられています。

背景にあったのは、サイト内検索ボックスを狙ったスパムです。スパム業者が検索ボックスにスパムリンクやサイト名を含むクエリを投げ込むことで、そのクエリを含むURLが次々と生成され、それが検索結果に現れていました。相談者自身は、これらのスパムページをブロックするのではなくリダイレクトする、という解決策を検討していたとされています。

原因は「より具体的なルールが勝つ」というrobots.txtの仕様

John Mueller氏が指摘した原因は、robots.txtの記述そのものにありました。当該のrobots.txtには「user-agent: *」の一般的なセクションと、「user-agent: Googlebot」という個別セクションの両方が書かれていたのです。

Mueller氏は「robots.txtでは、より具体的なルールが勝つ。したがって user-agent: Googlebot のセクションがあるなら、Googlebotはそのセクション『だけ』を使う(“With robots.txt, the more specific rules win, so if you have a user-agent: Googlebot section, it will *only* use that section.”)」と説明しています。

つまり、Googlebot向けのセクションが存在した時点で、Googlebotは「user-agent: *」側に書かれた disallow を完全に無視します。相談者が /search を拒否していたのが「*」側だったため、Googlebotにはそのルールが適用されていなかった、という構図です。

Google公式仕様にも明記されている挙動

この挙動はMueller氏の個人的な見解ではなく、Googleのrobots.txt仕様ドキュメントに明記されています。同ドキュメントでは「特定のクローラーに対して有効なグループは1つだけである。Googleのクローラーは、robots.txtファイルの中から、そのクローラーのユーザーエージェントに一致する最も具体的なユーザーエージェントを持つグループを見つけることで、正しいルールのグループを判断する(“Only one group is valid for a particular crawler. Google’s crawlers determine the correct group of rules by finding in the robots.txt file the group with the most specific user agent that matches the crawler’s user agent.”)」と説明されています。

さらに「ユーザーエージェント固有のグループとグローバルグループ(*)は結合されない(“User agent specific groups and global groups (*) are not combined.”)」とも明記されており、両者がマージされる仕様ではないことがはっきり示されています。また「robots.txtファイル内でのグループの順序は関係ない(“The order of the groups within the robots.txt file is irrelevant.”)」ため、書く位置を入れ替えても挙動は変わりません。

Mueller氏が示した正しい書き方

Mueller氏は、セクションを分けて重複管理するのではなく、共通のルールの前に複数のユーザーエージェントをまとめて列挙する書き方を推奨しています。記事で示された例は次のとおりです。

user-agent: googlebot
user-agent: otherbot
user-agent: imgsrc
user-agent: somethingpt
disallow: /fishes
disallow: /orange-cats

この書き方であれば、列挙したすべてのクローラーに同じ disallow が適用されます。逆に、どうしてもGooglebot専用のセクションを設けたい場合は、「user-agent: *」に書いてあるルールをGooglebotのセクション側にも複製しておく必要があります。

そもそもrobots.txtは「インデックス」を止める仕組みではない

もう一点、今回の事例で押さえておきたいのは、robots.txtが制御するのはクロールであってインデックスではない、という点です。Google公式ドキュメントは「Googleはクロールを拒否されたページのコンテンツをインデックスすることはできないが、URL自体はインデックスし、スニペットなしで検索結果に表示する場合がある(“Google can’t index the content of pages which are disallowed for crawling, but it may still index the URL and show it in search results without a snippet.”)」と説明しています。

したがって、仮にrobots.txtの記述が正しくGooglebotに適用されていたとしても、URLが検索結果から完全に消えるとは限りません。検索結果ページのように「そもそも検索結果に出したくないページ」については、robots.txtではなく noindex で対処するのが確実だ、というのがSearch Engine Journalの整理です。

プラットフォーム別の対処法

記事では、サイト内検索ボックスへのスパムを踏まえた具体的な対処として、次の方法が挙げられています。

  • Shopify:Shopifyはrobots.txtではなくnoindexメタタグの利用を推奨しており、theme.liquid に条件分岐を書く方法が案内されています。提示されているコードは {% if template contains 'search' %} <meta name='robots' content='noindex'> {% endif %} です
  • WordPress:Yoast、Rank Math、AIOSEOといった主要SEOプラグインは、検索結果ページを既定でnoindexに設定します。ページビルダーによっては、スパムURLの生成自体を防ぐものもあります

いずれも「クロールを拒否する」のではなく「クロールはさせたうえでインデックスさせない」という発想である点が共通しています。noindexはページを読み込ませないと認識されないため、noindexで対処する場合はrobots.txtでそのページをブロックしてはいけない、という関係にも注意が必要です。

なぜ重要か・SEO/GEO実務への影響

今回の指摘は、robots.txtを「上から順に読まれる設定ファイル」だと考えていると、意図と正反対の結果を招きうることを示しています。特に、AIクローラー対策として GPTBot や ClaudeBot、あるいは Google-Extended といったユーザーエージェント別のセクションを追加する動きが広がっている現在、この仕様の影響範囲は以前より確実に大きくなっています。「AI向けに1セクション足しただけ」のつもりが、そのクローラーに対して既存の disallow がすべて外れる、という事故が起こりうるからです。

また、サイト内検索の結果ページが大量にインデックスされる状態は、低品質な自動生成ページの量産と実質的に同じ意味を持ちます。スパム業者が検索ボックスを踏み台にするケースでは、自社と無関係なスパムリンクを含むURLが自社ドメイン配下で検索結果に出ることになり、サイト全体の品質評価やブランド毀損の観点でも見過ごせません。

所感

Scale Basics編集部としては、これは「知っていれば当たり前、知らなければ気づけない」典型的な落とし穴だと考えています。robots.txtは書式が単純なぶん自己流で運用されやすく、しかもGoogle Search Consoleのrobots.txtレポートは構文エラーは教えてくれても、「このセクションのせいで別セクションが無視されている」という論理的な意図のズレまでは指摘してくれません。

実務上の確認手順としては、まず自社のrobots.txtに「user-agent: *」以外のセクションが存在するかを見て、存在するなら、そのクローラーに適用したいルールがそのセクション内に漏れなく書かれているかを1行ずつ突き合わせるのが確実です。そのうえで、検索結果ページやパラメータ付きURLのように「検索結果に出したくない」ページはrobots.txtではなくnoindexで扱う、と役割を分けておくとよいでしょう。AIクローラー向けの記述を追加する予定があるサイトほど、追加の前に一度棚卸ししておく価値があります。

まとめ

・robots.txtに「user-agent: Googlebot」セクションがあると、Googlebotは「user-agent: *」のルールを一切参照しない。Google公式仕様でも「特定のクローラーに有効なグループは1つだけ」「ユーザーエージェント固有のグループとグローバルグループ(*)は結合されない」と明記されている

・Shopifyストアで /search を disallow していたのにインデックスされ続けた事例は、その disallow が「*」側にしか書かれていなかったことが原因だった

・Mueller氏は、セクションを分けるのではなく、共通ルールの前に複数のユーザーエージェントをまとめて列挙する書き方を推奨している

・robots.txtはクロールを制御する仕組みであり、拒否したページもURLだけがスニペットなしで検索結果に表示されることがある。検索結果に出したくないページはnoindexで対処する

・Shopifyは theme.liquid での条件付きnoindex、WordPressはYoast・Rank Math・AIOSEOによる既定のnoindexが対処法として挙げられている

よくある質問

Q1: 「user-agent: *」と「user-agent: Googlebot」を両方書くとどうなりますか?

Googlebotは「user-agent: Googlebot」のセクションだけを読み、「user-agent: *」のセクションは一切参照しません。Google公式仕様でも、特定のクローラーに有効なグループは1つだけであり、ユーザーエージェント固有のグループとグローバルグループ(*)は結合されないと明記されています。両方に適用したいルールは、Googlebotのセクション側にも複製する必要があります。

Q2: robots.txtでブロックすれば検索結果から消えますか?

必ずしも消えません。Google公式ドキュメントは、クロールを拒否されたページのコンテンツはインデックスできないものの、URL自体はインデックスされ、スニペットなしで検索結果に表示される場合があると説明しています。検索結果に表示させたくないページには、robots.txtではなくnoindexを使います。

Q3: サイト内検索の結果ページはどう対処すべきですか?

記事では、Shopifyの場合は theme.liquid に条件分岐でnoindexメタタグを出力する方法、WordPressの場合はYoast・Rank Math・AIOSEOといったSEOプラグインが既定で検索結果ページをnoindexにする機能を使う方法が挙げられています。noindexはページを読み込ませないと認識されないため、robots.txtで同じページをブロックしないよう注意が必要です。

出典:Google Says Why It May Ignore Robots.txt And Negatively Impact SEO(Search Engine Journal、Roger Montti氏、2026年7月25日)https://www.searchenginejournal.com/google-says-why-it-may-ignore-robots-txt-and-negatively-impact-seo/583475/

参考:Google robots.txt の仕様(Google 検索セントラル)https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt

scale-basics編集部
監修

scale-basics編集部

SEO・AI検索最適化(AIO/LLMO/GEO)・Web制作の最前線で活動する専門チーム。テクニカルSEOからコンテンツ戦略、データ分析まで幅広い実務経験をもとに、最新のナレッジと実践的なノウハウを発信しています。

編集部について詳しく見る →