robots.txtでAIクローラーを一括ブロックすると、コンテンツを守るどころか、ChatGPT、Perplexity、Claudeの回答から自社サイトを消してしまうことがあります。OpenAI、Anthropic、Perplexityが運用するクローラーは1種類ではなく、それぞれ2〜3種類に分かれているためです。一方は将来のモデル学習に使うコンテンツを収集し、もう一方はページをリアルタイムで取得して、回答に参照元リンクを表示します。通常、拒否したいのは前者であり、残すべきなのは後者です。しかし、User-agent: *とDisallow: /だけを設定すると、両方をまとめて締め出してしまいます。
学習用クローラーと検索・取得用クローラーは別物です
OpenAIを例にすると、GPTBotは将来のモデル学習に用いるコーパスへコンテンツを取り込む役割を担います。一方、OAI-SearchBotはページをChatGPTの検索インデックスに登録し、リアルタイムの回答で引用やリンクを表示できるようにします。ChatGPT-Userが動作するのは、会話中にユーザーが特定のURLへのアクセスを求めた場合だけです。つまり、GPTBotを拒否して影響するのは「コンテンツが学習に使われるかどうか」であり、その時点でChatGPTが自社ページを参照できるかどうかには影響しません。AnthropicとPerplexityも役割分担の考え方は同じですが、名称が異なります。この違いを理解していないと、許可すべきクローラーを拒否し、本来止めたかったクローラーを見逃すことになります。
- 「GPTBot」(OpenAI):基盤モデルの学習用コンテンツを収集します。拒否してもChatGPT検索から直ちに消えるわけではありません。
- 「OAI-SearchBot」(OpenAI):ChatGPT検索や即時回答のためにページをインデックスし、参照元として引用やリンクを表示します。引用されたい場合は許可が必要です。
- 「ChatGPT-User」(OpenAI):会話中にユーザーが特定のURLへのアクセスを明示的に求めたときに作動します。
- 「ClaudeBot」(Anthropic):学習やモデルでの利用を目的にコンテンツを収集します。
- 「Claude-SearchBot」と「Claude-User」(Anthropic):それぞれ検索インデックスの作成と、ユーザー操作を起点とするコンテンツ取得を担当します。
- 「PerplexityBot」(Perplexity):Perplexityの回答エンジン向けにページをインデックスします。拒否すると、Perplexityの参照元から外れることになります。
- 「Perplexity-User」(Perplexity):ユーザーの質問を受けて、その場でコンテンツを取得します。robots.txtを完全には順守していないとの指摘もあります。
- そのほかの主な対象:「Google-Extended」(実際のクローラーではなく、Geminiの学習とグラウンディングにコンテンツを使用できるかを指定する制御項目)、「CCBot」(多くのモデルで学習コーパスの供給元となるCommon Crawl)、「Bytespider」(ByteDanceが運用し、巡回頻度の高いクローラー)。
robots.txtの基本ルール:設定例を貼り付ける前に確認したいこと
robots.txtはドメインのルートディレクトリに配置し、URLは必ず「ドメイン名/robots.txt」とします。また、ファイルはホストごとに必要です。blog.example.comとwww.example.comは別のホストなので、前者のルールで後者を制御することはできません。httpとhttps、異なるポートも別の取得元として扱われます。基本となるキーワードは3つです。User-agentで対象を指定し、Disallowでパスへのアクセスを拒否し、Allowで例外的に許可します。AllowとDisallowが競合した場合、主要な検索エンジンは「より長く具体的なパスを優先」するため、広い範囲を拒否しながらAllowで一部だけを開放できます。
- robots.txtは「依頼」であり、「ファイアウォール」ではありません。GPTBot、ClaudeBot、Googlebotなどの適切に運用されたクローラーは従いますが、悪意のあるクローラーやルールを守らないクローラーは無視できます。強制的に遮断するには、サーバーレベルのWAF、ファイアウォールルール、認証・検証の仕組みが必要です。
- クロールの拒否は、既存データの削除を意味しません。robots.txtで制御できるのは「今後クロールできるかどうか」だけであり、すでに学習データへ取り込まれたコンテンツは消えません。
- User-agent名は正確に記述してください。大文字と小文字は区別されませんが、GPT-BotやPerplexity Botのように誤記すると、設定していないのと同じです。また、各ルールグループは、一致したUser-agentに対してのみ適用されます。
シナリオ1:引用は許可し、学習は拒否する(多くのB2B SaaSに適した基本設定)
AIの回答に自社サイトを表示し、参照元として明記してほしい一方で、次世代モデルの学習には無償で使われたくない場合は、検索用クローラーを許可し、学習用クローラーを拒否します。これは、当社が多くのB2Bクライアントに採用している基本設定です。まず可視性を確保し、学習への利用許可は別途判断します。実際の設定では、クローラーごとに独立したUser-agentグループを設け、それぞれにルールを記述します。検索用クローラーにAllow: /を明記すれば、許可する意図が明確になり、サイト全体を拒否していた従来の設定も上書きできます。
- User-agent: GPTBot → Disallow: /(学習用クローラーのため拒否)
- User-agent: ClaudeBot → Disallow: /(学習用クローラーのため拒否)
- User-agent: CCBot → Disallow: /(Common Crawlの学習コーパス向けのため拒否)
- User-agent: OAI-SearchBot → Allow: /(ChatGPT検索からの参照を得るため許可)
- User-agent: PerplexityBot → Allow: /(Perplexityからの参照を得るため許可)
- User-agent: Claude-SearchBot → Allow: /(Claude検索からの参照を得るため許可)
- Geminiの学習対象に含めたくない場合は、User-agent: Google-Extended → Disallow: /も追加できます(Google検索の順位には影響しません)。

