GPTBotはサイトマップを3回確認してからクロールしていた【AI実験室 #15】
「index.mdを置いたら、AIクローラーは読みに来るのか」——そんな疑問からスタートした実験で、予想外の発見がありました。
GPTBotがサイトに来るまでの行動を追いかけたところ、サイトマップを3回確認してから本格クロールに入るという動きが、サーバーログから読み取れました。さらに、GPTBotとOAI-SearchBotが同じIPレンジから同時並行で動いていたことも確認できました。
まずは、GPTBotがクロールを始める前に何をしていたのかを見ていきます。
この記事でわかること|📖:約6分
- GPTBotがクロール前にサイトマップを複数回確認する動きの実測データ
- llms.txtを読んだ直後にindex.mdを取得した動線の詳細
- GPTBotとOAI-SearchBotが同じIPレンジから同時並行で動いていた事実
- 今回の観測でわかったこと・わからなかったことの整理
サイトマップを3回確認してからクロールした
今回の観測期間中、GPTBotは本格的なクロールを始める前に、サイトマップへのアクセスを3回繰り返していました。サーバーログから確認できた時系列は以下のとおりです。

| 日時 | IP | アクセス先 | ステータス |
|---|---|---|---|
| 4/09 19:59 | 74.7.242.54 | /wp-sitemap.xml → /sitemap_index.xml | 301 → 200 |
| 4/10 05:55 | 74.7.242.1 | /sitemap_index.xml | 200 |
| 4/10 20:03 | 74.7.242.1 | /wp-sitemap.xml → /sitemap_index.xml | 301 → 200 |
| 4/10 21:27 | 74.7.242.1 | 本格クロール開始 | — |
1回目(4/9 19:59)と2回目(4/10 05:55)はIPアドレスが異なります。同じ74.7.242.xのサブネット内での別IPで、どちらもGPTBot/1.3のUser-Agentを持っていました。IPが変わっても同じ行動パターンを踏んでいることから、個々のIPではなくOpenAIのクローラーシステム全体として動いていると考えるのが自然です。
3回目のサイトマップ確認(4/10 20:03)から約1時間半後に本格クロールが始まっています。「新しいページが増えていないか確認してから動く」という設計の可能性がありますが、クロールのトリガーが何かはサーバーログだけでは判断できません。
なお、1回目のアクセスで/wp-sitemap.xmlにアクセスし、301リダイレクトで/sitemap_index.xmlに誘導されています。WordPressのサイトマップ設定を正しく行っていれば、GPTBotはリダイレクト先を自動的に追います。
llms.txtを読んだ直後にindex.mdを取得した
本格クロールが始まった4/10 21:27以降、GPTBotはトップページから順番にページを巡回していきました。そのなかで特に注目したのが、llms.txtを取得した直後にindex.mdを取りに来た動きです。

| 時刻 | 取得したURL |
|---|---|
| 21:27:40 | /noindex-nofollow-ai-crawler/ |
| 21:27:43 | /llms.txt |
| 21:27:46 | /operator-info/ |
| 21:27:56 | /index.md ← Markdownファイル取得 |
llms.txtのRefererはhttps://www.blog.ai-kansoku.com/、つまりトップページです。GPTBotはトップページを読んだタイミングでllms.txtの存在を把握し、取得しています。そしてllms.txtの中にindex.mdへの記載があったため、続けてindex.mdを取りに来たと考えられます。
llms.txtがindex.mdへの案内板として機能した可能性が高いですが、GPTBotの内部処理はログからは確認できないため、断定はできません。llms.txtとindex.mdの関係についてはAIはHTMLよりMarkdownを好む—サイトにmdファイルを置くとどうなるかで詳しく解説しています。
また、index.mdのファイルサイズは6,519バイトで、ステータスコードは200でした。ファイルの一部ではなく全体を取得しています。
llms.txtがindex.mdへの案内板として機能した可能性が高いですが、GPTBotの内部処理はログからは確認できないため、断定はできません。
llms.txtの設置方法や書き方についてはllms.txtの書き方【テンプレコピペOK】で詳しく解説しています。
GPTBotとOAI-SearchBotが同じIPレンジから同時並行で動いていた
今回の観測でもう一つ確認できたのが、GPTBotとOAI-SearchBotが同じタイミングで、同じIPレンジから別々の動きをしていた点です。

