robots.txt の User-agent の書き方|* と Googlebot を両方書くと
robots.txt に「User-agent: *」のグループと「User-agent: Googlebot」のグループの両方を書くと、Googlebot は「*」のルールを使わなくなります。これを知らずに Googlebot 用のグループを足して、止めていたはずのページがクロールされるようになった、というトラブルはよくあります。この記事では、クローラーがどのグループを使うかの決まり方、Googlebot-Image や AdsBot-Google などの特別な扱い、グループのまとめ方と書き間違いやすい点を解説します。
グループとは:User-agent 行とその下のルール
robots.txt は「グループ」の集まりです。1つ以上の User-agent 行で始まり、その下に Allow・Disallow のルールが続いたまとまりが1つのグループになります。次の User-agent 行(ルールのあと)が出てきたところから、新しいグループです。
| 書き方 | 意味 |
|---|---|
| User-agent: */Disallow: /tmp/ | 名前のグループがないすべてのクローラーに、/tmp/ を止める |
| User-agent: GPTBot/User-agent: ClaudeBot/Disallow: / | GPTBot と ClaudeBot の両方に、サイト全体を止める(1つのグループ) |
| User-agent: Googlebot/Disallow: | Googlebot には何も止めない(値が空の Disallow は全部許可) |
グループの間の空行は読みやすくするためのもので、なくても動きます。Sitemap 行はどのグループにも属さず、どこに書いてもすべてのクローラーに伝わります。User-agent 行より前に書いた Allow・Disallow はどのクローラーにも使われないので注意してください。
クローラーが使うグループは1つだけ
クローラーは robots.txt の中から「自分の名前が書かれたグループ」を探し、見つかればそのグループのルールだけを使います。名前のグループがないときに限って「User-agent: *」のグループを使います。2つのグループのルールを足し合わせることはありません。
- 1
例:* と Googlebot の両方があるとき
「User-agent: *」に Disallow: /private/ と Disallow: /tmp/、「User-agent: Googlebot」に Disallow: /no-google/ だけを書いたとします。
- 2
Googlebot の判定
Googlebot は自分のグループだけを使うので、/no-google/ はブロック、/private/ と /tmp/ は許可になります。* で止めたつもりのページがクロールされてしまいます。
- 3
Bingbot の判定
Bingbot の名前のグループはないので「*」を使います。/private/ と /tmp/ はブロック、/no-google/ は許可です。
- 4
直し方
Googlebot のグループにも Disallow: /private/ と Disallow: /tmp/ を書き足します。Googlebot に別の扱いが必要なければ、Googlebot のグループ自体を消して「*」だけにするのがいちばん簡単です。
Google のクローラーの特別な扱い
Google には用途ごとに複数のクローラーがあり、グループの選び方に少しずつ違いがあります。
| クローラー | 使うグループ |
|---|---|
| Googlebot | Googlebot のグループ → なければ * |
| Googlebot-Image / -Video / -News | 自分の名前のグループ → なければ Googlebot → それもなければ * |
| AdsBot-Google | 自分の名前のグループだけ(* は無視) |
| Mediapartners-Google(AdSense) | 自分の名前のグループだけ(* は無視) |
| Google-Extended | 自分の名前のグループ(Gemini などの学習・回答への利用だけを決める) |
| Applebot(Apple) | Applebot のグループ → なければ Googlebot のグループに従う |
- 画像検索に出したくない画像フォルダがあるなら「User-agent: Googlebot-Image」で止めます。通常の Google 検索のクロールには影響しません。
- 「User-agent: *」で「Disallow: /」と書いても AdsBot-Google は止まりません。広告のランディングページの品質チェックを止めたいときだけ名前を書きます(通常は止める必要はありません)。
- AdSense のクローラーを止めると広告の内容が合いにくくなるので、AdSense を使っているサイトでは止めないのが一般的です。
- 「Googlebot-Images」(s つき)のような存在しない名前を書くと、そのグループはどのクローラーにも使われません。テスターは名前の書き間違いも知らせます。
複数のクローラーをまとめる・同じ名前が2回あるとき
同じルールを複数のクローラーに使いたいときは、User-agent 行を続けて書き、その下にルールを1回だけ書きます。AI クローラーをまとめて止めるときによく使う書き方です。
同じ名前のグループが robots.txt の中に2回出てくる場合、Google は2つのグループのルールを合わせて使います。ただし、ほかのクローラーも同じように読むとは限らず、あとから見たときに混乱のもとになるので、1か所にまとめておくのがおすすめです。
- User-agent の値は名前だけを書きます。「Googlebot/2.1」やブラウザの UA 文字列全体を書くと、先頭の名前の部分だけが使われます。
- 名前の大文字小文字は区別しません。
- ルールが1行もないグループのクローラーは「全部許可」になり、「*」のルールも使いません。
- コロンは半角の「:」で書きます。全角の「:」だと行が読まれません。
AI クローラーの名前と止め方はAI クローラーをブロックする robots.txt の書き方、ルール同士の優先順位はAllow と Disallow の優先順位で解説しています。
よくある質問
- User-agent: * と User-agent: Googlebot の両方を書くとどうなりますか?
- Googlebot は自分の名前のグループのルールだけを使い、「*」のグループのルールは使いません。「*」で止めているパスを Googlebot にも止めたいときは、Googlebot のグループにも同じ Disallow を書きます。
- Googlebot-Image だけをブロックできますか?
- できます。「User-agent: Googlebot-Image」のグループに Disallow を書くと、画像検索のクローラーだけを止められます。名前のグループがなければ、Googlebot-Image は Googlebot のグループに従います。
- User-agent: * で AdsBot-Google も止まりますか?
- 止まりません。AdsBot-Google と AdSense の Mediapartners-Google は「*」のグループを無視するので、止めたいときは名前を書く必要があります。
- 複数の User-agent に同じルールを書くには?
- User-agent 行を続けて書き、その下にルールを1回だけ書きます。たとえば「User-agent: GPTBot」「User-agent: ClaudeBot」の2行のあとに「Disallow: /」と書くと、両方に同じルールが使われます。
この記事で紹介したツール
あわせて読みたい
robots.txt と noindex の違い|検索結果から消す正しい方法
「robots.txt でブロックしたのに検索結果に出てくる」「Search Console に『robots.txt によりブロックされましたが、インデックスに登録しました』と出た」。こうした悩みの多くは、robots.txt と noindex の役割の違いから来ています。この記事では、クロールとインデックスの違い、検索結果から消したいときの正しい手順、robots.txt の Noindex や Crawl-delay が効かない理由、Search Console でよく見るメッセージと書き間違いの直し方をまとめます。
記事を読む →robots.txt の Allow と Disallow の優先順位|* と $ の意味
robots.txt で同じ URL に Allow と Disallow の両方が当てはまるとき、どちらが使われるのか。「上に書いたほうが優先」と思われがちですが、Google の読み方は違います。この記事では、Google が採用している「いちばん長く一致したルールが勝つ」仕組み、ワイルドカード「*」と末尾の「$」の意味、「/fish」と「/fish/」の違い、大文字小文字や日本語の URL の扱いを、例を使って解説します。
記事を読む →robots.txt の確認方法|テスター廃止後にブロックを調べる手順
Google Search Console にあった robots.txt テスターは2023年12月に提供が終わり、今は「robots.txt レポート」に置き換わっています。レポートでは「URL を入れてブロックされるか試す」ことができないため、「どこで確認すればいいの?」と迷う人が増えました。この記事では、robots.txt の置き場所と開き方、Search Console のレポートと URL 検査ツールで分かること・分からないこと、テスターで URL ごとの判定を確かめる手順、書き換えたあとに反映されるまでの流れをまとめます。
記事を読む →