「AIクローラーのrobots.txt設定、これで合っていますか?」と聞かれて、即答できる方は多くありません。
OpenAIは、自社のサービスに関わるボットを複数、公式ドキュメントで公開しています。その中でもサイト運営に直接関わるのが、GPTBot・OAI-SearchBot・ChatGPT-Userの3つです。名前がよく似ているため、「AIのボットはとりあえず全部拒否しておけば安全」と、ひとまとめにDisallowしてしまうケースを見かけます。
この記事は、この3つのボットの違いを、公式仕様にもとづいて整理したい方に向けて書きました。マーケティング部の若葉さん(新人)・高梨課長、外部コンサルの鈴木さんの会話をはさみながら、比較表・図解・robots.txtの実装例まで、順番に確認していきます。
こんなふうに調べていませんか
- 「GPTBotを拒否すればAI対策は十分」だと思っていたが、OAI-SearchBotやChatGPT-Userとの違いが分からない
- 「AIクローラー robots.txt」で調べて、結局どう書けばいいのか迷っている
この記事を読み終えたときに手に入るもの
- GPTBot・OAI-SearchBot・ChatGPT-Userの役割の違いを、自分の言葉で説明できるようになります
- 学習データ利用だけを避けて、検索表示は維持するrobots.txtの書き方が分かります
- ChatGPT-Userだけrobots.txtが効かないことがある理由が分かります
結論30秒でわかる、この記事の結論
- GPTBot・OAI-SearchBot・ChatGPT-Userは、名前が似ていても役割が異なる別々のボットです。
- GPTBotはモデルの学習用データ収集、OAI-SearchBotはChatGPT Searchの検索結果表示を担当します。
- ChatGPT-Userだけ、ユーザー操作起点のアクセスのためrobots.txtが効かない場合があります。「AIは全部拒否」と一括りにするのは危険です。
この記事では、マーケティング部の2人と、AIO/SEOの専門家・本誌監修の会話をはさみながら進めます。
- 若葉さん(新人・Web担当)— 「そもそも、それって何が違うんですか?」を聞く役
- 高梨課長(マーケ課長)— 「うちの体制で、どう設定すればいいですか?」を聞く役
- 鈴木さん(外部コンサルタント)— 答える役
01そもそもGPTBot・OAI-SearchBot・ChatGPT-Userの違いは、AI検索対策として何なんですか?
若葉さんGPTBotとOAI-SearchBotって、名前が似てて、正直これまで同じものだと思ってました…。ChatGPT-Userというのもあるんですね。
鈴木さんはい、そこは多くの方が混同するポイントです。名前は似ていますが、役割がはっきり分かれている別々のボットなんですよ。
OpenAIは、自社のサービスに関連する複数のボットを、Web担当者向けに公式ドキュメントで公開しています。このうちサイト運営に直接関わるのが、次の3種です。
- GPTBot — モデルの学習用データを集めるためのボット
- OAI-SearchBot — ChatGPT Searchの検索結果に表示するためのボット
- ChatGPT-User — ユーザーが操作した瞬間にアクセスするボット
このほか、広告に関連する「OAI-AdsBot」も公開されていますが、本記事では比較の対象外とします。
この章のまとめ
GPTBot・OAI-SearchBot・ChatGPT-Userは、学習・検索・個別アクセスという役割の異なる3つのボットです。次の章で、5つの観点から具体的に比較します。
025つの観点で比べると、役割の違いがどう見えるんですか?(GPTBotとOAI-SearchBotのAI検索での差)
GPTBot・OAI-SearchBot・ChatGPT-Userは、OpenAI公式ドキュメントの記載にもとづくと、次の5つの観点で違いが整理できます。
| 観点 | GPTBot | OAI-SearchBot | ChatGPT-User |
|---|---|---|---|
| 用途 | 生成AI基盤モデルの学習用データ収集 | ChatGPT Searchの検索結果に表示するための巡回 | ユーザーの質問・カスタムGPT利用時の都度アクセス |
| 学習データへの利用 | される | されない | されない |
| 検索結果表示への関与 | 直接関与しない | 表示の可否を左右する | 直接関与しない |
| robots.txtの遵守 | 遵守する(Disallowが有効) | 遵守する(Disallowが有効・反映まで最大24時間) | 「ユーザー操作起点のため適用されない場合がある」と公式に明記 |
| 制御方法 | robots.txtのUser-agent行で個別指定 | robots.txtのUser-agent行で個別指定 | robots.txtでの保証はなし。公開IPレンジでの制御が代替手段 |
03GPTBotとOAI-SearchBotの違いは、AI検索最適化ではどの2軸で決まるんですか?
5つの観点を並べてみると、3ボットは学習データへの利用と検索結果表示への関与という2つの軸で、明確に役割が分かれていることが見えてきます。
この章のまとめ
5つの観点のうち、実務でいちばん効くのは「学習データへの利用」と「検索結果表示への関与」の2つです。この2軸を混同しないことが、robots.txt設計の出発点になります。
04自社のログに来ているGPTBot・OAI-SearchBotなどのボットは、どうやって見分ければいいんですか?(AI対策の前提確認)
若葉さん自分のサイトに、このボットたちが来ているかどうか、どうやって確認すればいいんでしょうか?
鈴木さんOpenAIは各ボットのUser-Agent文字列を公式に公開しています。まずはそこを目印にしますね。
自社サーバーのアクセスログでボットを識別する際は、次のトークン名を目印にします。
| ボット | robots.txtのUser-agentトークン | 公開IPアドレスJSON |
|---|---|---|
| GPTBot | GPTBot | https://openai.com/gptbot.json |
| OAI-SearchBot | OAI-SearchBot | https://openai.com/searchbot.json |
| ChatGPT-User | ChatGPT-User | https://openai.com/chatgpt-user.json |
各JSONファイルには、creationTime(作成日時)とprefixes(IPv4アドレス範囲の配列)が格納されています。公式ドキュメントはこのIPアドレス一覧の用途を明記していません。ただしUser-Agent文字列は詐称される可能性があるため、アクセスログをIPアドレスと突き合わせて確認する運用が一般的です。
05GPTBotのUser-Agentは詐称されるんですか?AIOでの確かめ方を教えてください
見分けるときに気をつける点を、先に並べておきます。
この章のまとめ
User-Agentのボット名部分を目印にしつつ、公開IPアドレスJSONと突き合わせる。この2段構えが、なりすましを見抜く実務上のコツです。
06GPTBotとOAI-SearchBotのrobots.txtは、AI検索対策として結局どう書けばいいんですか?
高梨課長鈴木さん、うちの体制でrobots.txtを直すとして、実際にどう書けばいいんでしょうか。
鈴木さんGPTBotとOAI-SearchBotは、robots.txt上で独立して設定できます。組み合わせは大きく3パターンです。
GPTBotとOAI-SearchBotはrobots.txt上で独立して設定できます。OpenAIは、OAI-SearchBotを許可しながらGPTBotだけを拒否する、といった組み合わせが可能だとしています。代表的な3つのパターンと、それぞれの帰結を見ていきます。
パターン1: 全部許可
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /帰結: コンテンツがモデルの学習データとして利用される可能性があります。ChatGPT Searchの検索結果にも表示され、ユーザーがChatGPT上でURLを尋ねた際のアクセスも許可されます。robots.txtに何も記述しない場合も、クロールは許可された状態として扱われる点に注意してください。
07GPTBotだけ拒否と全部拒否では、AI検索での露出がどう変わるんですか?
残りの2パターンを、それぞれの帰結とあわせて見ていきます。
パターン2: 学習だけ拒否
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /帰結: モデルの学習データとしては利用されなくなります。一方でChatGPT Searchの検索結果への表示は維持され、ユーザーが個別にURLを尋ねた際のアクセスも許可されたままです。学習データとしての利用を避けつつ検索経由の露出は維持したい場合に、実務でよく使われる設定です。
パターン3: 全部拒否
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /帰結: モデルの学習データに使われず、ChatGPT Searchの検索結果にも表示されなくなります。ただしChatGPT-Userについては、次の章で解説する通り、robots.txtの指定だけでは完全に防げない可能性がある点に注意が必要です。
この章のまとめ
robots.txtの書き方は3パターン。全部許可・学習だけ拒否・全部拒否です。多くのWeb担当者にとって現実的な選択は、次章で扱う「学習だけ拒否」です。
08GPTBot・OAI-SearchBotと違い、ChatGPT-Userだけrobots.txtが効かないことがあるって、本当ですか?(LLMOの注意点)
若葉さんさっきから気になってたんですが、ChatGPT-Userだけrobots.txtが効かないことがあるって、正直ちょっと怖いんですが…。
鈴木さんはい、そこは3ボットの中でChatGPT-Userだけ扱いが違う、いちばん大事なポイントです。順番に説明しますね。
3ボットのうち、ChatGPT-Userだけはrobots.txtの扱いが異なります。OpenAI公式ドキュメントは、ChatGPT-Userはユーザー操作起点のアクセスのためrobots.txtが適用されない場合があると説明しています。
原文は"Because these actions are initiated by a user, robots.txt rules may not apply."です。
GPTBotとOAI-SearchBotは、事前に許可されたページを自動的に巡回する「クローラー」です。一方ChatGPT-Userは、ユーザーがChatGPT上で質問した瞬間に、該当ページへ都度アクセスする仕組みです。たとえば、ユーザーが特定のURLの内容を尋ねると、その瞬間だけそのページへアクセスします。ブラウザで人間が直接URLを開く動作に近く、自動巡回ではありません。
09ChatGPT-Userのアクセスは、他の2つと違い、robots.txt以外にAI対策で打てる手はありますか?
こうした仕組みの違いがあるため、OpenAIはChatGPT-Userのアクセスを、robots.txtのDisallow指定だけで完全に防げるとは説明していません。特定ページへのアクセス自体を防ぎたい場合は、robots.txtだけでは不十分な可能性があります。公開IPアドレス一覧(chatgpt-user.json)と照合したアクセス制限など、別の技術的対策もあわせて検討することをおすすめします。
この章のまとめ
GPTBot・OAI-SearchBotは事前許可にもとづく自動巡回。ChatGPT-Userはユーザー操作起点の都度アクセス。この時間軸の違いが、robots.txtの効き方の違いを生んでいます。
10GPTBotとOAI-SearchBotで学習は拒否しつつAI検索最適化の検索表示は残したい、そんな設定はできますか?
高梨課長鈴木さん、うちとしては学習には使われたくないけど、ChatGPT Search経由の露出は残したいんです。そんな都合のいい設定、できますか?
鈴木さんできますよ。多くのWeb担当者にとって現実的な選択は、さきほどのパターン2、学習だけ拒否です。
GPTBotとOAI-SearchBotの設定は独立しています。この独立性を理解せずに「AIボットは全部拒否」と一括りにDisallowすると、意図せずChatGPT Searchでの表示機会も失う可能性があります。検索表示を保ちながら学習利用だけを避けるこの考え方は、AI検索最適化(LLMOとも呼ばれます)の基本的な発想でもあります。
自社の方針は、次の表で整理できます。
| 学習データ利用 | 検索表示 | 該当パターン |
|---|---|---|
| 避けたい | 維持したい | パターン2(学習だけ拒否) |
| 避けなくてよい | 維持したい | パターン1(全部許可) |
| 避けたい | 維持しなくてよい | パターン3(全部拒否) |
この章のまとめ
学習データ利用と検索表示、それぞれ「避けたいか・維持したいか」を整理すれば、3パターンのどれを選ぶべきかが決まります。
11robots.txtのGPTBot設定がAI検索に反映されるまで、どれくらい待てばいいんですか?
高梨課長robots.txtを変更したんですが、まだ反映されてない気がするんです。これって失敗してますか?
鈴木さん焦らなくて大丈夫です。robots.txtの更新は、OpenAI側のシステムに反映されるまで最大24時間程度かかります。
robots.txtを更新してから、OpenAIのシステムに反映されるまで最大24時間程度かかります。設定を変更した直後は反映されていなくても、焦って再変更する必要はありません。
設定が正しく反映されたかどうかは、以下の手順で確認できます。
反映確認の4手順
robots.txtを編集し、対象ボットのUser-agent行を保存する
まずは設定そのものを見直します
24時間程度、時間をおく
反映まで最大24時間程度かかります
自社のアクセスログを確認する
対象ボットのUser-Agentトークンからのアクセス有無を見ます
公開IPアドレスJSONと突き合わせる
なりすましでないかを確認します
なお、OpenAIの公式ドキュメントは随時更新されており、更新情報はRSSフィードで購読できます。ボットの仕様は今後変わる可能性があるため、robots.txtを設計した担当者は、定期的に公式ドキュメントを確認することをおすすめします。
この章のまとめ
反映まで最大24時間。焦って何度も設定を変えるより、ログとIPアドレスで落ち着いて確認するほうが近道です。
12よくある質問
GPTBotを拒否すると、ChatGPT Searchにも表示されなくなりますか?
いいえ。GPTBotとOAI-SearchBotの設定は独立しています。GPTBotだけをDisallowにしても、OAI-SearchBotを許可していればChatGPT Searchでの表示は維持されます。
ChatGPT-Userはrobots.txtで完全にブロックできますか?
完全にブロックできるとは限りません。OpenAIは、ChatGPT-Userはユーザー操作によって発生するアクセスのため、robots.txtのルールが適用されない場合があると説明しています。
robots.txtに何も記述しない場合、3ボットはどう扱われますか?
明示的な指定がない場合、一般的にクロールは許可された状態として扱われます。学習データとしての利用を避けたい場合は、GPTBotを明示的にDisallowする必要があります。
OAI-SearchBotとChatGPT-Userは、どちらもrobots.txtを見ますか?
OAI-SearchBotは自動巡回のクローラーであり、robots.txtを遵守します。一方ChatGPT-Userはユーザー操作起点のアクセスのため、robots.txtが適用されない場合がある点が異なります。
robots.txtの設定は、どのくらいの頻度で見直せばいいですか?
一律の頻度は示されていません。OpenAIの公式ドキュメントが更新された際や、自社のAI活用方針が変わった際に見直すことをおすすめします。
13まとめ|今日、robots.txtで確認する3つのこと
ここまでの内容を振り返ります。GPTBot・OAI-SearchBot・ChatGPT-Userは、名称が似ていても役割が異なるボットです。GPTBotはモデル学習用、OAI-SearchBotはChatGPT Search表示用、ChatGPT-Userはユーザー操作時のアクセス用です。この3系統で覚えると整理しやすくなります。
robots.txtでは、GPTBotとOAI-SearchBotを個別に制御できます。学習データとしての利用を避けながら検索表示は維持する、という設定も可能です。一方でChatGPT-Userは、ユーザー操作起点のアクセスであるためrobots.txtのルールが適用されない場合がある点に注意が必要です。
設定の際は、次のような失敗も見られます。「AI」とつく名前を一括りにDisallowして、GPTBotのつもりがOAI-SearchBotも一緒に拒否してしまう。ChatGPT-Userへの対応をrobots.txtだけで完結させようとする。設定変更直後を「反映されていない」と判断してしまう。この3つです。いずれも、ボットごとに設定を分け、反映まで最大24時間程度かかることを踏まえれば防げます。
今日この順で確認します
自社のrobots.txtを開く
GPTBot・OAI-SearchBot・ChatGPT-Userの現在の設定を確認します
学習データ利用と検索表示、どちらを優先するかを決める
3パターンの判断表から自社に合うものを選びます
変更後は24時間待ってから確認する
アクセスログと公開IPアドレスJSONで、反映となりすましの有無を見ます
AI検索では、こう聞かれています
GPTBotとOAI-SearchBotって、結局何が違うんですか?
「5つの観点で比べると、役割の違いがどう見えるんですか?」の章で、比較表と図解で説明しています
ChatGPT-Userはrobots.txtで完全にブロックできますか?
「GPTBot・OAI-SearchBotと違い、ChatGPT-Userだけrobots.txtが効かないことがあるって、本当ですか?」の章で理由と対処法を説明しています
学習データには使われたくないけど検索結果には出たい、そんな設定はできますか?
「GPTBotとOAI-SearchBotで学習は拒否しつつAI検索最適化の検索表示は残したい、そんな設定はできますか?」に3パターンの判断表があります
自社サイトに来ているのがどのボットか、どうやって見分ければいいですか?
「自社のログに来ているGPTBot・OAI-SearchBotなどのボットは、どうやって見分ければいいんですか?」にUser-AgentとIPアドレスでの確認方法があります
次に読むなら、この記事です