| 時刻 | IP | クローラー | 取得したURL |
|---|---|---|---|
| 21:27:36 | 74.7.242.134 | OAI-SearchBot | /search-shift-genz/ の画像 |
| 21:27:40 | 74.7.242.1 | GPTBot | /noindex-nofollow-ai-crawler/ |
| 21:27:43 | 74.7.242.1 | GPTBot | /llms.txt |
| 21:27:55 | 74.7.242.169 | OAI-SearchBot | /tag/検索の未来/ |
| 21:27:56 | 74.7.242.1 | GPTBot | /index.md |
GPTBotのIPは74.7.242.1、OAI-SearchBotは74.7.242.134や74.7.242.169と、末尾だけが異なる同じサブネット内のIPでした。どちらもMicrosoft Azure(AS8075)のIPです。
GPTBotがサイト全体を巡回しながらllms.txtやindex.mdを取得していた一方、OAI-SearchBotは特定の記事ページから内部リンクをたどる動きをしていました。同じOpenAIのインフラから2種類のボットが異なる役割で動いている可能性がありますが、内部の仕組みはログからは確認できません。
OAI-SearchBotの詳細についてはOAI-SearchBotとは?GPTBotと何が違うのかで解説しています。
GPTBotが404を踏んだページがあった
今回のクロールで、GPTBotが1件だけ404エラーを返すページにアクセスしていました。
| 時刻 | URL | ステータス |
|---|---|---|
| 21:28:15 | /ai-agent-user-agent-identification/ | 404 |
このページは観測日の4/10時点ではまだ公開前でした。Refererはhttps://blog.ai-kansoku.com(wwwなし)で、llms.txtか内部リンクからURLを把握していた可能性があります。GPTBotは404を受け取っても処理を止めず、次のページへの巡回を続けていました。
404エラーへの対処方法についてはサーバーログを見たら、AIクローラーが404を踏み続けていたで詳しく解説しています。
わかったこと・わからなかったこと
今回の観測で確認できたことと、ログからは判断できなかったことを整理します。
わかったこと
| 発見 | 詳細 |
|---|---|
| サイトマップを3回確認してからクロールした | 4/9〜4/10にかけて3回サイトマップを取得してから本格クロールに入った |
| llms.txtを読んだ直後にindex.mdを取得した | llms.txtがindex.mdへの案内板として機能した可能性が高い |
| GPTBotとOAI-SearchBotが同時並行で動いていた | 同じ74.7.242.xサブネットから2種類のボットが別々の動きをしていた |
| ClaudeBot・PerplexityBotはindex.mdに来なかった | 観測期間中、index.mdにアクセスした正規AIクローラーはGPTBotのみ |
わからなかったこと
| 疑問 | 理由 |
|---|---|
| クロールのトリガーが何だったか | 定点観測なのか、サイトマップの更新を検知したのかはログからは判断できない |
| 学習用かインデックス用か | GPTBotは学習データ収集とSearch用インデックスの両方に使われるとOpenAIは説明しているが、ログだけでは区別できない |
| GPTBotとOAI-SearchBotの役割分担 | 同じサブネットから協調して動いている可能性があるが、内部の仕組みは公開されていない |
「わからなかったこと」が残るのは、サーバーログで観測できる範囲に限界があるためです。AIクローラーの内部処理はブラックボックスで、ログから読み取れるのはあくまでHTTPリクエストの記録だけです。
今回の観測でもっとも大きな収穫は、llms.txtとindex.mdが実際にGPTBotの行動に影響を与えていた可能性が確認できたことです。
「設置しても意味がない」という意見もある両ファイルですが、少なくともGPTBotはllms.txtを読み、その直後にindex.mdを取得するという動きを観測期間中に見せました。設置する価値はあると考えられます。
自分のサイトのページがAIに読まれやすい形になっているか確認したい場合は、AIクローラー向けMarkdown変換ツールが使えます。URLを入力するだけで、HTMLをAIが読み取りやすいMarkdown形式に変換します。WordPressなど静的サイト向けです。
index.mdやcompany.mdなど、更新頻度は低くてもE-E-A-Tに関わるページをMarkdown化しておくと、AIクローラーが読み取りやすい形で情報を届けられます。WordPressなど静的サイトであれば、まずトップページやプロフィールページで試してみてください。
あなたのサイトは、
AIに見えていますか?
URLを入力するだけで30秒。8項目を自動診断し、優先度別の改善プランを提示します。完全無料・登録不要。