- robots.txtは技術標準(RFC 9309)ではあるが、クローラーへの「お願い」であり強制力を持たない。判定に使うUser-Agentは自己申告のため偽装もできる。
- GPTBot・ClaudeBot・Google-Extended・PerplexityBotなど主要AIクローラーは学習用・検索/回答用・ユーザー代理アクセス用で目的が分かれ、robots.txt上のトークンも別々になっている。
- Cloudflareを使うと、AI Crawl Controlでの可視化とカテゴリ別ブロック、暗号署名による「なりすまし」対策、pay per crawlでの収益化まで、robots.txtの先にある制御が可能になる。
- 「全部ブロック」が正解とは限らない。学習利用を止めることと、AI検索からの流入を残すことは別の軸で判断する。
なぜrobots.txtだけではAIクローラーを止められないのか?
robots.txtはクローラーへの「お願い」であり、アクセスを技術的に強制する仕組みではないため、悪意あるクローラーやUser-Agent偽装には効かない。
robots.txtは1994年に生まれ、2022年9月にIETFがRFC 9309として標準化した、由緒ある取り決めです。サイトのルートに置いた1つのファイルで、「このパスにはこのクローラーを入れないでほしい」という意思表示ができる。GPTBot・ClaudeBot・Google-Extended・PerplexityBotを含む主要なAIクローラーは、いずれも公式ドキュメントでrobots.txtを尊重すると明言しています。ここまでは、悪くない話です。
ただし「標準化されている」ことと「強制力がある」ことは別問題です。robots.txtは、クローラーが自分でファイルを取得し、自分の意思で内容に従って初めて機能する、性善説の仕組み。サーバー側がアクセスを技術的に遮断しているわけではないので、指示を読んで無視するクローラー、あるいはそもそも読みにいかないクローラーには何の効果もありません。
さらに厄介なのが、判定に使われるUser-Agentという値そのものが自己申告だという点です。HTTPリクエストのUser-Agentヘッダーは、送信側が自由に書き込めるただの文字列にすぎません。「GPTBot」と名乗って送られてきたリクエストが、本当にOpenAIのサーバーから来ているという保証は、robots.txtの仕組みの中には存在しない。Cloudflareが「検証済みボット(Verified Bots)」という別の仕組み——IPアドレス帯の照合や、Web Bot Authと呼ばれる暗号署名による検証——をわざわざ用意しているのは、User-Agent文字列だけでは「なりすまし」を防げないという前提があるからです。
もう一つ見落としやすいのが、「巡回」ではなく「利用者の代理」で動くボットです。ChatGPT-User(OpenAI)、Claude-User(Anthropic)、Perplexity-User(Perplexity)は、利用者がチャットで質問した瞬間にその場でページを取得しにいく仕組みで、あらかじめ大量のページを巡回する通常のクローラーとは動き方が違います。OpenAIは公式ドキュメントで、この種のリクエストには「robots.txtのルールが適用されない場合がある」と明記しており、Anthropicも3種のボットすべてがrobots.txtを尊重するとしつつ、IPアドレスでのブロックは「robots.txtを読む能力自体を妨げるため、適切または永続的に機能しない場合がある」と注記しています。
robots.txtは「アクセス制御」ではなく「意思表示」。悪意あるクローラーや、指示を無視する運用のクローラーを実際に止めるには、ネットワークやサーバーの側で技術的に強制する仕組みが別途必要になる。
主要なAIクローラーには何があり、何をしているのか?
OpenAI・Anthropic・Google・Perplexityはいずれも、学習用・検索/回答用・ユーザー代理アクセス用でクローラーを使い分けており、robots.txt上のトークンも別々になっている。
「AIクローラー」とひとくくりに語られがちですが、各社は目的別に複数のボットを使い分けています。同じ会社のボットでも、学習データ収集用か、検索・回答の品質向上用か、利用者の質問に応じたその場のアクセスかで、robots.txt上の扱いを分けて設計されている。以下は主要4社の代表的なクローラーの整理です。本稿に記載するクローラーの仕様は、2026年8月時点の各社公式ドキュメント(OpenAI・Anthropic・Google・Perplexityの公式クローラー説明ページ)に基づきます。
| 提供元 | クローラー名(robots.txtトークン) | 種別 | 用途 |
|---|---|---|---|
| OpenAI | GPTBot | 学習 | モデル学習用データの収集 |
| OpenAI | OAI-SearchBot | 検索・回答 | ChatGPT検索機能の検索結果への表示 |
| OpenAI | ChatGPT-User | ユーザー代理 | 利用者がChatGPT等で質問した際のその場でのアクセス |
| Anthropic | ClaudeBot | 学習 | モデル学習用データの収集 |
| Anthropic | Claude-SearchBot | 検索・回答 | 検索結果の品質向上のための分析 |
| Anthropic | Claude-User | ユーザー代理 | 利用者がClaudeに質問した際のその場でのアクセス |
| Google-Extended | 学習 | Gemini Apps・Vertex AI向けモデルの学習・グラウンディング | |
| Perplexity | PerplexityBot | 検索・回答 | 検索結果への表示(学習データ収集には不使用と明記) |
| Perplexity | Perplexity-User | ユーザー代理 | 利用者がPerplexityに質問した際のその場でのアクセス |
robots.txtでの指定には、表内の「トークン」の部分で十分です。実際のHTTPリクエストのUser-Agentには、たとえば「GPTBot/1.x」のようにバージョン番号が付いた、より長い文字列が入ってきますが、このバージョン番号は各社のアップデートで変わっていく。WAFのルールなどで一致条件を作る場合は、バージョンまで固定した文字列ではなく、トークン部分を含むかどうかで判定するのが実務的に安全です。OpenAIはGPTBot・OAI-SearchBot・ChatGPT-Userそれぞれについて、送信元IPアドレスの一覧をJSON形式で公開しており(openai.com/gptbot.json、/searchbot.json、/chatgpt-user.json)、User-Agentに加えてIP側でも裏取りができるようにしています。
なお、Google-ExtendedはGooglebotとは別物です。Google検索のインデックス作成やランキングには関与しない専用のトークンで、Google-Extendedをブロックしても通常の検索結果への掲載順位には影響しないと、Google自身が公式ドキュメントで明記しています。「AI学習に使われたくないが、検索結果には出たい」という要望に、最初から個別対応できる設計になっている、と言えます。
Cloudflareでは何が制御できるのか?
クローラーの可視化・カテゴリ別ブロック・なりすまし検知・robots.txtの自動管理・収益化までを、ネットワーク層でまとめて提供している。
CloudflareはAI Crawl Control(旧称AI Audit)という機能を、無料プランを含む全プランに標準搭載しています。ダッシュボード上でどのAIクローラーがどれだけアクセスしてきたかを可視化し、クローラーごとに許可・ブロックを個別設定できるほか、「robots.txtの指示に実際に従っているクローラーはどれか」を追跡する機能も備えています。これは、こちらが出した「お願い」を相手が本当に聞いているかどうかを検証する仕組みだと捉えると分かりやすい。
この機能は段階的に拡張されてきました。2025年7月1日には、新規サインアップのドメインで「AI botsをブロック」をデフォルトオンにする変更と、robots.txtを自動生成・管理する「Managed robots.txt」機能を発表。既存のrobots.txtがある場合はCloudflare側の指示が先頭に追加される形になります。同時に、広告で収益化しているページだけAIボットをブロックし、その他のページ(ドキュメントなど)はAI学習に使わせる、という部分的なブロックの選択肢も用意されました。
図:Cloudflareのmanaged robots.txtが自動付与するContent-Signal行のイメージ。学習(ai-train)は拒否、検索(search)は許可、という意思表示を1行で行える(2026年8月時点の仕様)。
さらに2026年7月1日、Cloudflareは2度目となる発表で制御をもう一段細かくしました。AIクローラーの振る舞いを「Search(検索結果に載せるための巡回)」「Agent(利用者の代理としてリアルタイムに動く)」「Training(モデルの学習・微調整用にコンテンツを収集する)」の3カテゴリに分類し、2026年9月15日以降にCloudflareへ新規登録するドメインでは、広告が表示されるページに限り「Training」と「Agent」をデフォルトでブロックし、「Search」はデフォルトで許可する設定に変わります。既存ドメインは自動では変更されませんが、期限前に設定を明示的に変更しない限り、いずれこの新しいデフォルトの対象になります。Googlebotのように複数の目的を兼ねるクローラーには「最も制限的なルールが適用される」扱いになる点も、実務上は覚えておく必要があります。
この分類・ブロックが実効性を持つのは、Cloudflareがネットワークの手前でリクエストを受け止め、「検証済みボット」かどうかを判定してから通しているためです。判定にはIPアドレス帯の照合(各社が公開するIPリストとの突合、または逆引きDNSでの確認)と、Web Bot Authと呼ばれるEd25519暗号署名による検証の2種類の方法が使われており、User-Agentの文字列だけに頼りません。ここがrobots.txt単体との決定的な違いで、「GPTBotを名乗るだけの偽物」と「本物のGPTBot」を区別できるようになります。
| プラン | 使える機能 | できること |
|---|---|---|
| Free | Bot Fight Mode | ドメイン単位で検出ボットへの対応を一括オン・オフ |
| Pro/Business | Super Bot Fight Mode | ボットカテゴリ別のアクション設定、WAFカスタムルールとの連携 |
| Enterprise | Bot Management for Enterprise | リクエスト単位のボットスコア、エンドポイント別のカスタムルール、詳細分析 |
クローラー単位の制御に加えて、より広いボット対策の土台もプラン別に用意されています。AI Crawl Controlで「どのクローラーを・どう扱うか」の方針を決め、Bot Management・WAFで実際の遮断を実行する、という二段構えです。なお、LLMを使った自社アプリ側の防御(プロンプトインジェクション対策など)はネットワーク層とは別の論点になりますが、その設計はLLMアプリのガードレールで扱っています。
指示を無視するクローラー向けの、もう一段踏み込んだ機能がAI Labyrinthです。2025年3月に発表されたこの機能は、疑わしいボットの動きを検知すると、ページに人間には見えないリンクを仕込み、AIが生成したもっともらしい偽ページの迷路へと誘導します。無料プランを含む全プランでダッシュボードのトグル1つで有効化でき、悪質なクローラーの巡回コストを吊り上げる、という発想の防御です。
ブロックする・させるの二択だけでなく、「対価をもらう」という第三の選択肢も用意されつつあります。2025年7月には、クローラーのリクエストに対してHTTP 402 Payment Requiredを返し、価格をcrawler-priceヘッダーで提示する「Pay per crawl」がプライベートベータで発表されました。2026年7月には、これをさらに発展させた「Monetization Gateway」を発表し、x402というオープンプロトコル上でステーブルコイン決済を使い、「巡回されるたびに」ではなく「実際にAIの回答にコンテンツが使われたときに」対価を得る、Pay Per Useという発想へ軸足を移しています。ブロック一辺倒ではなく収益化という道があることは、方針を決めるうえで知っておいて損はありません。
「止めるか・通すか」の前に、そのクローラーが何をしにきているかを区別できて初めて、robots.txtの一行は意味を持つ。
ブロックすべきか、許可すべきか?
「AI学習に使わせたくない」と「AI検索からの流入を残したい」は別の軸で、クローラーの種別ごとに判断を分けるのが実務的な落とし所になる。
ここまでの整理を踏まえると、判断は「AIクローラーを止めるか通すか」という一つの軸では決まりません。少なくとも次の3つの軸を分けて考える必要があります。
- 学習利用への抵抗感。自社のコンテンツが無断でモデルの学習データにされることに、コンプライアンス・著作権・競争優位のいずれかの理由で抵抗があるか。
- AI検索・AI回答からの流入価値。ChatGPT検索やPerplexity、Gemini経由で自社サイトが引用・参照されることを、Google検索と同様に集客チャネルとして評価しているか。
- コンテンツの性質。広告で収益化しているページか、会員限定・有償コンテンツか、採用情報やプレスリリースのように広く読まれてほしいページか。
この3つを分けると、前章の表がそのまま判断材料になります。学習利用だけを止めたいなら、GPTBot・ClaudeBot・Google-Extendedのような「学習」カテゴリのクローラーだけをブロックし、OAI-SearchBot・Claude-SearchBot・PerplexityBotや、ChatGPT-User・Claude-User・Perplexity-Userのような「検索・回答」「ユーザー代理」のクローラーは許可する、という切り分けができます。Cloudflareが2026年7月の発表で用意したSearch/Agent/Trainingの3分類も、まさにこの切り分けをダッシュボード上でそのまま扱えるようにしたものです。GEO・LLMO(生成AI検索最適化)の観点で言えば、「学習させない」ことと「AIの回答に載らない」ことはイコールではなく、後者まで一緒に手放す前に一度立ち止まる価値があります。
ページの性質によって方針を分けるのも有効です。Cloudflareが用意している「広告収益ページのみブロック」という選択肢はその発想そのもので、広告収益で成り立つ記事ページは学習データとして囲い込みつつ、製品ドキュメントや会社概要・採用情報のように「読まれること自体に価値がある」ページはむしろ開いておく、という判断もできます。逆に、社内向けのつもりが実は検索エンジンにも出したくない機微な情報が、一般公開領域に置かれているケースもあるため、方針決定の前に公開範囲そのものを棚卸ししておくと安全です。この棚卸しの視点は情シス審査を通すSaaS設計とも重なります。
結論として、2026年8月時点で実務的に無難な落とし所は、「Training」は目的に応じて選択的にブロックし、「Search」「Agent」は基本的に許可するという設定です。全クローラーを一律ブロックする運用は、AI検索経由の流入をゼロにするリスクのほうが、学習利用を防ぐメリットより大きくなりやすい。逆に何も設定しない「野放し」も、意思決定を放棄しているのと同じです。少なくとも学習用クローラーの扱いだけは、会社としての方針を持っておくべきです。
| 目的 | 推奨する扱い | 該当するクローラーの例 |
|---|---|---|
| 学習データとして使われたくない | Trainingのみブロック、Search/Agentは許可を検討 | GPTBot、ClaudeBot、Google-Extended |
| AI検索経由の流入を伸ばしたい | Search/Agentを許可し、引用されやすい形でコンテンツを整備 | OAI-SearchBot、Claude-SearchBot、PerplexityBot |
| 広告収益ページだけ守りたい | 広告表示ページに限りTraining/Agentをブロック | ページ単位でのカテゴリ別設定 |
| 会員限定・有償コンテンツを守りたい | 認証の壁の内側に置く(robots.txtだけに頼らない) | 全カテゴリ |
実務としてはどう進めればよいか?
現状把握→方針決定→設定→検証の4ステップで、影響範囲を確認しながら段階的に進めるのが着実。
方針が決まっても、いきなり全クローラーを一律ブロックするのは避けたいところです。実務では次の4ステップで進めます。
| ステップ | やること | 確認すること |
|---|---|---|
| 1. 現状把握 | 既存のrobots.txtを棚卸し。Cloudflare利用中ならAI Crawl Controlのダッシュボードで、今どのクローラーがどれだけアクセスしているかを確認 | どのクローラーが来ているか、意図せず許可・ブロックされているものがないか |
| 2. 方針決定 | 学習利用への抵抗感・AI検索からの流入価値・コンテンツの性質という3つの軸に沿って、情シス・広報・Web担当・経営で合意を取る | ページ単位・カテゴリ単位でどこまで分けるか |
| 3. 設定 | robots.txt/Content-Signalの整備。Cloudflare利用中ならAI Crawl ControlでSearch/Agent/Training別に許可・ブロックを設定し、必要に応じてSuper Bot Fight ModeやAI Labyrinthを併用 | 設定が意図した範囲だけに適用されているか(全体ブロックになっていないか) |
| 4. 検証 | 設定後、実際のアクセスログで反映を確認。AI Crawl Controlの「robots.txt遵守状況の追跡」機能で、指示に従わないクローラーがいないか確認 | 指示を無視するクローラーがいれば、Bot Management・WAF側での遮断に切り替える |
ここで重要なのは、設定して終わりにしないことです。新しいAIクローラーは今後も増え続けますし、既存のクローラーもポリシーやアクセス範囲を変えていきます。四半期に一度など頻度を決めて、主要クローラーの動向とアクセスログを見直す運用にしておくと、「気づいたら知らないボットに大量にアクセスされていた」という事態を避けられます。Cloudflare利用中の企業に閉じない話として、シークレットやAPIキーの管理体制も合わせて点検しておくと安心です。Web Bot Authのような暗号鍵ベースの検証が広がっていく前提に立つなら、鍵の管理自体も社内の設計対象になる。この点はシークレット管理で扱っています。またVPNを使わない管理画面の防御という切り口では管理画面をVPNなしで守るも参考になります。
一度の設定で「対応完了」にはならない。AIクローラーの種類も各社の方針も動き続けるので、測定と見直しが運用の一部として回っている状態を目指す。
よくある質問
robots.txt自体は2022年9月にIETFがRFC 9309として標準化した技術仕様で、クローラーに対する意思表示の共通フォーマットです。ただし、その指示に従うかどうかはクローラー運営者側の実装と方針次第であり、robots.txtの記述そのものに、遵守を強制する法的効力があるわけではありません。実際にどこまで利用を止められるかは、相手企業の利用規約や各国の著作権法の解釈によって変わるため、確実な法的強制力を求める場合は利用規約の整備や専門家への相談が必要です。
robots.txtと、その拡張であるContent Signalsは、Cloudflareを使わなくても自社サーバーに設置するだけで意思表示ができます。ただし「お願い」止まりである点は変わらないため、実効性を持たせるには、自社のWebサーバーやCDN側でUser-Agent・IPアドレスによるアクセス制御を組むか、Cloudflare以外のボット対策製品を組み合わせる必要があります。
クローラーを区別せず一律にブロックした場合はそうなります。ただし主要各社は学習用と検索・回答用でクローラーを分けており(OpenAIのGPTBotとOAI-SearchBot、AnthropicのClaudeBotとClaude-SearchBotなど)、学習用だけを止めて検索・回答用は許可する、という切り分けが可能です。GoogleもGoogle-Extendedをブロックしても通常のGoogle検索の掲載順位には影響しないと公式に明記しています。
いいえ。新しいAIクローラーは今後も増えますし、既存クローラーのUser-Agentや各社のポリシーも変わっていきます。robots.txtに従わないクローラーがいないかを定期的にログで確認し、Cloudflareを使っているならAI Crawl Controlの遵守状況の追跡機能などで実際の状況を定点観測する運用が欠かせません。