シナリオ2:参照も含め、AIからのアクセスを全面的に拒否する
ペイウォール内のコンテンツ、コンプライアンス上慎重な扱いが必要な情報、ライセンス交渉中の資料などは、検索・取得も含めて拒否すべき場合があります。その場合は、把握しているAIのUser-agentを一つずつ列挙し、それぞれにDisallow: /を設定します。ただし、相応の代償があります。拒否後はAI回答からの参照がゼロに戻り、拡大しつつある流入経路から自ら撤退するのと同じです。通常は防御を目的とした一時的な設定であり、B2Bマーケティングサイトの標準設定には適しません。
- OpenAI:GPTBot、OAI-SearchBot、ChatGPT-UserのそれぞれにDisallow: /を設定します。
- Anthropic:ClaudeBot、Claude-SearchBot、Claude-UserのそれぞれにDisallow: /を設定します。
- Perplexity:PerplexityBotとPerplexity-UserのそれぞれにDisallow: /を設定します。
- 必要に応じて追加する対象:Google-Extended、Applebot-Extended、Bytespider、CCBotのそれぞれにDisallow: /を設定します。
「AIをワンクリックで一括拒否」というテンプレートでGEOを損なわないために
インターネット上には、「この記述をrobots.txtへ貼り付ければAIをブロックできる」というテンプレートが数多く出回っています。問題は、あらゆるAIのUser-agentにDisallow: /を設定し、自社サイトを参照する検索用クローラーまで拒否しているものが多いことです。コンテンツを守ったつもりが、実際にはChatGPT検索、Perplexity、Claudeの参照元一覧から自ら離脱する結果になります。AIからの引用を増やしたいB2Bブランドにとって、ほぼ確実に逆効果です。テンプレートを反映する前に、それが「学習」と「検索・取得」のどちらを拒否する設定なのか、必ず確認してください。
設定後、本当に機能しているかを確認する方法
- ブラウザで直接確認する:自社ドメインの末尾に/robots.txtを付けて開き、ファイルが存在すること、ルートディレクトリに配置されていること、各グループ名に誤記がないことを確認します。
- サーバーログを確認する:User-agent欄からGPTBot、ClaudeBot、PerplexityBotを検索し、拒否した対象には403が返り、許可した対象は通常どおりページを取得できているかを確認します。
- 正規のクローラーか検証する:AIクローラーのUser-agentは偽装できます。OpenAIとAnthropicはいずれも公式のIPレンジを公開しているため、逆引きDNSと正引きDNSを照合し、偽装クローラーにだまされないようにします。
- リクエストを再現する:curlで該当するUser-agentを指定してページを取得し、robots.txtのルールどおりに許可または拒否されているかを確認します。
- 定期的に見直す:各社はUser-agentを追加・改称することがあります。たとえば、OAI-SearchBotは後にGPTBotから分離されました。設定を形骸化させないよう、四半期ごとに確認してください。
robots.txtは金庫ではなく、入口に掲げる案内表示です。どのAIを受け入れ、どのAIを締め出すかを決めるものです。GEOにおいて検索用クローラーを拒むことは、ビジネス機会を自ら遠ざけることにほかなりません。— Tenten GEO Consulting Team
robots.txtの設定は、GEOの技術基盤を整える第一歩にすぎません。AIに引用されるかどうかを左右する要素には、構造化された情報、llms.txt、コンテンツを正確に抽出できる設計、各エンジンにおけるブランドの実際の可視性などがあります。自社がAIから参照されているのか、それともrobots.txtの設定で自ら遮断しているのかを確認したい方は、30分間のGEO診断をご予約ください。実際のドメインを使ってクローラーのアクセス状況と参照状況を調査し、どこに課題があるのかをその場でお伝えします。



