AIクローラーのrobots.txt設定は「用途」で分ける

AIクローラーのrobots.txt設定は、会社ごとではなく用途ごとに決めます。同じ会社でも、学習用、検索用、利用者の操作で動く取得用で名前が分かれており、拒否したときの影響が違うからです。robots.txtは、サイトの最上位に置くクローラーへの指示ファイルです。

2026年10月23日に各社の公式文書で確かめた名前と用途は、次のとおりです。

会社学習用検索用利用者の操作で取得
OpenAIGPTBotOAI-SearchBotChatGPT-User
AnthropicClaudeBotClaude-SearchBotClaude-User
GoogleGoogle-Extended(学習とGeminiのグラウンディングへの利用を指定)GooglebotGoogle-Agent・Google-GeminiNotebook
Perplexityなし(PerplexityBotは学習に使わないと明記)PerplexityBotPerplexity-User
AppleApplebot-Extended(基盤モデルの学習への利用を指定)Applebotなし

Google-ExtendedとApplebot-Extendedは、実際にページを読みに来るクローラーではありません。GooglebotやApplebotが集めた情報を学習などに使ってよいかを、robots.txtで伝えるための名前です。

AIクローラーの3つの用途
学習用だけを拒否しても、検索用のクローラーが読めればAI検索には表示されます

参考:OpenAI:Overview of OpenAI Crawlers

学習だけ拒否し検索は残すrobots.txtの書き方

学習だけ拒否し検索は残すには、学習用の名前だけを並べて「Disallow: /」を書き、検索用の名前は書きません。検索用のクローラーは自分の名前のグループがなければ「User-agent: *」の指定に従うため、今の設定のまま読めます。

次の表は、そのまま使える記述例です。表の1行が、robots.txtの2行分に当たります。たとえば表の1行目は、ファイルに「User-agent: GPTBot」と書き、その次の行に「Disallow: /」と書きます。グループの間には空行を1行入れると読みやすくなります。

1行目2行目意味
User-agent: GPTBotDisallow: /OpenAIの学習用を全ページ拒否
User-agent: ClaudeBotDisallow: /Anthropicの学習用を全ページ拒否
User-agent: Google-ExtendedDisallow: /Geminiの学習とグラウンディングへの利用を拒否
User-agent: Applebot-ExtendedDisallow: /Appleの基盤モデルの学習への利用を拒否

ファイルの残りの部分には、今ある「User-agent: *」のグループと「Sitemap:」の行をそのまま残します。一部のページだけを断りたい場合は、「Disallow: /」の代わりに「Disallow: /members/」のように場所を書きます。

Google-Extendedだけは、学習に加えて、Geminiアプリなどでのグラウンディング(回答の根拠としての利用)もまとめて断る指定です。Googleは、Google-ExtendedがGoogle検索への掲載や順位に影響しないと明記しています。一方で、Geminiアプリの回答に自社の情報を使ってほしい場合は、Google-Extendedを表から外すかどうかを検討します。

参考:Google:Google の一般的なクローラー(Google-Extended)

「User-agent: *」の指定が引き継がれない落とし穴

個別の名前のグループを書くと、そのクローラーには「User-agent: *」のグループの指定が適用されなくなります。Googleのrobots.txtの解説は、1つのクローラーに有効なグループは1つだけで、個別のグループとすべてのクローラー向けのグループは結合されないと説明しています。robots.txtの標準仕様(RFC 9309)も、自分の名前のグループがないときに限って、すべてのクローラー向けのグループに従うと定めています。

以下は架空の例です。管理画面を拒否しているサイトで、OAI-SearchBotを明示的に許可しようとしてグループを足したとします。

1行目2行目
User-agent: *Disallow: /admin/
User-agent: OAI-SearchBotAllow: /

この場合、OAI-SearchBotは「Disallow: /admin/」に従わず、/admin/も読めるようになります。検索用の名前のグループを作るなら、拒否したい場所をそのグループにも書き直します。上の例なら、2つ目のグループを「User-agent: OAI-SearchBot」と「Disallow: /admin/」の2行にします。

