ブログ一覧へ

AI検索への掲載と学習利用を制御するrobots.txtの設定方法を解説

AIクローラーのrobots.txt設定で、検索への掲載を許可しながらAIの学習利用を拒否する方法を解説します。OAI-SearchBotとGPTBot、PerplexityBot、Google-Extendedの役割、設定例、除外ルールの注意点、変更後に確認するWAFやページの応答を紹介します。

公開日:
更新日:
Reading time
7 分で読めます

AI検索への掲載と学習利用を設定できる「robots.txt」

ChatGPTの検索に記事を掲載する場合は、検索用の OAI-SearchBot にページの取得を許可します。学習への利用を拒否する場合は、学習用の GPTBot を拒否します。この設定で、検索への掲載を認めながら学習利用を拒否できます。(OpenAI:クローラーの概要)

クローラーとは、ウェブページを自動で取得するプログラムです。robots.txtには、対象のボットを示すUser-agentと、取得を許可するAllow、取得を拒否するDisallowを記述します。(IETF:Robots Exclusion Protocol)

以下の仕様は、2026年10月1日に各社の公式資料で確認しています。

主なAIクローラーの役割と設定の違い

ボットの役割によって、許可・拒否したときの影響が変わります。検索に記事を掲載する場合は検索用ボットを、学習利用を拒否する場合は学習用ボットを設定します。

ボット名や設定名 用途 設定の目安
OAI-SearchBot ChatGPTの検索への掲載 検索に掲載する記事は取得を許可する
GPTBot OpenAIのモデル学習に使う可能性がある情報の収集 学習利用を拒否する場合は取得を拒否する
PerplexityBot Perplexityの検索への掲載 検索に掲載する記事は取得を許可する
Googlebot Google検索のページ取得 通常検索やAIによる概要に掲載する記事は取得を許可する
Google-Extended Geminiなどでの学習と回答への情報利用 対象製品での利用を拒否する場合に設定する

OpenAIは検索用と学習用に上記のボットを案内しています。PerplexityBotは、基盤モデルの学習用収集には使われません。(OpenAI:クローラーの概要、Perplexity:クローラーの公式資料)

GoogleのAIによる概要やAIモードも、 Googlebot で取得を制御します。Google-Extended が制御するのは、Gemini AppsやVertex AIでの情報利用です。Google検索への掲載や順位には影響しません。(Google Search Central:AI機能とウェブサイト、Google:一般的なクローラーのGoogle-Extended項目)

robots.txtの設定方法

robots.txtにボット名と取得を許可・拒否するパスを記述し、サイトのルートで公開します。すでにrobots.txtがある場合は、既存の設定を残して必要なルールを追加します。

ボット名と取得するページを指定する

設定に使うのは、次の3つです。パスはURLのドメインより後ろの部分で、/blog/や/admin/などを指定します。

記述 意味 例
User-agent 設定するボット名 User-agent: OAI-SearchBot
Allow 取得を許可するパス Allow: /blog/
Disallow 取得を拒否するパス Disallow: /admin/

User-agent: *は、ボット名を指定したルールがないクローラーに適用されます。/はサイト全体を表し、Disallow: / なら取得を拒否します。(IETF:Robots Exclusion Protocol)

検索用ボットを許可し学習用ボットを拒否する

次の例では、OAI-SearchBotとPerplexityBotに公開記事の取得を許可し、GPTBotにはサイト全体の取得を拒否します。/admin/と/account/は、一般のクローラーと検索用ボットの取得対象から外しています。

User-agent: *
Disallow: /admin/
Disallow: /account/

User-agent: OAI-SearchBot
Allow: /
Disallow: /admin/
Disallow: /account/

User-agent: PerplexityBot
Allow: /
Disallow: /admin/
Disallow: /account/

User-agent: GPTBot
Disallow: /

/admin/と/account/は、自社サイトで取得を拒否するパスに置き換えます。既存の除外ルールやSitemapの指定も残します。この例では、/blog/にある記事をOAI-SearchBotとPerplexityBotが取得できます。

ボット名を指定したルールにも、既存の除外パスを記述します。ボット名に一致するルールがあると、そちらが適用されます。User-agent: *に書いた 除外パスは自動で引き継がれない ため、上の例では/admin/と/account/を検索用ボットにも記述しています。(IETF:Robots Exclusion ProtocolのUser-Agent規則)

robots.txtを公開する

記述した設定は、https://example.com/robots.txtのように サイトのルート で公開します。https://example.com/blog/robots.txtなど、記事のフォルダー内に置いてもサイト全体の設定には使われません。設定はホストとプロトコルごとに適用されるため、別のサブドメインの設定も確認します。(Google:robots.txtの作成と配置)

公開したrobots.txtのURLを開き、追加したボット名とパスが反映されているか確認します。公開記事のパスにDisallowが適用されていたら、該当するルールを修正します。

Google-Extendedで制御できる範囲

Google-Extendedで制限できるのは、 学習と回答への情報利用 です。将来のGeminiモデルの学習に加え、Gemini AppsやVertex AIの指定された機能が、検索インデックスの情報を回答の根拠として使うことも対象になります。(Google:一般的なクローラーのGoogle-Extended項目)

これらの利用を拒否する場合は、次の設定を追加します。

