ChatGPTやGeminiは自社サイトを読めている? -403・429・タイムアウトを誤解しない確認方法-

「ChatGPTで自社名を聞いても出てこない」「Geminiに聞くと古い住所やサービスが紹介される」。そんなとき、記事を増やしたり、ページを書き直したりする前に、一度確認しておきたいことがあります。

それは、AIが情報を集めるためのプログラムが、自社サイトの公開ページまでたどり着けているかです。

もちろん、AIの回答に出ない原因が、すべてサイトの設定にあるわけではありません。記事の内容、第三者サイトでの紹介、質問との関連性など、ほかにも多くの要因があります。また、AIがページを読める状態でも、回答に掲載・引用されるとは限りません。

この記事で扱うのは、その中でも「サイトの入口で止めていないか」という技術的な前提です。

専門知識のない人が、自分でサーバを操作する必要はありません。この記事を読むと、次の3つが分かるようになります。

  1. 403・429・タイムアウト・200という結果が、それぞれ何を意味するか
  2. なぜ結果の数字だけでは「AIが読めた」と断定できないのか
  3. Web担当者、情報システム部門、制作会社へ何を確認してもらえばよいか

AIがサイトを読む仕組みを「会社の建物」に置き換える

AIサービスの中には、公開されているWebページを見に来る自動プログラムがあります。これをAIクローラと呼びます。人の代わりにWebサイトを巡回する「情報収集ロボット」のようなものです。

ただし、AIクローラは一種類ではありません。たとえばChatGPTを提供するOpenAIは、AIモデルの改善に使うGPTBot、ChatGPTの検索結果にWebページを表示するためのOAI-SearchBot、利用者の操作に応じてページを取得するChatGPT-Userを分けています。Claudeを提供するAnthropicも、ClaudeBot、Claude-SearchBot、Claude-Userを用途別に分けています。

また、画面で使うAIサービスの名前と、サイトへ情報を取りに来るプログラムの名前が、一対一で対応するとは限りません。サービスごとに情報の集め方が異なるため、「Geminiという名前のアクセスだけを探す」といった確認では不十分です。担当者には、各社の公式情報を基に、関係する検索・取得経路を確認してもらいます。

そのため、「AIを許可するか、拒否するか」の二択ではなく、何の目的で来るプログラムを対象にするのかを決める必要があります。

Webサイトを会社の建物にたとえると、主な用語は次のように整理できます。

用語一般的な説明建物にたとえると
AIクローラAIサービスがWebページを自動で見に来るプログラム資料を受け取りに来る情報収集ロボット
User-Agent(UA)アクセスする側が「私はChromeです」「私はOAI-SearchBotです」とサイトへ伝える名前来訪者が自分で書く名札
robots.txtクローラに、見てよい場所・見てほしくない場所を伝える公開ファイル入口に置かれた案内板
CDNページを素早く届けたり、サイト本体の負担を減らしたりする中継設備建物の手前にある受付
WAF攻撃や不審なアクセスを入口で止めるセキュリティ機能不審者を止める警備員
サーバWebページのデータやプログラムが置かれている場所資料の原本がある社内
IPアドレスインターネット上の接続元を表す住所のような情報来訪者の住所
アクセスログいつ、どこから、どのページへ来て、サイトがどの番号で応答したかなどの記録入館記録

ここで重要なのは、UAが「自分で書く名札」だという点です。誰でも OAI-SearchBot や Googlebot と名乗れます。名札だけでは、本当にOpenAIやGoogleから来たプログラムかは確認できません。

また、robots.txtは案内板であり、鍵ではありません。「このページを見てもよい」と読み取れる状態でも、受付や警備員にあたるCDN・WAFが止めることがあります。反対に、robots.txtに「見ないでほしい」と書いても、それ自体が物理的な鍵になるわけではありません。

403・429・タイムアウト・200の読み分け

ブラウザやAIクローラがページを求めると、Webサイトは「受付結果」を返します。その結果を3桁の番号で表したものが、HTTPステータスコードです。

まず知っておきたいのは、次の4つです。

