ChatGPT に紹介される:サイト側でできる3つの技術チェック(検証しました)

SEOgrinder 編集部 · 公開日 · 更新日 · 読了時間 約16分

結論: ChatGPT にサイトを挙げさせることは誰にもできないので、ChatGPT に紹介される、と約束できるチェックはありません。コントロールできるのは技術的な土台で、それは3つのチェックでカバーできます。robots.txt が OpenAI の検索用ボットを通すこと。主要なテキストが、JavaScript なしで HTML に入っていること。ページにステータス 200 で到達でき、ファイアウォールや CDN でボットが遮断されていないこと。この3つを満たせば、私たちが知る技術的な障害はなくなります。ページが取得されたことを示すのは、実際の ChatGPT-User の訪問がサーバーログに残ったときだけです。紹介されることを示すものは、何もありません。

テスト状況(2026年11月5日): 下で説明しているテストは実施済みで、合格しました。測定値は公開しないため、この記事は、それ以上の結果を述べていません。

誰にも約束できないこと:ChatGPT に紹介される

まず限界から始めます。ここがほかのすべてを決めるからです。ChatGPT が回答の中であるサイトを挙げるかどうかは、ChatGPT が決めます。OpenAI は、自社のクローラーと、robots.txt の各設定が何をするかを文書化しています。そのページには、ChatGPT がどのサイトを挙げるかをどう決めるかは書かれていません。技術的な設定が紹介に影響することを裏付ける情報源も、私たちは見つけられませんでした。したがって、正直な現状はこうです。裏付けはなく、ここでも約束はしません。

同じ段落に入れるべき限界が、あと2つあります。

  • 紹介された回数の公開データはありません。 ChatGPT が特定のサイトを何回挙げるかを示す公開された数字を、私たちは知りません。言及トラッカーは、AI アシスタントに決まった質問のリストを送り、ブランドが出てくるかを記録します。SEOgrinder も言及は測りません。確認するのは技術的な土台、つまり AI システムがそのページに到達して読めるかどうかです。ChatGPT がサイトを紹介する頻度についての数字は、私たちにはなく、でっち上げることもしません。
  • 読めることと、紹介されることは別です。 ChatGPT が読めるページでも、無視されることはあります。読めないページは、ボットに引用するものを何も与えません。読めるかどうかは、あなた自身が握っている部分で、これらのチェックが意味を持つのはそのためだけです。

見出しが「技術チェック」と言い、「紹介される方法」と言わないのは、このためです。第2のステップとして言及を追跡したいなら、AI Visibility チェックの記事が、言及トラッキングと準備状況のチェックの違いを説明し、手作業で使える質問リストを示しています。

OpenAI の3つのユーザーエージェントを1つの表で

OpenAI は複数のユーザーエージェントを使い、robots.txt の各設定は、ほかの設定から独立しています。ドキュメントには、OAI-SearchBot を許可して検索結果に表示されるようにしつつ、GPTBot を拒否して、クロールされたコンテンツを学習に使わないでほしいと伝える例が載っています。つまり「ChatGPT をブロックする」は1つの判断ではなく、3つの判断です。出典は OpenAI の Bot のページです。

ユーザーエージェントOpenAI が説明する用途robots.txt でブロックした場合
OAI-SearchBotChatGPT の検索機能にウェブサイトを表示するサイトは ChatGPT の検索回答に表示されないが、ナビゲーション用のリンクとしては表示されることがある。OpenAI は許可を推奨している
GPTBot生成 AI の基盤モデルの学習に使われる可能性のあるコンテンツを収集するそのコンテンツを学習に使わないでほしいという意思表示になる
ChatGPT-Userユーザーが ChatGPT やカスタム GPT に質問したときに、ページを訪問することがある。ウェブの自動クロールには使われないOpenAI は、人がリクエストを始めるため、robots.txt のルールが適用されない場合があると書いている。検索にコンテンツが表示されるかの判断には使われない

OpenAI はこのほかに OAI-AdsBot も挙げています。これは ChatGPT で広告として提出されたページだけを訪問するため、以下のチェックには関係しません。

チェック1:robots.txt が OAI-SearchBot を通している

