ブログ · AI検索

AIクローラー対策:GPTBot、ClaudeBot、OAI-SearchBotなどを正しく制御する方法

AIクローラーは3種類に分かれます。アシスタントが引用できるかを決める検索クローラー、将来のモデル向けにデータを集める学習クローラー、1人のユーザーのために動くフェッチャーです。それぞれがrobots.txtをどう読むのか、ファイアウォールがなぜ気づかれないままブロックするのか、アクセス問題の直し方をまとめます。

Searvia · 2026/10/24 · 読了目安:3分

要点: AIクローラーは3種類あります。検索クローラー(OAI-SearchBot、Claude-SearchBot、PerplexityBot)は、ChatGPT・Claude・Perplexityがあなたのページを見つけて引用できるかを決めます。学習クローラー(GPTBot、ClaudeBot、CCBot)と制御トークン(Google-Extended、Applebot-Extended)は、コンテンツが将来のモデルの学習に使われるかを決めます。ユーザーフェッチャー(ChatGPT-User、Claude-User、Perplexity-User)は、誰かがそのページについて質問したときに訪れます。AIの回答に表示されたいなら検索クローラーを許可し、学習の可否は別に判断してください。そしてファイアウォールも確認しましょう。robots.txtが「allow」でも、CDNのルールがすべてをブロックしていることがあります。

あるサイト運営者が、学習データに使われないようGPTBotにDisallow: /を追加し、これで完了だと考えました。ところがCDNのボット対策がすべてのAIユーザーエージェントに403を返しており、ChatGPT検索もClaudeもPerplexityもサイトをまったく見られていません。逆のケースもあります。robots.txtでAI関連をすべてブロックした結果、回答で自社を引用してくれたはずの検索クローラーまで締め出してしまうのです。

どちらの失敗も、「AIクローラー」を一括りに考えたことが原因です。実際には別物で、各社がボットを個別に文書化しています。本記事では、どのクローラーが何をするのか、クローラーが実際にコンテンツを取得できるかを決める3つのレイヤー、無料のAIクローラーチェッカーでの検査方法、そして報告されうる各問題の直し方を解説します。

AIクローラーの3つの種類

主要なAIプロバイダーは現在、目的別にボットを分けています。以下の表は、2026年10月時点の各社の公式ドキュメントに基づいています。

プロバイダーrobots.txtトークン種類提供元の説明robots.txt
OpenAIOAI-SearchBot検索ChatGPT検索にウェブサイトを表示する遵守。オプトアウトしたサイトは「ChatGPT検索の回答には表示されない」
OpenAIGPTBot学習基盤モデルの学習に使われる可能性のあるコンテンツをクロールする遵守
OpenAIChatGPT-UserユーザーフェッチChatGPTユーザーの質問に必要なときにページを訪問する「robots.txtのルールが適用されない場合がある」
AnthropicClaude-SearchBot検索検索結果の品質向上のためウェブを閲覧する遵守
AnthropicClaudeBot学習学習に寄与しうるコンテンツを収集する遵守
AnthropicClaude-UserユーザーフェッチClaudeユーザーの質問時にページを取得する遵守。無効にするとユーザーの問い合わせ向けの取得が止まる
PerplexityPerplexityBot検索Perplexity検索でウェブサイトを表示・リンクする。学習には使わない遵守
PerplexityPerplexity-Userユーザーフェッチユーザーの質問のためにページを取得する「robots.txtのルールを通常は無視する」
GoogleGoogle-Extended制御トークンGeminiの学習とグラウンディング。独立したユーザーエージェントはないGoogleの既存クローラーが参照
AppleApplebot-Extended制御トークンAppleの基盤モデルの学習。「ウェブページをクロールしない」Applebotが参照
Common CrawlCCBot学習(オープンアーカイブ)研究やデータセットで広く使われるオープンなウェブクロールデータrobots.txtのグループでブロック

出典:OpenAI、Anthropic、Perplexity、Google、Apple、Common Crawl。

これらのドキュメントには、ルールの書き方に影響する3つのポイントがあります。

AIクローラーへのアクセスが重要な理由

アシスタントは、読み取れたページしか引用できません。OAI-SearchBotが料金ページを取得できなければ、ChatGPT検索は「Xの料金はいくらか」という質問に、あなたについて書かれた他人のページ(リセラー、古いレビュー、競合の比較記事など)を使って答えることになります。ClaudeやPerplexityでも同じです。