結果この表記の意味その時点で言えること次にすること
403入口で「このアクセスは入れません」と断られたアクセスを許可しなかった。ただし、AIだから断ったとは限らないWeb担当者に、WAFやCDNの記録と拒否理由を確認してもらう
429短時間に来訪が多く、「混雑しているので後で来て」と言われた一時的な回数制限の可能性がある。恒久的な拒否とは言えないすぐに何度も試さず、時間を空けて再確認する
タイムアウト呼び鈴を押したが、決めた時間内に返事がなかった成功・拒否のどちらとも判断できない通信障害や混雑も含め、条件をそろえて再確認する
200受付から「要求を受け付けました」と返事が来た通信上は応答した。ただし、目的の記事本文を渡したとは限らない実際に返されたページの中身も確認する

403は「AIを拒否した」とは限らない

403は、サイト側がアクセスを許可しなかったときに返る番号です。ただし、会員限定ページを開こうとした、会社のセキュリティ方針で特定の地域や接続元を制限している、通常の自動アクセスをまとめて止めている、といった場合にも返ります。

そのため、403だけを見て「AIを誤って止めている」と判断したり、WAFを解除したりしてはいけません。通常のブラウザとの違いと、サイト内部の記録を確認する必要があります。

429は「拒否」ではなく「少し待って」

429は、短時間のアクセス回数が多いときに使われる番号です。受付が混雑しているので、少し待ってから来てほしい、という意味に近いものです。

同じ相手が何度も429になることはありますが、429だけでは「そのAIクローラを恒久的に拒否している」とは言えません。確認しようとして連続アクセスすると、自分で混雑状態を強めることもあります。

タイムアウトは「分からない」が正解

タイムアウトは、決められた時間内にサイトから返事が来なかった状態です。サイトが混雑していたのか、通信経路に問題があったのか、入口で止めたのかは、これだけでは分かりません。

返事がなかったから「拒否」、拒否を示す番号がなかったから「成功」と、どちらかへ無理に振り分けないことが大切です。

200でも、本文を渡していないことがある

200は一般に正常な応答を示します。しかし、番号は200でも、実際には「アクセスを確認しています」という画面、ログイン画面、空に近いページなどが返る場合があります。

このように、番号上は正常でも目的の記事本文を渡していない状態を、この記事では200ソフトブロックと呼びます。建物に入れてもらえたように見えて、受付ロビーから先へ進めず、目的の資料を受け取れていない状態です。

したがって、「200だったからAIが記事を読めた」とは限りません。返されたページのタイトル、文章量、主要な本文まで確認する必要があります。

今日できるのは「対象ページと症状を整理する」こと

ここまで分かれば、自分でサーバ設定を触る必要はありません。まず行うのは、起きている症状を整理して、Web担当者へ正確に渡すことです。次の5点を先に準備してください。103サイトの調査結果と判定ミスの実例は、その理由を詳しく知りたい方に向けて後半で紹介します。

  1. どのAIサービスで確認したか:ChatGPT、Geminiなど
  2. どんな質問をしたか:実際に入力した質問をそのまま残す
  3. 何が問題だったか:自社が出ない、住所が古い、料金が違うなど
  4. 正しい情報が載っている自社ページはどこか:確認してほしいURLを1〜3ページに絞る
  5. 確認した日時:AIの回答や検索結果は変わるため、日付も残す

この情報があれば、Web担当者は「どのページの入口を調べるのか」を決めやすくなります。

なお、AIに自社が出ないことは、調査を始めるきっかけにはなりますが、AIクローラが止められている証拠ではありません。入口に問題がなければ、次は記事内容、第三者サイトでの紹介、AI回答で参照される情報源など、別の原因を調べます。

103サイトの調査で、実際に判定を間違えた

株式会社SALでは2026年8月7日、日本の主要・中堅の著名サイトを中心に選んだ103サイトへ、AIクローラを名乗るテストアクセスを行いました。

この調査は、無作為に選んだものではなく、調査しやすい著名サイトを中心としたものです。また、ある一回の時点・一つの接続元から測った結果なので、日本の全企業サイトを代表する統計ではありません。

通常のブラウザを名乗っても全体を測れなかった17サイトを除くと、86サイトで計測が成立しました。修正後の内訳は次のとおりです。

修正後の分類件数割合
今回のテストでは拒否を確認できなかった7384.9%
robots.txtで対象AIクローラを禁止していないが、拒否らしい応答があった910.5%
robots.txtの方針どおり、すべてのAIテストアクセスを遮断した11.2%
一部を判定できなかった33.5%
合計86100.0%