ほかにも、書き方の決まりがあります。

  • robots.txtはサイトの最上位(例:https://www.example.com/robots.txt)に置く。サブドメインごとに必要
  • User-agentの名前は大文字・小文字を区別しない。パスは区別する
  • AllowとDisallowが重なるときは、パスが長い、より具体的な指定が優先される
  • Googleが読むのは500KiBまで

参考:Google:Google による robots.txt の指定の解釈

利用者の操作による取得は会社ごとに扱いが違う

利用者の質問をきっかけにページを取りに来るクローラーは、robots.txtへの従い方が会社ごとに違います。OpenAIとPerplexityは、利用者の依頼による取得にはrobots.txtが適用されない場合があると説明しています。Googleも、Google-AgentやGoogle-GeminiNotebookなどの利用者の操作による取得では、通常はrobots.txtが無視されると説明しています。Anthropicは、自社のクローラーはrobots.txtを尊重すると説明しています。

名前robots.txtの扱い(公式文書の説明)拒否したときの影響
ChatGPT-User利用者の操作のため、適用されない場合がある検索に載るかの判断には使わないと明記
Claude-Userrobots.txtを尊重する利用者の質問に応じた取得を防ぐ。表示が減る可能性がある
Perplexity-User利用者の依頼のため、原則として従わない公式の説明なし
Google-Agent・Google-GeminiNotebook利用者の操作のため、通常は無視される公式の説明なし

検索用のクローラーを拒否した場合の扱いも、公式文書に書かれています。OpenAIは、OAI-SearchBotを拒否したサイトはChatGPTの検索回答に表示されない一方、ナビゲーション用のリンクとしては表示される場合があると説明しています。Anthropicは、Claude-SearchBotを無効にすると、検索結果での表示と精度が下がる可能性があるとしています。

参考:Anthropic:Anthropicはウェブからデータをクロールしていますか?

BingとBrave Searchには「AI専用」の名前がない

BingとBrave Searchには、robots.txtで学習用だけを止めるAI専用の名前がありません。Bingのクローラーはbingbotで、Brave Searchのクローラーは独自の名前を出さないため、robots.txtで止めると検索ごと止まります。

Bingでは、ページのmetaタグ(name="robots"のmetaタグ)に次の値を書いて、ChatやCopilotでの使われ方を調整します。nameを「bingbot」にすると、Bingだけに適用できます。

content の値ChatやCopilotでの扱い学習での扱い
noarchiveリンクしないMicrosoftの生成AIの基盤モデルの学習に使わない
nocacheURL・スニペット・タイトルだけを表示URL・タイトル・スニペットだけを使う

両方を書いた場合は、nocacheとして扱われます。Bingの検索結果から外したい場合は、noindexを使います。

Brave Searchの公式ヘルプは、Googlebotがクロールできないページは自社のクローラーもクロールしないと説明しています。robots.txtでGooglebotを止めると、Brave Searchにも載りにくくなります。AnthropicはBrave Searchを検索の委託先の1社に挙げているため、Googlebotの設定はClaudeの検索にも関わる可能性があります。

書いた後の確認:反映時間・IPアドレス・セキュリティ設定

robots.txtを書き換えたら、反映までの時間を見込み、サーバー側で止めていないかを確かめます。OpenAIは検索への反映に約24時間、Perplexityは最大24時間かかると案内しています。

会社公開しているIPアドレスの一覧反映の目安(公式)
OpenAIopenai.com/searchbot.json、openai.com/gptbot.json、openai.com/chatgpt-user.json検索は約24時間
Anthropicclaude.com/crawling/bots.json記載なし
Perplexityperplexity.com/perplexitybot.json、perplexity.com/perplexity-user.json最大24時間

確認の手順は3つです。

  1. ブラウザで自社の「/robots.txt」を開き、書いた内容がそのまま表示されるかを見る
  2. サーバーのアクセスログで、GPTBotやOAI-SearchBotなどの名前でアクセスが来ているかを見る
  3. CDNやセキュリティサービスの「ボット対策」で、検索用のクローラーを遮断していないかを見る

3は見落としやすい項目です。OpenAIは、ChatGPTの検索の掲載対象になる条件として、ホストやCDNが公開IPアドレスからのアクセスを許可していることを挙げています。Anthropicは、IPアドレスで遮断するとrobots.txtを読めなくなり、拒否の指定が正しく働かない場合があるとして、robots.txtでの指定を勧めています。

Search Consoleのrobots.txtレポートで分かるのは、Googleが取得したrobots.txtとエラーです。他社のクローラーの動きは、アクセスログで見ます。

よくある質問

参考資料

公式資料の事実と、本文の実務上の提案・架空の例を分けて記載しています。確認日:2026年10月23日(Googleの利用者の操作による取得は2026年10月25日に確認)。

自社の課題を整理する

現在の状況と目標を伺い、優先して見直す情報や施策を整理します。集客・Web制作・業務改善の支援について、curveへご相談ください。

支援について相談する →

実施や運用の支援をお探しの方へ

記事で紹介した取り組みを自社で進めたい場合は、目標・現状・運用体制に合わせて支援内容をご提案します。

集客戦略・広告・検索・SNSの支援について詳しく見る →

料金とプランを見る(デジタルマーケティングの専用ページ) →

この記事を書いた人

株式会社curve 代表取締役 野澤 孝理

株式会社curve 代表取締役

野澤 孝理

GMOインターネット株式会社を経て、株式会社エクスコアに創業メンバーとして参画し、株式会社curveを創業。デジタルマーケティングを軸に、Claude CodeやCodexを活用したサイト・LP制作、解析ツールの導入、業務システムの構築まで、「AIマーケ×AI開発・内製化」を支援しています。AIメディア「AIテックベース」を運営。

この内容を自社で相談する