OAI-SearchBotとは?GPTBotとの違いとrobots.txt設定
OAI-SearchBot は、OpenAI が ChatGPT の検索機能にサイトを表示するために使うクローラーです。名前が似た GPTBot(学習用)や ChatGPT-User(ユーザー操作によるアクセス)と混同すると、学習を拒否したつもりで検索への表示まで止めてしまう、といった設定ミスが起こります。
結論から言うと、ChatGPT の検索結果に表示されたいなら、robots.txt で OAI-SearchBot を許可し、CDN や WAF で OpenAI の公開 IP を弾かないことが前提です。学習に使われたくない場合は GPTBot だけを拒否すれば、検索への表示とは別に止められます。ChatGPT-User はユーザーの操作によるアクセスで robots.txt が適用されない場合があり、OAI-AdsBot は ChatGPT 広告のランディングページ確認用です。robots.txt の変更は反映まで約 24 時間かかります(OpenAI の crawler overview)。
本記事のポイント
- OAI-SearchBotはChatGPTの検索機能にサイトを表示するためのクローラーで、学習用のGPTBotとは設定が独立しています。
- 検索に出しつつ学習を拒否するなら、robots.txtでOAI-SearchBotを許可してGPTBotだけを拒否し、OpenAIの公開IPをCDNやWAFで通します。
- ChatGPT-Userはユーザー操作によるアクセスでrobots.txtが効かない場合があり、表示されないときはrobots.txt、CDNの既定設定、反映待ち約24時間を順に確認します。
OAI-SearchBotとは何か。GPTBot・ChatGPT-User との違い
OpenAI の公式ドキュメントでは、crawler の役割は用途ごとに分かれています。OAI-SearchBot は ChatGPT Search でサイトを表示するための crawler、GPTBot は生成 AI 基盤モデルの学習用 crawler、ChatGPT-User はユーザーや Custom GPT の操作に応じてページへアクセスする user agent です。したがって、Search に載りたいか、学習を許可するか、ユーザー起点アクセスをどう扱うかは、別々に考える必要があります。
この違いを混同すると、たとえば GPTBot を disallow しただけで Search にも出なくなると誤解したり、逆に OAI-SearchBot を止めているのに「なぜ ChatGPT Search に載らないのか」と本文改善ばかり見てしまったりします。OpenAI は ChatGPT Search ヘルプ でも、掲載対象となる前提として OAI-SearchBot のクロール許可と公開 IP の許可を案内しています。
| user agent | 主な役割 | robots.txt | 実務で見るべき点 |
|---|---|---|---|
| OAI-SearchBot | ChatGPT の検索機能にサイトを表示するためのクロール | 適用される | robots.txt と CDN / WAF で通っているか |
| GPTBot | 生成 AI 基盤モデルの学習に使う可能性のあるクロール | 適用される | 学習利用を許可するかどうか |
| ChatGPT-User | ChatGPT や GPT でユーザーが操作したときのアクセス(自動クロールではない) | 適用されない場合がある | 検索への表示とは関係しない。アクセス制御は WAF などで考える |
| OAI-AdsBot | ChatGPT 広告として申請されたランディングページの安全確認 | ドキュメントに記載なし | 広告を出すなら、申請したページに到達できるか |
OpenAI は各 bot の IP 範囲を公開しています(OAI-SearchBot は https://openai.com/searchbot.json、GPTBot は gptbot.json、ChatGPT-User は chatgpt-user.json、OAI-AdsBot は adsbot.json)。なお、OAI-SearchBot と GPTBot の両方を許可している場合、OpenAI は1回のクロール結果を両方の目的に使うことがあります。
ChatGPT Search に出るかを見たいときは、まず OAI-SearchBot を見ます。GPTBot と ChatGPT-User は別の問いです。
AIクローラー管理はSearch・Agent・Trainingで分ける
OAI-SearchBot、GPTBot、ChatGPT-User の違いは、OpenAI だけの個別設定ではありません。AI検索やAIエージェントが広がるほど、サイト側では「検索に出すためのクロール」「ユーザーの依頼でページを開くアクセス」「モデル学習のためのクロール」を分けて扱う必要が出てきます。
Cloudflare は 2026年7月1日の公式発表で、AI traffic を Search、Agent、Training の3分類で管理する考え方を示しました。発表では、Search はコンテンツを索引化して後から回答に使う動き、Agent は人の依頼を実行するためのリアルタイムなアクセス、Training はモデルの学習や微調整のためにコンテンツを取り込む動きとして整理されています。これは、OAI-SearchBot、GPTBot、ChatGPT-User を別々に見る実務感覚と近い分類です。
| 管理単位 | 代表的な見方 | BtoBサイトでの判断 |
|---|---|---|
| Search | 検索やAI回答で見つけてもらうためのクロール | 公開記事、比較表、FAQ、製品情報は許可を基本にし、noindex対象だけを分ける |
| Agent | ユーザーの依頼でページを開く、フォーム確認や購買補助などのアクセス | 問い合わせフォーム、ログイン前ページ、価格表では悪用対策と正規アクセスの両立を見る |
| Training | モデル学習や微調整のためにコンテンツを取り込むクロール | 検索掲載とは別に、学習利用を許可するかを法務・ブランド方針として決める |
Cloudflare を使っているサイトでは、既定の設定も確認が必要です。同社の発表では、2026年9月15日から、新しく Cloudflare に追加されたドメインの広告を表示するページで Training と Agent の bot を既定でブロックし、Search は許可する設定になります(既存の利用者は、自分で変えない限り現在の設定が維持されます)。また、Training をブロックすると、Googlebot のように複数の目的を兼ねるクローラーもブロックされると説明されています。意図せず検索系のクローラーまで止めていないか、Cloudflare の設定で確認します。
この分類で見ると、robots.txt の設定だけで完結させない方が安全です。たとえば ChatGPT Search に出したいページは OAI-SearchBot を通しつつ、学習用の GPTBot は止める。さらに CDN や WAF では、正規の Search crawler まで一括で弾かないようにする。逆に、フォームや管理画面に近い領域では、ユーザー代理の Agent アクセスをどこまで許可するかを別に決める。このように、公開ページ、フォーム、会員・管理領域で設定方針を分けると、AI検索の露出とデータ保護を両立しやすくなります。
robots.txt と noindex をどう設定すべきか
OAI-SearchBot を許可したいなら、robots.txt 側で明示的に妨げないことが出発点です。OpenAI のドキュメントでは、OAI-SearchBot を拒否したサイトは ChatGPT の検索回答には表示されないものの、ナビゲーション用のリンクとしては表示される可能性があると案内されています。これ自体も避けたいなら noindex を使う必要がありますが、meta を読ませるためには crawler を通す必要がある、という順序になります。
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Disallow: /
上のように、Search と学習を分けて扱うのが典型です。反対に、ChatGPT Search への表示を止めたい場合は OAI-SearchBot を disallow します。ただし、Google の canonical 設計と同じ感覚で robots.txt を何でも管理用に使うのではなく、ここでは crawl 許可 と crawl 拒否 に役割を限定した方が安全です。
| やりたいこと | robots.txt の書き方 |
|---|---|
| 検索には出し、学習には使わせない | User-agent: OAI-SearchBot / Allow: / と User-agent: GPTBot / Disallow: / |
| 検索にも学習にも使わせない | OAI-SearchBot と GPTBot の両方を Disallow: / |
| 一部のディレクトリだけ検索から外す | User-agent: OAI-SearchBot / Disallow: /members/ のようにパスを指定 |
ChatGPT-User はユーザーの操作によるアクセスのため、robots.txt で止められない場合があります。会員ページや管理画面など、ユーザー経由でも開かせたくない領域は、robots.txt ではなくログインなどのアクセス制御で守ります。
公開後に確認すべきポイント
OpenAI の crawler docs では、robots.txt 更新後に反映が調整されるまでおよそ 24 時間かかることがあると案内されています。したがって、変更直後に 1 回見て終わりではなく、公開、反映待ち、再確認までをセットで運用した方が確実です。
- robots.txt で OAI-SearchBot を意図どおり allow / disallow しているかを確認する。
- CDN や WAF で OpenAI 公開 IP 範囲を不要に弾いていないかを見る。
- Cloudflare などの CDN で、AI クローラーを用途別にブロックする既定設定が入っていないかを見る。
- Search に出したいページが public で、noindex や認証壁に入っていないかを見る。
- 変更後すぐに結論を出さず、反映までの待ち時間を見込んで再確認する。
- そのうえで、ChatGPT Search流入計測 側で実際の referral を見る。
| 確認項目 | 見る理由 | よくある詰まり |
|---|---|---|
| robots.txt | OAI-SearchBot が通れる前提を作る | GPTBot と同じルールで止めてしまう |
| CDN / WAF | 公開 IP からの到達性を確保する | bot をまとめて遮断している |
| noindex | リンクだけの表示まで制御する | robots で止めて meta を読ませられない |
| 反映待ち | 設定変更の誤判定を防ぐ | 変更直後に未反映を失敗と見なす |
OAI-SearchBot 設定で起こりやすい失敗
- GPTBot を止めれば Search も止まる、あるいはその逆だと誤解する。
- robots.txt では許可しているのに、CDN や WAF 側で公開 IP を弾いている。
- noindex を使いたいのに crawler 自体を止めてしまい、meta を読ませられない。
- 公開条件だけ整えて、本文の比較軸や責任主体を見直さないまま終える(ChatGPT 検索で表示されるための条件も確認する)。
よくある質問
OAI-SearchBotを許可すれば必ず ChatGPT Search に表示されますか?
必ずではありません。OpenAI も複数要因で決まると案内しており、許可はあくまで前提条件です。
GPTBot を止めても ChatGPT Search に出せますか?
はい。OpenAI の crawler docs では設定は独立していると案内されています。
ChatGPT-User も robots.txt で管理すべきですか?
ChatGPT-User はユーザーの操作によるアクセスで、OpenAI は robots.txt が適用されない場合があると説明しています。また、ChatGPT の検索に表示されるかどうかは ChatGPT-User では決まりません。検索への表示は OAI-SearchBot、学習は GPTBot で管理し、ユーザー経由のアクセスを止めたい領域はログインなどのアクセス制御で守ります。
AIクローラーはSearch・Agent・Trainingで分けるべきですか?
分けるべきです。検索に出すためのクロール、ユーザーの依頼でページを開くアクセス、モデル学習のためのクロールは目的もリスクも違います。公開記事はSearchを通し、学習利用は別に判断し、フォームやログイン周辺ではAgentアクセスの扱いを個別に決めると整理しやすくなります。
OAI-SearchBot を disallow してもリンクが表示されることはありますか?
あります。OpenAI のドキュメントでは、OAI-SearchBot を拒否したサイトは ChatGPT の検索回答には表示されないものの、ナビゲーション用のリンクとしては表示される可能性があると案内されています。
OAI-AdsBot とは何ですか?
ChatGPT に広告として申請されたランディングページの安全性を確認するための OpenAI のクローラーです。申請されたページだけを訪れ、取得したデータは基盤モデルの学習には使われないと説明されています。ChatGPT 広告を出す場合は、申請したページに到達できるかを確認します。