※各割合は小数第2位を四捨五入しているため、内訳を足すと100.1%になります。

今回の計測は、公開ページを、ブラウザで普通にページを開くのと同じGET方式で取得する範囲に限定しました。同一サイトへの連続取得は原則0.4秒以上空け、拒否に見える応答だけは1.5秒空けて1回再確認しています。公開結果では個別企業が分からない形にしています。

9サイトのうち6サイトでは、通常のブラウザなどを名乗った場合と、AIクローラを名乗った場合で、サイトの扱いに差がありました。ただし、これは名札であるUAへの扱いが違ったことを示すだけです。本物のAIクローラが使う公式のIPアドレスだけを例外的に許可している可能性もあるため、「本物のAIクローラも拒否された」とは断定できません。

robots.txtにAIクローラを名指しした記述があったのは86サイト中10サイト、robots.txtが存在しないか空だったのは86サイト中24サイトでした。ここでいう10サイトは、前述の「拒否らしい応答があった9サイト」とは別の集計です。名指しがないからといって、必ず許可しているわけではありません。すべてのクローラへ共通するルールが書かれている場合もあります。

間違い1:429を「拒否」に数えた

初版では、429を返した1サイトを「AIクローラを拒否した」と数えていました。しかし、429は一時的な回数制限を示す番号であり、恒久的な拒否とは限りません。この1サイトは、拒否の件数から外しました。

間違い2:返事がない2サイトを「通過」に数えた

HTTPステータスを取得できなかった2サイトを、「拒否を示す番号ではない」という理由で、通過側に入れていました。しかし、返事がない状態は、読めた証拠にも、拒否された証拠にもなりません。この2サイトは「判定できない」側へ移しました。

間違い3:本文を保存していなかった

初版では、サイトが返したページ本文を保存していませんでした。そのため、200を返しながら確認画面しか見せない「200ソフトブロック」があったかを、後から調べられませんでした。

この事例が教えてくれるのは、難しい技術よりも単純なことです。分からない結果を、成功か失敗のどちらかへ無理に入れない。そして、番号だけでなく、実際に返された中身も残しておく。この二つが、誤った判断を減らします。

調査方法、修正履歴、調査上の限界は公開レポートに、個別企業が分からない形にした、Excelなどで開けるCSV形式の全件データも公開しています。

Web担当者や制作会社へ、そのまま渡せる確認依頼

次の文面は、社内のWeb担当者、情報システム部門、サーバ管理会社、制作会社へそのまま渡せます。

ChatGPTやGeminiで当社の情報が表示されない、または古い情報が表示されるため、  
原因を切り分けたいと考えています。対象ページを検索エンジンや各AIサービスの  
公式クローラが取得できる状態か確認をお願いします。  
サービス名だけで判断せず、各社の公式情報を基に確認対象を特定してください。

対象ページ:  
・(確認してほしいURL)

確認してほしい内容:  
① robots.txtで、検索用AIクローラによる対象ページの取得を禁止していないか  
② 通常のブラウザと、公式ページに掲載された最新のAIクローラ名義で応答に差があるか  
③ 結果を「拒否らしい」「一時的な回数制限」「確認不能」「200だが本文不一致」  
   「今回の確認では拒否なし」のいずれかで整理できるか  
④ WAF・CDN・サーバのアクセスログに、対象アクセスと処理結果が残っているか  
⑤ 本物のAIクローラからのアクセスを確認する場合、UA名だけでなく、  
   各社が公開する送信元IPアドレスとも照合しているか

403が出た場合も、サイト全体のセキュリティを解除するのではなく、  
公開ページと必要な公式クローラに範囲を限定して対応方法を検討してください。

依頼時には、「AIクローラを全部通してください」ではなく、検索用、学習用、利用者の操作による取得用のどれを対象にするかも相談します。会社によって、公開したい情報と、学習には使ってほしくない情報の方針が異なるためです。

403が出ても、セキュリティを一括解除しない

WAFやCDNがAIクローラらしいアクセスを止めていたとしても、それだけで設定ミスとは限りません。攻撃対策として意図的に自動アクセスを制限している場合や、本物のクローラだけを公式IPアドレスで許可している場合もあります。