OpenAI は、OAI-SearchBot を除外したサイトは ChatGPT の検索回答に表示されないとし、robots.txt で許可することを推奨しています。許可は、そうした回答に表示されるための前提条件です。何かの保証ではありません。

  • 専用のグループがなくても、* が許可していれば問題ありません。 OAI-SearchBot を名指しするグループがなければ、* グループが適用されます。それでも、OAI-SearchBot 用の行を書いておいてください。ファイルを次に編集する人にも、その判断が見えるようになります。
  • GPTBot と ChatGPT-User は別の判断です。 検索を許可したからといって、学習も許可する必要はありません。ChatGPT-User については、OpenAI によれば robots.txt のルールがそもそも適用されない場合があります。
  • 変更が反映されるには時間がかかります。 検索結果については、robots.txt を更新してから OpenAI のシステムが調整されるまで、OpenAI によれば約24時間かかることがあります。変更の1時間後にテストすると、古い状態をテストすることになります。

3つの判断を分けて書いた、最小限のファイルです。

# ChatGPT 内の検索:許可
User-agent: OAI-SearchBot
Allow: /

# 学習:サイト運営者自身の判断(この例では拒否)
User-agent: GPTBot
Disallow: /

# ユーザーの依頼による取得:robots.txt のルールは適用されない場合がある
User-agent: ChatGPT-User
Allow: /

このチェックでつまずきやすいのは、ボット専用のグループです。RFC 9309 によれば、クローラーは自分の名前に一致するグループに従い、専用のグループがあれば、* グループはそのクローラーには適用されません。

User-agent: *
Disallow: /private/

User-agent: OAI-SearchBot
Allow: /

この例では、OAI-SearchBot 専用のグループが * グループに取って代わるため、/private/ は OAI-SearchBot に対して開いています。グループの中にも Disallow: /private/ を繰り返すか、1組のルールの上に複数の User-agent 行を並べてください。AIクローラー向け robots.txt の記事に、両方のパターンの全文があります。

同じ仕様は、読み込めないファイルの扱いも定めています。robots.txt が 400 番台のクライアントエラーを返す場合、クローラーはどのリソースにもアクセスしてよいとされています。サーバーエラーやネットワークエラー(たとえばステータス 500)で到達できない場合、クローラーは全面的な禁止を前提にしなければなりません。ときどき失敗する robots.txt は、したがって中立ではありません。

私たち自身のファイルは、例であって、推奨ではありません。seogrinder.com の robots.txt には、* と9つの AI 用識別子を1つにまとめた共通のグループがあり、OAI-SearchBot、GPTBot、ChatGPT-User も含まれます。/api/ 以外はすべて許可しています。学習を許可するかどうかは、このサイトでは運営者の判断です。あなたは別の判断をしてかまいません。

チェック2:主要なテキストが JavaScript なしの HTML に入っている

ボットが許可されていても、スクリプトが実行されたあとでしかテキストが現れないなら、読むものは何も見つかりません。1つの測定が、Vercel と MERJ による、2024年12月公開の The rise of the AI crawler です。その結果は、調査対象の OpenAI の3つのクローラー(OAI-SearchBot、ChatGPT-User、GPTBot)のどれも JavaScript をレンダリングしなかった、というものでした。Gemini が使う Google のクローラーと、AppleBot はレンダリングしました。

この結果は慎重に読んでください。2024年時点のスナップショットで、引用できる新しい測定を私たちは知りません。クローラーは変わるので、法則ではなく警告として受け止めてください。また、これはボットが何を読むかを示すもので、ページが回答の中で挙げられるかどうかを示すものではありません。

チェック自体は1分で済み、ツールは要りません。スクリプトを実行せずにサーバーへページを要求し、見出しを探します。

curl -sL https://www.example.com/your-page | grep -i -A2 "<h1"

出力に本物の見出しが出れば、配信される HTML の中にあります。div とスクリプトタグだけの空の殻が出る、または見出しが出ない場合は、スクリプトを実行しないボットにも同じものが見えています。最初の段落の1文でも繰り返してください。script 要素の中にしかないテキストは数えません。AIクローラーと JavaScript の記事には、1分でできるテストがあと2つと、その解決策があります。サーバー側でページをレンダリングするか、事前に生成することです。

チェック3:ボットがページに到達できる