学習の可否は別の問題で、唯一の正解はありません。有料コンテンツを守るために学習クローラーをブロックする出版社もあれば、将来のモデルに自社製品を知ってほしいとして許可するソフトウェア企業も多くあります。大切なのは、判断が意図的であること、そして検索クローラーまで巻き込まないことです。アクセスの先で何が起こるか、つまりアシスタントがどう情報源を選んで引用するかについては、生成エンジン最適化(GEO)のガイドで解説しています。

クローラーがコンテンツを取得できるかを決める3つのレイヤー

1. robots.txt

robots.txtは、行儀のよいクローラーが最初に読むファイルです。RFC 9309では、クローラーは自分のプロダクトトークンに一致するUser-agentのグループ(大文字小文字は区別しません)を探し、一致するすべてのグループを結合します。自分を名指しするグループがない場合に限り*のグループにフォールバックします。最も具体的なルール、つまり一致するパスが最長のルールが優先され、allowとdisallowの具体性が同じ場合はallowを使うべきとされています。

多くの予期せぬ結果は、このフォールバックから生じます。次の内容だけのファイルは、

User-agent: *
Disallow: /

すべてのAIクローラー、Googlebot、Bingbotをまとめてブロックします。GPTBotのグループと*のグループがあるファイルでは、GPTBotは自分のグループだけを参照し、*のルールは完全に無視します。重要なdisallowを*に書いている場合は注意が必要です。

2. ファイアウォール、CDN、ホスティング

リクエストは、robots.txtが参照される前に拒否されることがあります。ボット対策製品、WAF(Webアプリケーションファイアウォール)、一部のホスティングはユーザーエージェントを照合し、403を返したり、チャレンジページを表示したり、429でレート制限をかけたりします。Googleは、429や5xxのレスポンスがあるとクローラーが速度を落とすと説明しており(HTTP status codes and Google Search)、AIクローラーも同じ壁に直面します。

最も多いのはCloudflareのケースです。従来の「Block AI bots」設定は、Cloudflareのドキュメントで2026年9月15日に廃止予定とされており、AI学習目的のクロールと分類された認証済みボットをブロックしていました。これは、Search、Agent、Trainingという3つのプリセットを持つAIボットトラフィックポリシーに置き換えられました。各プリセットは、許可、全ページでブロック、広告を表示するページのみブロックから選べます(Cloudflare changelog)。2026年9月15日以降の新規ドメインでは、Cloudflareの既定で、広告を表示するページのTrainingとAgentのボットがブロックされ、Searchは許可のままです。また、検索と学習を兼ねるマルチ目的のクローラーはTrainingのブロックの影響を受けるとCloudflareは述べています。Agentプリセットの例にはチャットのフェッチボットが含まれるため、ChatGPT-Userのようなユーザー起点の取得を機能させたい場合はこの設定を確認してください。

3. レンダリング

クローラーが200のレスポンスを受け取っても、JavaScriptを実行するとは限りません。Vercelは2024年12月にネットワーク全体のAIクローラートラフィックを分析し、GPTBot、ClaudeBot、PerplexityBotを挙げて「現時点で主要なAIクローラーはどれもJavaScriptをレンダリングしない」と報告しました(The rise of the AI crawler)。テキストがクライアントサイドのアプリで挿入される場合、これらのクローラーには空の殻しか届きません。

SearviaのAIクローラーチェッカーの仕組み

AIクローラーチェッカーは、ウェブサイトSEOチェッカーと同じエンジンで動きます。ドメインまたはページのURLを入力すると、そのページと周辺のサイトファイルを読み込み、約20秒で38項目のチェックを実行します。このツールの対象である3つのチェックは、ハイライトされたボックスの先頭に表示され、最初の1つは展開された状態です。以下は、コードが実際に行っていることの説明です。

対象ページ。 チェッカーは、入力したURLのページ、ドメインのみの場合はトップページを監査します。robots.txtなどのサイトファイルは常にドメインから読み込みます。まずhttps://を試し、失敗するとhttp://にフォールバックし、最大6回までリダイレクトを追跡します。通常の訪問ではSearviaBot/1.0と名乗ります。

