OAI-SearchBotは、ChatGPTの検索機能で検索結果にサイトを表示するために使われるOpenAIのクローラーです。一方のGPTBotは、OpenAIの生成AI基盤モデルをより有用で安全にするために使われます。GPTBotへのアクセスを拒否すると、サイトの内容を基盤モデルの学習に使わないという意思表示になります。どちらのクローラーもrobots.txtにおいてUser-agentごとに許可・拒否を設定できます。OpenAIのクローラーに関する説明(新しいタブで開きます)
ChatGPTでの検索表示と、生成AIの学習への利用は別の判断軸です。この記事では、両者とChatGPT-Userの役割、拒否した場合にOpenAIが説明していること、robots.txtの設定例と確認方法を整理します。AI検索対策の全体像はAI SEOの全体像も参照してください。
GPTBotとOAI-SearchBotの違い
OpenAIのクローラーは、用途と拒否したときの扱いがそれぞれ異なります。利用者の操作に伴う取得に使われるChatGPT-Userを含めて比べると、次のとおりです。
| クローラー | OpenAIが説明する用途 | 拒否したときにOpenAIが説明していること | User-agentに含まれるトークン | IPレンジの公開先 |
|---|---|---|---|---|
| OAI-SearchBot | ChatGPTの検索機能の検索結果にサイトを表示する | ChatGPTの検索回答に表示されない | OAI-SearchBot/1.4 | searchbot.json(新しいタブで開きます) |
| GPTBot | 生成AI基盤モデルをより有用で安全にする | 基盤モデルの学習にサイトの内容を使わないという意思表示になる | GPTBot/1.4 | gptbot.json(新しいタブで開きます) |
| ChatGPT-User | ChatGPTやCustom GPTsでのある種の利用者操作に使う。自動的なWebクロールには使わない | 利用者の操作に起因するため、robots.txtの規則が適用されないことがある | ChatGPT-User/1.0 | chatgpt-user.json(新しいタブで開きます) |
実際のアクセスにおけるUser-agent文字列には、表のトークン以外の情報も含まれます。なお、この表はOpenAIの説明を要約したものであり、許可した場合の検索表示や学習の扱いを保証するものではありません。OpenAIのクローラーに関する説明(新しいタブで開きます)
OAI-SearchBotとは
OAI-SearchBotは、ChatGPTの検索機能において検索結果にサイトを表示するためのクローラーです。OpenAIの説明は次のとおりです。
- このクローラーを拒否したサイトは、ChatGPTの検索回答に表示されません。OpenAIのクローラーに関する説明(新しいタブで開きます)
- OpenAIのFAQ(ブラウザでのChatGPTの検索結果やChatGPT Atlasについての回答)では、ChatGPTの要約やスニペットにサイトの内容を含めるには、OAI-SearchBotをブロックしないよう案内しています。必要に応じてrobots.txtを更新し、アクセスを許可するよう説明しています。
- 公開されているWebサイトはどれもChatGPT検索に表示され得るとしています。Publishers and Developers FAQ(新しいタブで開きます)
ただし、許可すれば必ず表示されるという意味ではありません。User-agent文字列の例は次のとおりです。
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot
GPTBotとは
GPTBotは、OpenAIの生成AI基盤モデルをより有用で安全にするために使われるクローラーです。OpenAIの説明は次のとおりです。
- GPTBotへのアクセス拒否は、サイトの内容を基盤モデルの学習に使わない意思表示になります。OpenAIのクローラーに関する説明(新しいタブで開きます)
- 学習から除外したいサイトやページでは、GPTBotのUser-agentを拒否するよう案内しています。
- ChatGPT Atlasで利用者の操作を通じて取得されたコンテンツに対しても、この意思表示を尊重するとしています。
- 利用者が学習にオプトインしている場合でも、GPTBotをオプトアウトしたWebページは学習に使われないとしています。Publishers and Developers FAQ(新しいタブで開きます)
User-agent文字列の例は次のとおりです。
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot
ChatGPT-Userの位置づけ
ChatGPT-Userは、ChatGPTやCustom GPTsでのある種の利用者操作に使われるもので、自動的なWebクロールには使われません。OpenAIは、利用者の操作に起因するため、robots.txtの規則が適用されないことがあると説明しています。OpenAIのクローラーに関する説明(新しいタブで開きます)
拒否した場合の影響
拒否したときの扱いは、クローラーごとに異なります。また、robots.txtで拒否しても、ChatGPT上から完全に消えるとは限りません。
OAI-SearchBotを拒否した場合
OpenAIの説明によれば、サイトはChatGPTの検索回答に表示されなくなります。OpenAIのクローラーに関する説明(新しいタブで開きます)
GPTBotを拒否した場合
GPTBotの拒否は、基盤モデルの学習に使わないという意思表示として説明されています。検索表示との関係は次のとおりです。
- OpenAIは、OAI-SearchBotとGPTBotの設定は互いに独立していると説明しています。例として、OAI-SearchBotを許可して検索結果に表示させながら、GPTBotを拒否して学習に使わない意思を示せるとしています。
- robots.txtの仕様上も、クローラーは自身のproduct token(User-agent名)に一致するグループの規則に従うため、この独立性と整合しています。OpenAIのクローラーに関する説明(新しいタブで開きます) RFC 9309(新しいタブで開きます)
- 当社でも、学習用クローラーをブロックしても検索用クローラーの表示には影響しないという前提で運用しています。これは、OpenAIが説明する両クローラーの独立性と一致する運用方針です。当社サイトのrobots.txt(新しいタブで開きます)
拒否してもリンクとタイトルが表示される場合
OpenAIはChatGPT Atlasについて、次のように説明しています。Publishers and Developers FAQ(新しいタブで開きます)
- アクセスを拒否したページであっても、第三者の検索プロバイダなどからURLを取得して質問との関連性が認められた場合は、リンクとページタイトルのみを表示することがあります。
- これを防ぎたい場合はnoindexを使うよう案内されています。ただし、クローラーがnoindexを読み取るには、対象ページのクロールが許可されている必要があります。
Googleも同様に、noindexを有効にするにはページがrobots.txtでブロックされていない必要があると説明しています。なお、これはGoogle検索に関する説明です。Google検索セントラルのnoindexに関する説明(新しいタブで開きます)
robots.txtの設定例
robots.txtでは、User-agentごとにクロールを許可・拒否する範囲を指定できます。目的別の設定例は次のとおりです。
OpenAIのクローラーをすべて許可する
*のグループで全クローラーへの許可を示します。当社のrobots.txtもこの方針を採用しており、個別のUser-agentグループは設けていません。当社サイトのrobots.txt(新しいタブで開きます)
User-agent: *
Allow: /
GPTBotだけを拒否する
GPTBotのみを拒否し、OAI-SearchBotは*の規則に従わせます。
User-agent: *
Allow: /
User-agent: GPTBot
Disallow: /
検索用のOAI-SearchBotも拒否する
GPTBotに加えて、OAI-SearchBotも拒否します。
User-agent: *
Allow: /
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
設定するときの注意
- 一致するUser-agentのグループがない場合、RFC 9309では、存在すれば
*のグループに従うと定めています。当社の運用では、個別のグループを追加するとそのクローラーに*の規則が効かなくなるため、現在は個別のグループを設けていません。RFC 9309(新しいタブで開きます) - OpenAIは、検索結果への反映はrobots.txtの更新から約24時間かかることがあると説明しています。OpenAIのクローラーに関する説明(新しいタブで開きます)
robots.txtの基本的な考え方はAIクローラーとrobots.txtの考え方を参照してください。
確認方法
robots.txtの設定後は、公開中のファイルを確認するとともに、Webサーバーの前段にあるCDNやWAFで対象クローラーをブロックしていないかも点検します。確認の手順は次のとおりです。
- ブラウザーなどで公開中の
/robots.txtを開き、意図したUser-agentとルールが反映されているかを確認します。 - CDNやWAFの設定を点検します。当社の運用上の注意として、robots.txtとは別にCloudflare側のWAFやボット関連の設定も点検項目に含めています。
- アクセスログで確認する場合は、OpenAIがJSON形式で公開している各クローラーのIPレンジを参照しながら、ログのUser-agentや接続元などを確認します。OpenAIのクローラーに関する説明(新しいタブで開きます)
User-agentを名乗るだけのcurlアクセスは、Cloudflareによる検証済みボットの判定と結果が異なることがあります。そのため、User-agentを指定した応答結果だけで、正規クローラーの到達可否を判断するのは避けます。
OAI-SearchBotを許可した発行者は、ChatGPTからの参照トラフィックを分析ツールで追跡できます。OpenAIによると、参照URLにはutm_source=chatgpt.comが自動で付与されます。Publishers and Developers FAQ(新しいタブで開きます)
AI検索対策の支援内容についてはAI検索対策の支援をご覧ください。
よくある質問
GPTBotを拒否するとChatGPTの検索に表示されなくなりますか?
OpenAIは、GPTBotの拒否を基盤モデルの学習に使わない意思表示であると説明しており、OAI-SearchBotとGPTBotの設定は互いに独立している点も明記しています。OAI-SearchBotを許可したままGPTBotを拒否すれば、検索結果には表示させながら、学習に使わない意思を示せるとしています。ただし、検索結果への表示が保証されるわけではありません。OpenAIのクローラーに関する説明(新しいタブで開きます)
OAI-SearchBotを許可すればChatGPTに引用されますか?
許可しても、ChatGPTの検索回答や要約・スニペットに必ず表示されるとは限りません。OpenAIは、公開サイトはどれも検索に表示され得ることや、要約・スニペットに含まれるにはOAI-SearchBotをブロックしないよう案内しています。Publishers and Developers FAQ(新しいタブで開きます)
robots.txtを変えてからどのくらいで反映されますか?
OpenAIは、robots.txtの更新が検索結果へ反映されるまでに、約24時間かかることがあると説明しています。OpenAIのクローラーに関する説明(新しいタブで開きます)
ChatGPT-Userもrobots.txtで止められますか?
ChatGPT-Userは利用者の操作に伴って使われるため、robots.txtの規則が適用されないことがあります。ただし、常に適用されないと説明されているわけではありません。OpenAIのクローラーに関する説明(新しいタブで開きます)
本文の仕様や数値は、OpenAIの公式開発者向け資料・ヘルプとRFC 9309、Google検索セントラル、当社サイトの設定・運用資料に基づきます。独自の調査・効果検証の結果は含みません。