User-agent: Google-Extended
Disallow: /

Google-Extendedは、Googleのクローラーが取得した情報の使い方を指定する設定名です。専用のボット名でアクセスする仕組みではないため、アクセスログにGoogle-Extendedという取得記録は現れません。(Google:一般的なクローラーのGoogle-Extended項目)

AIによる概要やAIモードで本文の利用を制限する場合は、nosnippet、data-nosnippet、max-snippetなどを使います。これらは、検索結果に表示される本文の抜粋を制限する指定です。AI機能の補足リンクの候補になるには、インデックス登録され、抜粋を表示できる状態 が必要です。(Google Search Central:AI機能とウェブサイト)

ページの一部分だけを抜粋対象から外す方法は、data-nosnippetの使い方 で解説しています。

設定変更後はWAFとページの応答を確認

robots.txtで許可していても、WAFやサーバーがボットのアクセスを拒否する場合があります。WAFは、不審なアクセスを検知して拒否する仕組みです。Perplexityは、アクセスを許可する際に ボット名と公式IPアドレス を照合する方法を案内しています。(Perplexity:WAF設定)

設定を変更したら、対象ページについて次の項目を確認します。

確認する項目 問題があった場合の対応
robots.txtのボット名と除外パス 公開記事を拒否している設定を修正する
WAFの拒否記録 公式IPからのボットのアクセスを拒否したルールを調べる
ページのHTTP応答 エラーやログイン画面が返る原因を調べる
取得されたHTMLの本文 記事の答えが含まれていなければ配信方法を調べる
Googleのインデックス登録状況 Search ConsoleのURL検査で未登録の理由や抜粋の制限を確認する

ボットのIPアドレスは、設定時に公式資料で最新の値を確認します。アクセスが拒否された場合は、対象URL、日時、応答コード、拒否したルールを記録し、原因を調べます。

ページの取得やインデックス登録については、テクニカルSEOのチェックリスト でも解説しています。

非公開情報はアクセス制限や権限で保護しておく

ユーザーがAIにページの内容を尋ねた場合は、ChatGPT-UserやPerplexity-Userがページを取得することがあります。ChatGPT-Userにはrobots.txtのルールが適用されない場合があり、Perplexity-Userも通常はこのルールを無視します。(OpenAI:ChatGPT-Userの説明、Perplexity:Perplexity-Userの説明)

社内資料や会員限定情報は、ログインや閲覧権限で保護します。robots.txtはボットに取得を控えるよう求めるもので、ファイル自体も公開されています。非公開ページは、ログインせずにURLを開いても本文を読めないこと を確認します。(IETF:Robots Exclusion Protocolのセキュリティ上の考慮事項)

クロール設定とページの取得状態を確認するには?

検索への掲載を許可するボットと、学習用の取得を拒否するボットを指定し、除外するページも記述します。変更後は、公開記事をボットが取得できるか、WAFの記録やページの応答で確認します。

Please Cite Me! は、ページが適切に公開されているか、ページの内容が充実しているかをチェックして結果を出力できるSEOエージェンシー向けのレポートツールです。

クロール設定や記事の内容を確認してクライアントに報告する企業様は、ぜひ使ってみてください!

Please Cite Me!でページを分析する →

著者紹介

岡本 侑馬

岡本 侑馬

Please Cite Me! 開発者・Abeam Tech株式会社 代表取締役

東京大学卒業。Webプロダクトの開発を行いながら、SEO・AI検索における情報設計や、Webコンテンツが検索エンジンやAIに正しく理解・引用されるための設計に取り組んでいます。

X / @okamoto_yuma_

よくある質問

GPTBotを拒否してもChatGPTの検索に掲載できますか?

GPTBotを拒否しても、OAI-SearchBotによる検索用の取得を許可できます。GPTBotにDisallow: /を指定し、OAI-SearchBotには公開記事の取得を許可します。(OpenAI:クローラーの概要)

Google-Extendedを拒否するとAIによる概要から外れますか?

Google-Extendedの拒否は、Google検索への掲載や順位に影響しません。AIによる概要で本文の利用を制限する場合は、nosnippetやdata-nosnippetなどを使います。Google-Extendedが制限するのは、Geminiなど対象製品での学習と回答への情報利用です。(Google Search Central:AI機能とウェブサイト、Google:Google-Extendedの説明)

共通ルールの除外パスは各ボットにも適用されますか?

ボット名を指定したルールを追加すると、共通ルールの除外パスは自動で引き継がれません。たとえばUser-agent: *で/admin/を除外している場合は、OAI-SearchBotのルールにもDisallow: /admin/を記述します。(IETF:Robots Exclusion ProtocolのUser-Agent規則)

robots.txtで許可しても取得されない場合はどうしますか?

WAFがアクセスを拒否していないか、ページがエラーやログイン画面を返していないかを確認します。ボット名と公式IPが一致するアクセスに拒否記録があれば、そのルールを調べます。取得できた場合は、HTMLに記事の本文が含まれるかも確認します。(Perplexity:WAF設定)

Please Cite Me!

AIO・LLMO対策をURLから確認する

Please Cite Me!は、公開ページの技術状態と記事内容を分析し、根拠と改善優先度を一つのレポートにまとめます。

記事を診断する