確認するときは、次の順番を守ります。

  1. どの公開ページを、どの目的のクローラに読ませたいかを決める
  2. 403・429・タイムアウト・200のどれが出たかを確認する
  3. WAF・CDN・サーバのアクセスログで、どこが処理したかを調べる
  4. 必要な場合だけ、対象ページ・対象クローラに範囲を絞って設定を変更する
  5. 変更後に同じ条件で再確認する

「AI対策だからセキュリティを弱める」のではなく、目的に合う相手と公開ページだけを、既存の防御を壊さず扱うことが大切です。

技術担当者向け補足:外部テストは「手がかり」、ログ確認が「本人確認」

ここからは技術担当者向けです。Web技術を専門としない方は読み飛ばしても、前節の依頼文までで必要な行動はできます。

サイト内部の設定を見ず、外部からアクセスして返事を確かめる簡易テストを、この記事では外形計測と呼びます。これは問題の可能性を絞り込む検査であり、本物のAIクローラが到達できることの証明ではありません。

実施時は、少なくとも次を守ります。

  1. 通常の業務では、自社または明示的な許可を得たサイトを対象にする。第三者サイトを調査目的で確認する場合は、公開ページだけに限定し、取得回数と間隔を抑え、個別企業が分かる形で結果を公表しない
  2. GET方式(ブラウザで普通にページを開くのと同じ取得方法)で、代表的な公開URLへ必要最小限の回数だけ送る
  3. 通常ブラウザのUAと、各社公式ページにある最新UAを同じURLで比較する
  4. HTTPステータスだけでなく、返された本文、文章量、転送先、実行時刻も保存する
  5. 429や一時的なサーバ障害が出たら、すぐに再送を繰り返さない
  6. 別のサイトへ自動転送された場合は、管理対象の範囲かを確認してから続ける

担当者が比較記録を作るときは、同じURLについて「通常のブラウザを名乗った結果」と「各社の公式ページに記載されたAIクローラ名を名乗った結果」を横に並べます。応答番号だけでなく、転送先、ページタイトル、本文の文字数、確認画面の表示有無、実行時刻も残します。200が返っていても、通常時にあるページタイトルや主要な本文がなく、確認画面の文言だけが返った場合は、本文を取得できていない可能性として扱います。

拒否らしい差が出たら、実行時刻を手がかりに、CDN・WAF・サーバの順で記録を確認します。残す項目は、時刻、対象URL、UA、送信元IPアドレス、HTTPステータス、反応したセキュリティルール、返したデータ量です。

UAは自己申告なので、本人確認にはなりません。OpenAIとAnthropicは、クローラの用途と送信元IPアドレスを公開しています。Googleも、公式IPアドレス情報またはIPアドレスと組織名を双方向から照合する確認方法を案内しています(Googleによる確認手順)。実際に許可設定を作る場合は、UA名だけで通さず、各社が公開している送信元IPアドレスも一緒に照合します。

実際のアクセスログに公式の送信元からの記録があれば、対象URL、時刻、応答番号、返したデータ量などを確認できます。ただし、通常のアクセスログには返した本文そのものまで残らないため、本文は許可を得た再テストで別に保存します。ログ保存期間内に記録がない場合は、「拒否された」とも「許可された」とも確定できません。来訪記録がないことと、入口に入れないことは別です。

到達できることは、AIに紹介されることの保証ではない

AIクローラがページを取得できる状態は、AI対策の土台の一つです。しかし、ページへ到達できても、内容が正しく理解されるか、質問への回答に採用されるか、出典として引用されるかは別の問題です。

今回の調査も、著名サイトを中心にした103サイトを、一回の時点・一つの接続元から測ったものです。観測した遮断が運営者の意図なのか、設定事故なのかも、外部テストだけでは判断できません。

それでも入口の確認には意味があります。入口で止まっているのか、入口は通れるので記事内容や第三者からの評価を調べるべきなのか、次の調査先を分けられるからです。

結論は、次の4行にまとめられます。

  • 403は「断られた理由を内部記録で調べる」
  • 429は「拒否と決めず、時間を空ける」
  • タイムアウトは「成功にも失敗にも数えない」
  • 200は「番号だけでなく、返された本文を見る」

分からない結果を無理に白黒へ振り分けず、AIの回答を確認した人は症状と対象ページを整理し、技術担当者はログで原因を確かめる。それが、セキュリティを壊さずAIへの情報経路を確認する進め方です。

参考資料