AIクローラー向けのrobots.txt:許可すべきボットと、検討が必要なボット
ChatGPT、Claude、Perplexity、Geminiの裏側で動くユーザーエージェントとそれぞれの役割、そのまま使えるrobots.txt、そしてrobots.txtの設定を上書きしてしまうファイアウォールの設定を解説します。
AI企業はそれぞれ複数のクローラーを運用しており、役割が異なります。AIアシスタントがライブの回答で引用できるようにページを取得するものもあれば、将来のモデルのための学習データを収集するものもあります。前者をブロックすると、今日の回答から自社が消えます。後者をブロックしても、影響するのは将来のモデルが学ぶ内容だけです。これらを1つのグループとして扱ってしまうのが、私たちが目にするrobots.txtの最も多いミスです。
重要なクローラー
| 企業 | ユーザーエージェント | 役割 |
|---|---|---|
| OpenAI | OAI-SearchBot | ChatGPTの検索結果向けにページをインデックスする |
| OpenAI | ChatGPT-User | ユーザーとの会話で必要になったときにページを取得する |
| OpenAI | GPTBot | 学習データを収集する |
| Anthropic | Claude-SearchBot | Claudeの検索向けにページをインデックスする |
| Anthropic | Claude-User | ユーザーがClaudeにページについて尋ねたときにそのページを取得する |
| Anthropic | ClaudeBot | 学習データを収集する |
| Perplexity | PerplexityBot | Perplexityの回答向けにページをインデックスする |
| Perplexity | Perplexity-User | ユーザーの質問に応じてページを取得する |
Googlebot | AI Overviewsを含むGoogle検索のためにクロールする | |
Google-Extended | Geminiモデルへのコンテンツ利用を制御する。検索には影響しない | |
| Microsoft | Bingbot | Bingのためにクロールする。CopilotなどのAIアシスタントはBingを検索に利用する |
各社はユーザーエージェントを追加したり名前を変えたりするため、年に1〜2回はクローラーのドキュメントを確認しましょう。
出発点として使えるrobots.txt
次の設定は、検索エンジンとすべてのAIクローラーを許可し、非公開のパスへのアクセスを防ぎ、サイトマップの場所を伝えます。
User-agent: *
Allow: /
Disallow: /account/
Disallow: /api/
Sitemap: https://yourdomain.com/sitemap.xmlUser-agent: *のグループは、専用のグループを持たないすべてのクローラーにすでに適用されます。問題が起きるのは、User-agent: GPTBotの後にDisallow: /が続くような古いブロックが残っている場合です。AIの学習をブロックするのが一般的な初期設定だった2023年に追加されたものが多く、このルールは今も有効です。
ライブの回答には残りつつ学習からは除外したい場合は、学習用のユーザーエージェントだけをブロックします。
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
Disallow: /OAI-SearchBot、Claude-SearchBot、PerplexityBot、-User系の取得用エージェント、Googlebot、Bingbotは許可したままにしておきます。
学習用クローラー:本当のトレードオフ
学習用クローラーをブロックすると、自社のコンテンツは将来のバージョンのモデルに含まれなくなります。その代償として、それらのモデルが検索せずに回答するとき、自社ブランドについての知識が少なくなります。オリジナルのコンテンツを販売するメディアにとっては、ブロックが正しい判断になることもあります。推薦されたいソフトウェア企業にとっては、許可するほうがたいてい得策です。
ファイアウォールはrobots.txtを上書きすることがある
robots.txtはあくまで依頼です。CDNやファイアウォールは、クローラーがファイルを読む前にアクセスを拒否できます。CloudflareはAIクローラーをワンクリックでブロックできる設定を提供しており、一部の新しいドメインではそれを初期設定にしています。Vercel、Akamaiなどのホスティングのボット対策でも、同じことが起こり得ます。
クローラーのユーザーエージェントでページをリクエストし、外部から確認しましょう。
curl -s -o /dev/null -w "%{http_code}\n" \
-A "Mozilla/5.0 (compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot)" \
https://yourdomain.com/403、429、またはチャレンジページが返ってきた場合、実際のクローラーもおそらく拒否されています。無料AI対応度診断は、4つのAIクローラーについてこのテストを実行し、11のクローラーについてrobots.txtのルールを読み取ります。
FAQ
AIクローラーごとに個別のルールが必要ですか?
いいえ。User-agent: *のグループでクロールを許可していれば、専用のグループを持たないすべてのクローラーが許可されます。個別のグループが必要になるのは、特定のエージェントに別のルールを適用したい場合だけです。
Google-ExtendedをブロックするとAI Overviewsから外れますか?
いいえ。GoogleはGoogle-ExtendedがGoogle検索に影響しないと明言しており、AI Overviewsは検索の一部です。どちらもGooglebotの扱いで決まります。
llms.txtはどうですか?
llms.txtは、言語モデル向けにサイトの概要をまとめるために提案されているファイルです。追加するコストは小さいものの、主要なAIアシスタントはこれを読むことを約束していません。オプションとして扱い、まずはrobots.txtとファイアウォールの設定を正しく整えましょう。