AIクローラーのアクセス(優先度:高)。 最終的なホストから/robots.txtをダウンロードします。404などの4xxはファイルが存在しないことを意味し、すべて許可とみなします。5xx、429、接続エラーはファイルに到達できないことを意味し、その場合はすべてのトークンが「不明」と表示されてチェックは不合格になります。RFC 9309が、サイトを全面ブロックとして扱うようクローラーに求めているためです。HTMLページを返す200は有効なrobots.txtではありません。クローラートークン10個と学習オプトアウトトークン2個のそれぞれについて、そのトークンを名指しするグループ、なければ*のグループを選び、「このトークンは、入力したページのパス(トップページなら/)を取得してよいか」という1点を判定します。最長一致ルールを使い、同点の場合はallowを優先します。*と$のワイルドカード、コメント、1つのルールセットを共有する複数のUser-agent行、同じトークンに対する繰り返しのグループにも対応しています。

レポートで「AI検索」と表示レポートで「AI学習」と表示クローラーではなくオプトアウトトークンと表示
OAI-SearchBot、ChatGPT-User、PerplexityBot、Claude-SearchBot、Claude-User、Googlebot、BingbotGPTBot、ClaudeBot、CCBotGoogle-Extended、Applebot-Extended

GoogleのAI機能はGooglebotで動き、Microsoft CopilotはBingを根拠に回答を生成するため、GooglebotとBingbotは検索の列に入っています。Google-ExtendedとApplebot-Extendedがサイトを訪問することはありません。これらのルールは、GooglebotやApplebotがすでにクロールしたコンテンツをAI学習に使ってよいかだけを制御します。各行には「許可」「ブロック」「不明」のいずれかが表示されます。

ファイアウォールテスト。 次に、OpenAIがGPTBot用として公開しているユーザーエージェント(GPTBot/1.4)で、リダイレクトを追跡せずに同じページをもう一度リクエストします。通常の訪問が成功(ステータスが400未満)したのに、このリクエストが401、403、429、503になった場合、GPTBotと名乗るリクエストが拒否されたと警告します。このリクエストはOpenAIのIPアドレスから送られていないため、本物のクローラーは異なる扱いを受ける可能性があります。

JavaScriptなしのコンテンツ(優先度:中)。 メニューやフッターを除いた本文の語数を、生のHTMLから数えます。80語未満で、かつページに空のアプリコンテナ(<div id="root">、app、__next、__nuxt、svelte)があるか、外部スクリプトが3つ以上読み込まれている場合は、JavaScriptを実行しないクローラーには空のページに見える可能性があると警告します。

robots.txt(優先度:中)。 3つ目の重点チェックでは、robots.txtが存在するか、サーバーエラーやHTMLページを返していないか、Googlebotをトップページまたは入力したページからブロックしていないかを報告します。このファイルの詳細はrobots.txtガイドで解説しています。

ステータスの判定ルール。 7つの検索トークンのいずれかがブロックされている場合、またはrobots.txtに到達できない場合、AIクローラーのアクセスは不合格になります。ファイアウォールテストが拒否された場合は警告です。学習クローラーやオプトアウトトークンのブロックは一覧に表示されますが、正当な選択なのでチェックは合格のままです。

チェッカーがテストしないこと

限界を知っておくと、緑の結果を過信せずに済みます。

結果の読み方

レポートのメッセージ意味対処
すべてのAIクローラーが許可されています。そのページで検索・学習のトークンはブロックされておらず、ファイアウォールテストも通過した学習をオプトアウトしたい場合を除き、対応は不要
AI検索クローラーは許可されています。N個のAI学習クローラーまたはオプトアウトトークンがブロックされています(意図した設定)。検索のアクセスは問題なく、学習は制限されている学習のブロックが意図したものか確認する
robots.txtがN個のAI検索クローラーをブロックしています。少なくとも1つの検索またはユーザーフェッチのトークンがページを読めないrobots.txtのグループを修正する(下記のステップ1)
robots.txtを読み取れなかったため、クローラーはサイト全体をブロックとして扱います。robots.txtが5xxまたは429を返したか、応答がなかったファイルのサーバーレスポンスを直す(ステップ5)
GPTBotと名乗るリクエストがステータス403で拒否されました。…通常の訪問は成功したが、GPTBot名のリクエストは拒否された。強い兆候だが証明ではないボット対策とWAFのルールを確認する(ステップ2)
JavaScriptの実行前に表示される語数はN語のみです。生のHTMLがほぼ空主要ページをサーバーレンダリングする(ステップ4)