多くの人がこのチェックを飛ばします。robots.txt が話のすべてのように見えるからです。そうではありません。ファイルが「許可」と言っていても、ファイアウォール、CDN のボット対策、あるいはホスティング側が、エラーを返してボットを追い返すことがあります。その場合、許可はあっても、ページは届きません。

  • ステータスが 200 である。 エラーページやリダイレクトのループを受け取ったボットは、テキストを読めません。OpenAI のページには、同社のボットが個々のステータスコードをどう扱うかは書かれていません。テキストを読むにはボットに通常の応答が必要だというのは、OpenAI の発言ではなく、HTTP の単純な理屈です。
  • サーバーの手前で、ボットが追い返されていない。 OAI-SearchBot については、OpenAI は公開している IP 範囲からのリクエストを許可することを推奨しています。各ボットにはドキュメントのページに専用のリストがあり、たとえば OAI-SearchBot のリストは searchbot.json です。
  • サーバーログにユーザーエージェントが残る。 ChatGPT-User について、OpenAI は完全な文字列 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot を示しています。OAI-SearchBot と GPTBot については、バージョン番号が変わることがあると注記しているので、バージョンではなく名前で検索してください。この2つについて OpenAI は、robots.txt を取得するときにユーザーエージェントへ robots.txt という目印を付けることがあるとも述べており、それらのリクエストを見分けられます。

ボットの名前を curl で使い、ステータスコードを読むことができます。

curl -sS -o /dev/null -w "%{http_code}\n" -A "OAI-SearchBot" https://www.example.com/your-page

これが示すのは、あなたのサーバーが名前に対してどう反応するかであって、OpenAI の本当のアドレスに対してではありません。多くの保護ルールは、偽のボット名を追い返し、本物のボットは IP アドレスで通します。それは意図された動作です。したがって、ここでの 403 は、ルールを見直す理由にはなっても、本物のボットがブロックされている証拠ではありません。200 も、本物が通ることの証拠ではありません。本当の証拠はログです。「GPTBot」は誰でもヘッダーに書けるので、疑わしい訪問は、公開されている IP 範囲と照らし合わせてください。

私たちのテスト:2026年11月5日にやったこと

見出しには「検証しました」とあります。この節は、その方法を記録しています。私たちは SEOgrinder を開発しているので、検証対象は自分たちのウェブサイトです。手順と、起こりうる結果の読み方は、実施前に書いておきました。

検証対象: seogrinder.com と、この記事の英語版 https://seogrinder.com/en/blog/get-recommended-by-chatgpt(以下、テストページ)です。検証するのはこの1つのアドレスで、日本語のページは個別には調べません。テストは2026年11月5日に、次の4つのステップで行いました。

  1. https://seogrinder.com/robots.txt を読んで保存する。OAI-SearchBot、GPTBot、ChatGPT-User がどう扱われているかを控える。
  2. テストページの生の HTML から、JavaScript なしで H1 を探す。チェック2の curl コマンドを使う。
  3. ChatGPT に、テストページのアドレスを開いて H1 をそのまま引用するよう頼む。表示されたモデルと時刻を書き留める。質問は事前に決めてあり、英語のままにする。“Open https://seogrinder.com/en/blog/get-recommended-by-chatgpt and quote its H1 exactly.”
  4. ステップ3の時刻の前後で、サーバーログから ChatGPT-User を探し、送信元 IP アドレスを、OpenAI が公開しているリスト chatgpt-user.json と突き合わせる。そのリストにないアドレスからの訪問は数えない。

記録すること: リクエストの時刻、表示されたモデル、回答のスクリーンショット、保存した robots.txt、そして時刻・パス・ステータス・ユーザーエージェント・送信元 IP アドレスを含むログの行です。記録していない値は、書き加えません。

結果の読み方は、実施前に次のように決めてあります。

  • ChatGPT が H1 を正しく引用し、その時刻のログに、ステータス 200 の ChatGPT-User が残っている場合:ChatGPT がそのページを読めたことを示す。
  • ChatGPT は回答したが、その時刻のログに ChatGPT-User のリクエストがない場合:回答がどこから来たのかは分からない。OpenAI は、ユーザーが質問したときに ChatGPT-User がページを訪問することがあるとは述べているが、すべての回答が訪問を伴うとは述べていない。だからログもテストに含める。
  • ChatGPT がページを開けない場合:表示されたメッセージと、私たちが変更したことを報告する。それも結果の1つになる。

