AIクローラーのrobots.txt設定|検索用と学習用を分ける
AIクローラー向けのrobots.txtを検索表示用と学習用に分けて管理する方針を、OpenAI、Google、Perplexity、RFC 9309に沿って解説します。
この記事の目次を開く
AIクローラー向けのrobots.txtは、検索表示に使う入口と、学習・生成AI機能に関わる入口を分けて書くところから始めます。 2026年8月21日時点の公式情報では、OpenAIは検索用の OAI-SearchBot と学習用途に関わる GPTBot、Googleは通常検索の Googlebot と生成AI向け制御の Google-Extended を分けています。一括拒否は避けます。検索表示の候補まで狭めることがあるためです。
robots.txtが決めるのは、クローラーがURIへアクセスする際に参照するルールです。AI回答に引用される権利や検索順位を作る文書ではありません。検索表示を残しながら学習用途を閉じたいサイト管理者は、用途、反映時間、robots.txtで制御できる範囲を照合する必要があります。
AIクローラーのrobots.txtで最初に分ける三つの対象
クローラー名の一覧から着手すると、設定はすぐ膨らみます。先に分ける対象は会社名より用途です。2026年8月21日に確認した公式情報を基準にすると、次の三つに分けると判断しやすくなります。
- 検索表示・検索インデックスに関わるクローラー
- 生成AI基盤モデルの学習に関わるクローラー
- ユーザー操作をきっかけにページを取得するユーザーエージェント
この分類を置くと、robots.txtに書くべきことが絞れます。検索表示は許可、学習用途は拒否という方針なら、検索用クローラーを開き、学習用クローラーを閉じる設定が候補になります。ユーザー起点の取得はサービスごとに扱いが分かれるため、検索クロールと同じ行で判断すると誤設定が起きます。
OpenAIの公式クローラー文書では、OAI-SearchBot はChatGPTの検索機能でWebサイトを表示するための検索用、GPTBot は生成AI基盤モデルの学習に使われる可能性があるコンテンツをクロールするためのものとされています。各設定は独立するため、OAI-SearchBot を許可しながら GPTBot を拒否する設計は公式仕様に沿っています。ChatGPT-User はユーザー操作に関わるエージェントで、検索掲載の可否を決めるタグとして扱うと意図と違う制御になります。
同じ公式文書にある OAI-AdsBot は、ChatGPTへ広告として提出されたランディングページの安全性と広告ポリシー適合性を確認するためのものです。検索掲載や学習の設定として置き換えず、広告を利用する場合だけ目的を分けて扱います。
OpenAIとGoogleは別々のつまみを見る
検索表示を維持しつつ、OpenAIの学習用途に関わるクロールを拒否したい場合、OAI-SearchBot は許可し、GPTBot は拒否する設定が出発点になります。反映待ちを見込まずにログだけを見ると、設定ミスではないものを誤認することがあります。
この設定で作れるのはクロール入口の方針です。OpenAIは、OAI-SearchBot を拒否したサイトはChatGPT検索回答に表示されず、ナビゲーショナルリンクとして現れる可能性があると説明しています。許可しても引用や流入は保証されません。
Googleでは、通常検索に関わる Googlebot と、生成AI向けの制御に使う Google-Extended を分けて読みます。Googleの公式文書は、Google-Extended が独立したプロダクトトークンであり、Google Searchへの掲載やランキングシグナルには影響しないと説明しています。個別のHTTP User-Agent文字列を持たず、既存のGoogle User-Agentでクロールしたコンテンツの利用可否をrobots.txt上で制御する仕組みです。
LLMOやAIOでは、robots.txtだけで完結させず、本文、構造化データ、著者・運営者情報、更新履歴も合わせて見ます。llms.txt を併用する考え方は、llms.txtの書き方でも整理しています。robots.txtはクロール可否を伝える層、llms.txt はAIが読み取りやすい案内を補助する層です。
PerplexityはPerplexityBotとユーザー起点を分けて読む
Perplexityについても、検索用とユーザー起点の取得を分けて読みます。公式ヘルプセンターは、PerplexityBot がrobots.txtを尊重し、拒否されたサイトの全文または一部のテキストコンテンツをインデックスしないと説明しています。ブロックされたページでも、ドメイン、見出し、短い事実要約をインデックスする場合がある点は見落とせません。
開発者向け文書では、PerplexityBot はPerplexityの検索結果でWebサイトを表示・リンクするためのクローラーであり、AI基盤モデルの学習には使われないとされています。許可は掲載保証というより、検索表示の候補から自分のサイトを外さないための設定です。
Perplexity-User はユーザーの質問に応じてページを取得するためのユーザーエージェントです。開発者向け文書では、この取得は一般にrobots.txtを無視するとされています。一方、2026年7月16日更新のヘルプセンターは、特定URLを直接要約するときにrobots.txtの制限を回避していた従来の仕組みを無効化し、PerplexityBot と提携先のクローラーがrobots.txtへ準拠すると案内しています。文書が扱うエージェントと取得経路が異なるため、一つの設定ですべてのユーザー起点取得を制御できるとは断定せず、非公開領域は認証と認可で守ります。
Perplexity検索に表示される可能性を残したいなら、少なくとも PerplexityBot を無差別に拒否しない設計が候補になります。非公開情報の保護はrobots.txtに任せられません。robots.txtは公開ファイルなので、非公開領域は認証、認可、レスポンス制御で守る必要があります。
CotomuのLLMO/AIO支援では、LLMO診断、実装込みパッケージ、伴走プランの範囲でこうした設定を確認します。AI回答での引用、検索順位、流入は保証せず、制御できる範囲を切り分けて扱います。
RFC 9309で確認すべき範囲
RFC 9309はRobots Exclusion Protocolを標準化した文書です。確認できるのは、クローラーがrobots.txtをどう見つけ、どう解釈するかです。AI検索に引用される条件や、学習データ除外を法的に保証する条件までは扱いません。
実務で確認したい点は、次の四つです。
/robots.txtはサービスのトップレベルに小文字で置くUser-agentの一致は大文字小文字を区別せず、同じエージェントに一致する複数グループは結合されるAllowとDisallowは最も具体的に一致するパスが使われ、同等ならAllowが優先される- robots.txtの取得に失敗した状態によって、クローラーがアクセス可能とみなす場合と完全拒否とみなす場合がある
同じ User-agent を何度も分散して書く運用は避けたいところです。RFC上は結合されますが、CMS、CDN、プラグイン、手書き設定が重なると、意図しない Allow が後から効いているように見えることがあります。
ステータスコードも重要です。RFC 9309では、robots.txtがHTTPの400番台などで「利用不可」と判断される場合、クローラーは任意のリソースにアクセスできる可能性があります。500番台などで到達不能な場合は、完全拒否とみなす必要があります。
誤設定を避ける管理手順
管理手順は、複雑な一覧表を作るより、目的ごとに小さく分けたほうが安定します。
- 検索表示を残したいAIサービスを選ぶ
- 学習用途を拒否したいクローラーを選ぶ
- ユーザー起点の取得をrobots.txtで制御できるか、各社公式情報で確認する
- robots.txt、CDN、WAF、Basic認証、noindexを別々に点検する
- 反映後24時間程度はログを見ながら、設定変更直後の揺れと恒常的な問題を分ける
この手順で見ると、robots.txtはAI対策全体のうち「クロール入口のポリシー」にあたります。AI回答での見え方を改善したいなら、検索用クローラーを必要以上に閉じず、回答で参照されやすい情報設計も整えます。LLMO対策全体の整理は、LLMO対策とはで扱っています。
実務で使いやすい最小構成を置いておきます。OpenAIの検索表示、Google検索、Perplexity検索の入口を残し、OpenAIの学習用途とGoogleの生成AI向け利用は閉じるという前提です。
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Disallow: /
User-agent: Googlebot
Allow: /
User-agent: Google-Extended
Disallow: /
User-agent: PerplexityBot
Allow: /
User-agent: *
Disallow:
User-agent: * の空の Disallow は、明示的に全体を許可する書き方です。既存の個別ルールがあるサイトでは、そのまま貼り付けず、結合結果を確認してください。
AIクローラー向けのrobots.txtを設定するときは、拒否を強くするほど安全になるという単純な話ではありません。検索用を閉じれば発見されにくくなり、学習用を開けば意図しない利用懸念が残ります。一括拒否より、用途別に管理します。検索用、学習用、ユーザー起点を分け、robots.txtで制御できる範囲と保証できない範囲を明示する。その方針を設定へ反映すれば、サイト管理者の意図に沿うrobots.txtになります。
参照した公式情報
- OpenAI Crawlers
- Google's common crawlers
- Perplexity Crawlers
- How does Perplexity follow robots.txt?
- RFC 9309: Robots Exclusion Protocol