AIクローラーの行の下の表には、各トークンがラベル付きで「許可」「ブロック」「不明」と表示されます。A+からFまでの総合グレードは38項目すべてが対象で、優先度で重み付けされます。優先度「高」は10点、「中」は5点、「低」は2点で、警告は半分の点が入り、情報のみの結果は除外されます。「まず修正すべき項目」には最大8件の問題が優先度の高い順に並びます。各行には、同じチェックに合格している監査済みサイトの割合も表示され、その問題が珍しいのか一般的なのかが分かります。

チェッカーが報告するすべての問題の直し方

1. robots.txtがAI検索クローラーをブロックしている

https://yourdomain.com/robots.txtを開き、ブロックされた各トークンに適用されるグループ(名指しするグループ、なければ*)を探します。そのうえで方針を決め、明示的に書きます。次のファイルは、AI検索とユーザーフェッチを許可し、学習をブロックし、それ以外にはこれまでどおりのルールを維持します。

# AI search and user-requested fetches
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
Allow: /

# Model training
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
Disallow: /

# Everyone else, including Googlebot and Bingbot
User-agent: *
Disallow: /admin/

Sitemap: https://www.example.com/sitemap.xml

手順は次のとおりです。

2. ファイアウォールがクローラーを拒否した

ファイアウォールがIPでボットを検証していて、警告の原因が当社の未検証リクエストだと確信できる場合も、ログで確認してください。OpenAIのレンジからの本物のリクエストは200を受け取っているはずです。

3. 学習クローラーがブロックされている

これは報告されますが、不合格とはカウントされません。確認すべきは2点です。1つ目は、そのブロックが意図したものかどうかです。Google-Extendedをブロックすると、Geminiアプリでのグラウンディングからもコンテンツが外れます。Applebot-Extendedのブロックが影響するのは学習のみで、Appleの検索機能には影響しません。2つ目は、ブロックが*ではなく名前付きグループに書かれているかどうかです。*に書くと検索クローラーまで対象になってしまいます。

4. JavaScriptの実行前に表示される語数がわずかしかない

5. robots.txtがない、またはGoogleをブロックしている