テストに合格した場合に分かること、分からないこと。 合格すれば、ある1日に、1つの質問で、1つのアカウントから、ChatGPT がこのページを読めることが分かります。ChatGPT がこのページを紹介することは示しませんし、どれくらいの頻度でページを読むかも示しません。1回の実施は、1つのデータ点です。

結果: テストは合格しました。測定値は公開しません。

SEOgrinder は3つのチェックをどう助けるか

SEOgrinder は無料で、アカウントは不要です。アドレスを入力して分析を始め、レポートを開きます。ここで見る場所は3つです。

  • 「AI 対応」タブの「AI エージェント向けのチェック」: 「AI ボットを制御する」の項目には、明示的なルールを持つ AI クローラーの数、許可されている数、ブロックされている数が表示され、ブロックされているものの名前も挙がります。「ボットの動きを決める規則」は robots.txt そのものを扱います。これがチェック1です。
  • 「タスク」タブの「ページがブラウザー内でしか組み立てられていない」: 内容の表示に JavaScript を必要とするページで、この指摘が出ます。多くの AI クローラーは JavaScript を実行しないからです。これがチェック2です。
  • 「タスク」タブの「AI クローラーは許可されているのに、サーバーが拒否しています — 要確認」: SEOgrinder は、サーバーが4つの決まったボット名(GPTBot、ClaudeBot、OAI-SearchBot、PerplexityBot)にどう応答するかを、robots.txt が許可しているものだけについて調べ、ブラウザーの場合と比べます。ChatGPT-User は含まれません。名前だけを使う点が、チェック3に書いた限界です。

項目で「エージェント用プロンプトをコピー」を押すと、コーディングアシスタント向けの指示が手に入ります。変更したら「再チェック」を押して確かめてください。レポートは最長24時間キャッシュされ、このボタンは1時間に数回まで、新しい実行を強制します。SEOgrinder はあなたのサーバーログを読みません。レポートは SEOgrinder という名前であなたのページを取得します。4つのボット名(OAI-SearchBot を含む)を試すのは配信テストだけで、テストであることを明示してあり、本物のクローラーではありません。ChatGPT があなたのブランドを挙げるかどうかは測りません。

よくある間違い

  • ChatGPT の検索から外れようとして GPTBot をブロックする。 GPTBot は学習に関わります。検索は OAI-SearchBot で、設定はそれぞれ独立しています。
  • 1つのボット用にグループを足して、共通のルールを失う。 専用のグループは * グループに取って代わります。
  • robots.txt では許可しているのに、ファイアウォールで追い返す。 ファイルだけでなく、ログを確認してください。
  • 早すぎるタイミングでテストする。 robots.txt を変更してから、OpenAI は約24時間としています。
  • テキストをブラウザー内でしか組み立てない。 2024年のスナップショットでは、OpenAI のボットはスクリプトを実行しませんでした。
  • 合格を、紹介されることだと読む。 合格は、私たちの知る技術的な障害を取り除くだけで、ChatGPT があなたを挙げるかどうかについては何も語りません。

よくある質問

ChatGPT に自分のサイトを紹介させることはできますか?

できません。紹介を強制できる人はおらず、どの技術的な設定についても、紹介を引き起こすという裏付けはありません。ChatGPT があなたのページを読めるように、障害を取り除くことはできます。挙げるかどうかは、ChatGPT が決めます。

GPTBot をブロックすると、ChatGPT から外れますか?

いいえ。GPTBot は、コンテンツを学習に使わないでほしいという意思表示です。検索は OAI-SearchBot で、別の設定です。

robots.txt のルールで ChatGPT-User を止められますか?

OpenAI は、ユーザーがリクエストを始めるため、ChatGPT-User には robots.txt のルールが適用されない場合があると書いています。ウェブの自動クロールには使われず、検索にコンテンツが表示されるかの判断にも使われません。

SEOgrinder は、ChatGPT が私のサイトを挙げるかどうかを示しますか?

いいえ。確認するのは技術的な土台、つまり AI システムがそのページに到達して読めるかどうかです。

次の一歩

robots.txt を開き、OAI-SearchBot を探してください。いちばん大事なページで、チェック2の curl コマンドを実行し、見出しが HTML に入っているかを見ます。そのあと、SEOgrinder の無料スキャンを実行し、「AI 対応」タブと「タスク」タブを開いて、未対応の項目を直してください。

あわせて読みたい

ブログのほかの記事