チェッカーはこれらのケースを区別します。「robots.txtファイルが見つかりません」は404などの4xxを意味し、害はありません。クローラーは「制限なし」として扱います。「robots.txtがステータスNで応答しています」や「到達できませんでした」は、5xx、429、タイムアウトを意味し、深刻です。RFC 9309では、クローラーはその場合、完全なdisallowを想定しなければならないとされ、Googleは最初の12時間クロールを停止します(Google's robots.txt specification)。/robots.txtが、プレーンテキストで200を返す(ルールが不要なら404でもよい)ようサーバーを修正し、curl -I https://yourdomain.com/robots.txtで確認してください。HTMLページを返すrobots.txtもフラグが立ちます。robots.txtがGooglebotを/からブロックしている場合は、それを最優先で直してください。GoogleのAI機能がブロックされ、Appleのフォールバックを通じてApplebotもブロックされます。

ログでクローラーを検証する

「GPTBot」と名乗るリクエストは誰でも送れます。ファイアウォールでボットを通す前、あるいは負荷の原因をボットのせいにする前に、検証しましょう。

具体例(仮想)

以下は仮想の例であり、実際のデータではありません。架空のB2Bダッシュボードツール、Larkspur Analyticsは、ChatGPTが2024年のレビューサイトをもとに自社の料金を説明していることに気づきました。AIクローラーチェッカーの結果は次のとおりです。

チェック結果
AIクローラーのアクセス警告:「GPTBotと名乗るリクエストがステータス403で拒否されました」
AIクローラーの各行GPTBot、ClaudeBot、CCBotがブロック(学習)。検索トークンはすべて許可
JavaScriptなしのコンテンツ警告:JavaScriptの実行前に表示される語数は41語
robots.txt合格

robots.txtに問題はなく、学習のブロックはチームが意図したものでした。403の原因は、スクレイピング被害の際に外部の担当者が有効にしたボット対策ルールで、「bot」を含むすべてのユーザーエージェントに一致していました。対応は次のとおりです。

20分でできるAIクローラーのチェックリスト

SearviaでAIクローラー対策を進める

無料のAIクローラーチェッカーは、AIクローラーと検索クローラー10種、学習オプトアウトトークン2種についてのrobots.txtの状況、ファイアウォールテスト、JavaScriptチェックを1回の実行で提供し、共有できるレポートも作成します。より広範なAI検索対応チェッカーでは、llms.txt、アイデンティティのマークアップ、質問と回答のコンテンツ、鮮度も確認できます。サイトがCloudflareで動いている場合は、読み取り専用トークンでCloudflareを連携してください。ウェブサイトプロジェクトのAIクローラータブに、実際にどのAIクローラーが、どれくらいの頻度で、どのページを読んでいるかが表示され、偽のクローラーは除外されます。アクセスは最初の一歩にすぎません。その後はAI可視性トラッキングが、ChatGPT、Gemini、Perplexityなどのアシスタントが実際にあなたに言及・引用しているかを毎週確認します。まずは料金ページから無料プランを始めましょう。

よくあるご質問

AIクローラーとは何ですか?
AIクローラーは、AI企業が運用してウェブページを取得する自動クライアントです。アシスタントが回答で引用できるようページをインデックスするもの(OAI-SearchBot、Claude-SearchBot、PerplexityBot)、将来のモデルの学習に使われる可能性のあるテキストを収集するもの(GPTBot、ClaudeBot、CCBot)、ユーザーが質問したときだけページを取得するもの(ChatGPT-User、Claude-User、Perplexity-User)があります。それぞれ固有のユーザーエージェントトークンを持ち、robots.txtで個別に指定できます。
GPTBotをブロックすると、ChatGPT検索からサイトが消えますか?
いいえ。OpenAIは別々のクローラーを使っています。GPTBotはモデルの学習に使われる可能性のあるコンテンツを収集し、OAI-SearchBotはChatGPT検索にウェブサイトを表示します。OpenAIによると、OAI-SearchBotをオプトアウトしたサイトはChatGPT検索の回答に表示されませんが、GPTBotだけをブロックするのは学習に関する判断であり、検索には影響しません。
ClaudeBotはブロックすべきですか?
公開コンテンツを学習に使われたくないかどうか次第です。Anthropicによると、ClaudeBotは学習に寄与しうるコンテンツを収集し、ブロックすると今後の素材が学習データセットから除外されます。Claudeでの検索上の可視性はClaude-SearchBotとClaude-Userに左右され、これらはrobots.txtで別に許可できます。
AIクローラーはrobots.txtを守りますか?
OpenAI、Anthropic、Perplexity、Common Crawlの検索クローラーと学習クローラーは、robots.txtに従うと文書化されています。ユーザー起点のフェッチャーは異なります。OpenAIはChatGPT-Userにはrobots.txtのルールが適用されない場合があるとし、Perplexityはユーザーがページを要求したためPerplexity-Userは通常robots.txtを無視するとしています。AnthropicはClaude-Userをrobots.txtで無効にできるとしています。robots.txtはあくまで要請であり、アクセス制御ではありません。
ファイアウォールがAIクローラーをブロックしているかどうやって分かりますか?
クローラーが実際に何を受け取るかを確認します。当社の無料AIクローラーチェッカーは、GPTBotと名乗るリクエストを1回送り、401、403、429、503の応答があれば警告します。このリクエストはOpenAIのアドレスから送られないため、証明ではなく強い兆候として扱ってください。確証を得るには、サーバーやCDNのログで、各プロバイダーが公開しているIPレンジからの検証済みリクエストを確認するか、CloudflareをSearviaに連携して、どのAIクローラーが訪問し、どのページを読んでいるかを確認してください。

ソース

  1. Overview of OpenAI Crawlers – OpenAI
  2. Does Anthropic crawl data from the web, and how can site owners block the crawler? – Claude Help Center
  3. Perplexity Crawlers – Perplexity
  4. Google's common crawlers – Google Search Central
  5. About Applebot – Apple Support
  6. CCBot – Common Crawl
  7. AI features and your website – Google Search Central
  8. RFC 9309: Robots Exclusion Protocol – IETF
  9. How Google interprets the robots.txt specification – Google Search Central
  10. Verifying Googlebot and other Google crawlers – Google Search Central
  11. Block AI bots – Cloudflare Docs
  12. New options to manage AI traffic – Cloudflare changelog
  13. The rise of the AI crawler – Vercel
  14. How HTTP status codes, and network and DNS errors affect Google Search – Google Search Central

続きを読む