AIクローラーをrobots.txtで制御する方法|許可・拒否設定の注意点

AIクローラーのWebアクセスを選択的に制御するイメージ

AIクローラーをrobots.txtで拒否する基本形は、対象ボットのUser-agentを指定し、その直下にDisallow: /を書く方法です。たとえばGPTBotだけを止める場合は、User-agent: GPTBotDisallow: /を記述します。

ただし、robots.txtはクローラーに対する公開ルールであり、HTTPアクセスを完全に遮断する仕組みではありません。設定後に、過去のクロール、学習、第三者サイトへの転載内容が自動的に削除されるわけでもありません。

設定前には、「学習用の収集を止めたいのか」「AI検索・回答での露出も抑えたいのか」「過剰なアクセスによる負荷を下げたいのか」を分けて考えることが重要です。提供元ごと、さらに同じ提供元内でもボットごとに目的が異なるため、必要な対象だけを確認して設定しましょう。

AIクローラーを拒否・許可するrobots.txtの基本設定例

AIクローラーを制御するときは、既存のrobots.txtを上書きせず、対象ボットのルールだけを追加するのが基本です。検索エンジン向けの設定やサイトマップの記述を誤って消すと、通常のSEOにも影響するおそれがあります。

特定のAIクローラーをサイト全体で拒否する書き方

特定のクローラーにサイト全体をクロールさせたくない場合は、対象のUser-agentごとにDisallow: /を指定します。以下は記述例です。

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: PerplexityBot
Disallow: /

ボットごとに目的を確認して設定することが重要です。名称が似ていても、学習用、検索・回答用、ユーザー操作に応じた取得用では役割が異なる場合があります。

たとえばOpenAIは、GPTBotを将来の生成AIモデルの改善・安全性向上に利用され得るコンテンツのクロール用、OAI-SearchBotをChatGPTの検索機能でWebサイトを表示するためのボットとして案内しています。GPTBotだけを拒否しても、OAI-SearchBotを拒否したことにはなりません。

出典:OpenAI Developers「Overview of OpenAI Crawlers」

Anthropicは、ClaudeBotを将来のモデル学習データに寄与し得るWebコンテンツの収集に使うボットとして案内しており、サイト全体の拒否例としてUser-agent: ClaudeBotDisallow: /を示しています。

出典:Anthropic Help Center「Does Anthropic crawl data from the web, and how can site owners block the crawler?」

AIクローラーを許可したい場合の考え方

通常は、対象ボットへの拒否ルールがなければ、明示的にAllow: /を書かなくてもクロールを許可する方針になります。AIクローラーを受け入れたいだけなら、許可行の追記が不要なケースが一般的です。

ただし、次のように全クローラーを包括的に拒否しているサイトでは、特定ボットだけを許可する設定を検討します。

User-agent: *
Disallow: /

たとえば、OAI-SearchBotだけを許可する構成例は次のとおりです。

User-agent: OAI-SearchBot
Allow: /

User-agent: *
Disallow: /

複数グループがある場合の解釈やAllowへの対応は、クローラーによって差があり得ます。本番反映前に対象事業者の公式仕様を確認することが安全です。既存のrobots.txtが複雑な場合は、検証環境または変更履歴を残せる状態で作業し、Googlebotなど通常の検索クローラーまで止めていないか確認してください。

特定ディレクトリ・ファイルだけを拒否する書き方

サイト全体ではなく、特定のディレクトリやPDFだけを対象にしたい場合は、Disallowにパスを指定します。

User-agent: GPTBot
Disallow: /members/
Disallow: /downloads/
Disallow: /documents/internal-guide.pdf

たとえば/downloads/配下の資料を対象にするなら、ディレクトリ末尾のスラッシュを含めて記述します。Googleは、パス単位の制御に加え、*$を用いたパターン指定も案内しています。ただし、拡張構文への対応はクローラーごとに異なる可能性があるため、重要な制御をワイルドカードだけに依存しないほうが無難です。

出典:Google Search Central Blog「Robots Refresher: robots.txt — a flexible way to control how machines explore your website」

robots.txtはURLを秘密にする機能ではありません。公開URLの閲覧そのものは防げず、拒否対象のパスを記述すると、そのパスの存在を第三者に示すことにもなります。会員限定資料、未公開資料、顧客情報を含むページは、robots.txtではなく認証やアクセス制御で保護してください。

設定前に決めること:何のためのAIクローラーを止めるのか

AIクローラーを一括で拒否すると、学習用の収集だけでなく、AI検索での発見やユーザー指示によるページ取得に影響する場合があります。設定作業の前に、ボット名だけで判断せず、「何を止めて、何を残すか」を決めましょう。

学習用・AI検索用・ユーザー起点の取得は目的が異なる

AI関連ボットは、主に「将来のモデル学習に関係する収集」「AI検索・回答のための収集」「ユーザーの依頼に応じた取得」に分けて考えると判断しやすくなります。同じ提供元でも用途別の設定が必要です

主な目的 拒否した場合に考えられること 判断の例
モデル学習向けの収集 将来の学習データに使わない意向を示せる 独自コンテンツの利用方針を厳格に管理したい
AI検索・回答向けの収集 AI検索結果や回答での発見性が下がる可能性がある AI経由の認知や参照流入を残したい
ユーザー指示による取得 AI経由でページを開く利用場面に影響する可能性がある 会員サイトや利用規約上の制約を優先したい

OpenAIは、GPTBotとOAI-SearchBotの設定がそれぞれ独立していると説明しています。また、ChatGPT-Userはユーザーにより開始されるアクセスであり、robots.txtルールが適用されない場合があると案内しています。したがって、GPTBotの拒否だけでOpenAIに関するすべてのアクセスや利用を止められるとはいえません。

出典:OpenAI Developers「Overview of OpenAI Crawlers」

Perplexityも、検索結果にサイトを表示・リンクするためのPerplexityBotと、ユーザーの要求を受けてページを訪問するPerplexity-Userを区別しています。Perplexity-Userはユーザー要求による取得のため、robots.txtルールを無視する場合があると公式ドキュメントで説明されています。

出典:Perplexity「Perplexity Crawlers」

GooglebotとGoogle-Extendedを混同しない

Google検索のSEOを維持したい場合、GooglebotとGoogle-Extendedは区別してください。Googlebotを拒否すると、Google検索、Discover、Google画像検索、Googleニュースなどに関係するクロールへ影響し得ます。

一方、Google-ExtendedはHTTPリクエストで使われる独立したユーザーエージェント文字列ではなく、robots.txtで使う制御用トークンです。Googleは、Google-Extendedによって、将来世代のGeminiモデルのトレーニングや、Geminiアプリ・Vertex AIにおけるGoogle検索を使ったグラウンディングへの利用可否を管理できると説明しています。

User-agent: Google-Extended
Disallow: /

Google-Extendedの拒否はGoogle検索の拒否ではありません。Googleは、Google-Extendedの指定はGoogle検索への掲載に影響せず、検索ランキングシグナルにも使用しないと案内しています。ただし、Geminiなどで情報が参照される可能性を含むAI上の露出には影響し得るため、検索流入だけでなくAI回答上の方針も含めて判断してください。

出典:Google for Developers「Google の一般的なクローラー」

許可・拒否を判断するチェックポイント

すべて拒否するか、すべて許可するかの二択にせず、コンテンツの性質と事業上の目的に応じて決めます。設定前には次の点を確認してください。

  • 独自記事、独自データ、写真、商品説明などの利用方針を明文化できているか
  • AI検索やAI回答で引用・紹介される可能性を残したいか
  • AIボットによるアクセスがサーバー負荷やコストに影響しているか
  • 会員限定情報、契約上非公開の資料、個人情報を公開URLに置いていないか
  • 法務、編集、広報、営業、開発の間で方針が共有されているか

たとえば学習目的の収集だけを拒否し、検索・回答での露出は残したい場合は、学習用として案内されているボットだけを対象にします。引用やAI検索での露出も望まない場合は、各社の検索・回答用ボットも公式情報で確認したうえで、制御範囲を広げます。

robots.txtを安全に編集・公開する手順

robots.txtは数行の変更でも検索クローラー全体のアクセスに影響し得ます。作業は「現状確認、バックアップ、最小限の追記、公開後の検証」の順に進めてください。

既存のrobots.txtと管理場所を確認してバックアップする

最初にブラウザでhttps://あなたのドメイン/robots.txtを開き、現在公開されている内容を確認します。robots.txtはサイトのルートに置かれ、プロトコル、ホスト名、ポートごとに適用範囲が分かれます。たとえばhttps://example.com/robots.txtの設定は、別ホストであるhttps://www.example.com/へ自動で引き継がれるわけではありません。

出典:Google for Developers「How Google interprets the robots.txt specification」

WordPressでは、robots.txtが物理ファイルとしてサーバーにある場合のほか、SEOプラグイン、テーマ、ホスティング管理画面、CDN設定が仮想的に出力している場合があります。編集箇所が二重管理されていないか確認することが必要です。管理画面で変更しても公開URLの内容が変わらない場合は、キャッシュ、CDN、別の設定元を確認しましょう。

編集前には、公開中のrobots.txt全文をテキストファイルとして保存します。変更日時、変更者、変更理由、対象ボットも記録しておくと、検索トラブルやアクセス減少が起きた際の切り分けに役立ちます。

必要なUser-agentブロックだけを追記する

AIクローラーを追加で拒否する場合は、既存ルールの末尾などに対象ボットのグループを追加します。ボットごとに空行を入れると、グループの区切りが分かりやすくなります。

# AI学習用クローラーへの方針例
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

Sitemap: https://example.com/sitemap.xml

これは構成例です。既存のUser-agent: *DisallowAllow、サイトマップURLを削除する必要はありません。既存ルールに拒否がなければ、Googlebotを明示的に許可する記述も通常は不要です。変更対象と関係ない行を整理するためだけに、robots.txtを全面改修することは避けてください。

公開後はURL・サーバーログ・公式ツールで確認する

公開後は、まず/robots.txtをブラウザで開き、対象のUser-agentDisallowが意図どおりに表示されているか確認します。CDNやサーバーキャッシュがある場合は、必要に応じてキャッシュをパージしてから確認してください。

次に、アクセス解析ではなくWebサーバーまたはCDNのアクセスログで、対象ボットのアクセス状況を見ます。robots.txtの公開変更自体は公開URLに反映されますが、クローラーがファイルを再取得し、挙動を変更する時期は提供元の取得頻度に左右されます。OpenAIは検索向けのrobots.txt更新について、システム調整におおむね24時間かかる場合があると案内しています。

出典:OpenAI Developers「Overview of OpenAI Crawlers」

Google検索への影響を確認する場合は、Google Search Consoleのrobots.txt関連レポートやURL検査も活用できます。ただし、Google向けの検証結果を他社AIクローラーの判定にそのまま流用することはできません。各社の公式ドキュメントとログを併用してください。

代表的なAI関連クローラーを設定するときの注意点

AIクローラーの名称、目的、IPアドレス帯、robots.txtへの対応は変更されることがあります。記事やSNSのテンプレートをそのままコピーせず、設定時点の公式情報で確認してください。

OpenAIのクローラーは用途別に確認する

OpenAIでは、少なくともGPTBot、OAI-SearchBot、ChatGPT-Userが異なる目的で案内されています。GPTBotはモデル改善に使用され得るコンテンツのクロール、OAI-SearchBotはChatGPT検索での表示、ChatGPT-Userはユーザー起点の操作に関係します。

学習向けだけを拒否する方針なら、まずGPTBotだけを対象にします。ChatGPT検索での露出を避けたい場合はOAI-SearchBotも検討対象です。ただし、ユーザーが指示したアクセスまで含めて同じ挙動になるとは限りません。ボット名ではなく公式の用途説明で選ぶことが大切です。

出典:OpenAI Developers「Overview of OpenAI Crawlers」

Anthropic・PerplexityなどもUser-agent名と目的を確認する

AnthropicはClaudeBot、Claude-User、Claude-SearchBotを別のボットとして案内しています。ClaudeBotだけを拒否した場合、それは将来の学習データに関する意向を示す設定であり、Claudeにおけるユーザー起点の取得や検索結果品質向けの処理まで一律に止める設定とは限りません。

出典:Anthropic Help Center「Does Anthropic crawl data from the web, and how can site owners block the crawler?」

PerplexityBotは、Perplexityの検索結果でWebサイトを表示・リンクする目的のボットとして案内されています。Perplexityでの発見性を残したい場合、PerplexityBotまで一律に拒否するかは慎重に判断しましょう。

出典:Perplexity「Perplexity Crawlers」

User-agentの偽装と正規ボットの確認に注意する

User-agent文字列はHTTPリクエストヘッダーの値であり、第三者が似た名称を名乗ることもできます。そのため、過剰アクセス対策としてWAFルールを作る場合は、User-agentだけで正規ボットと断定しないことが重要です。

正規ボットの識別が必要な場合は、対象事業者が公開しているIP情報や検証方法を確認します。たとえばPerplexityは、クローラー情報とIPアドレス帯を公式ドキュメントで案内しています。IP情報は更新される可能性があるため、固定値を長期間手入力で維持するより、公式情報を定期的に確認する運用が適しています。

出典:Perplexity「Perplexity Crawlers」

robots.txtでできること・できないことと、拒否後もアクセスがある場合の対策

robots.txtは有用な意思表示ですが、コンテンツ保護、HTTPアクセス遮断、検索結果からの完全削除をまとめて実現するものではありません。目的に応じて別の対策を組み合わせる必要があります。

robots.txtは協力的なクローラーへの公開ルールであり完全な遮断ではない

robots.txtは、クローラーがどのURLを取得してよいかを伝えるテキストファイルです。Googleは、robots.txtの指示はクローラーの行動を強制できるものではなく、すべてのクローラーが対応するとは限らないと説明しています。

過去に取得・保存・学習された内容は削除できません。robots.txtの変更は、主に変更後のクロールに対する方針です。また、外部サイトからリンクされているURLは、robots.txtでクロールを拒否していても、URL自体やアンカーテキストが検索結果に現れる可能性があります。

出典:Google Search Central「Robots.txt Introduction and Guide」

機密情報の保護には認証・非公開設定を使う

管理画面、会員限定コンテンツ、未公開の提案資料、個人情報を含むページは、robots.txtだけに依存してはいけません。閲覧させたくない情報には、Basic認証、ログイン認証、IP制限、アプリケーション側の権限管理などを使います。

Google検索にページを出したくない場合は、ページがクロール可能な状態でnoindexを指定する方法や、認証による非公開化を検討します。PDFなどHTML以外のファイルには、サーバーのX-Robots-Tagヘッダーを使える場合があります。なお、noindexはクローラーがページを読めることが前提となるため、robots.txtによる拒否と無計画に併用しないことが大切です。

出典:Google Search Central「Robots Meta Tags Specifications」

負荷や不審なアクセスにはWAF・CDN・レート制限を検討する

robots.txtを無視するアクセス、短時間に大量のリクエストを行うボット、不正なUser-agent偽装には、WAF、CDN、サーバー側のレート制限、IP・ASN単位の制限などが必要になることがあります。これらはrobots.txtとは異なり、実際のHTTPアクセスを制御する対策です。

ただし、IP帯域の一括遮断は正規ボットや一般ユーザーまで巻き込むおそれがあります。まずログで対象URL、アクセス頻度、送信元、User-agent、レスポンスコードを確認し、必要最小限の条件で制限してください。

AIクローラーのrobots.txt設定に関するよくある質問

設定前後で迷いやすい点を補足します。個別サービスの仕様は変更されるため、実装直前には各社の公式ドキュメントを確認してください。

robots.txtでAI学習を完全に拒否できますか?

完全な拒否は保証できません。robots.txtは対応するクローラーに対し、今後のクロール方針を示す手段です。従わないアクセスを技術的に防ぐ機能や、過去に取得・学習されたデータを削除する機能はありません。

AIクローラーを拒否するとGoogle検索の順位は下がりますか?

Googlebotを拒否しない限り、他社のAIクローラーを拒否したこと自体がGoogle検索順位を下げるとはいえません。Google-Extendedについても、GoogleはGoogle検索への掲載やランキングシグナルには影響しないと案内しています。

設定変更はいつ反映されますか?

robots.txtの更新内容は公開URLで直後に確認できますが、各クローラーが再取得して挙動を変える時期は一定ではありません。提供元が案内する反映目安を確認しつつ、公開URLとサーバーログを継続して確認してください。

特定の記事やPDFだけをAIクローラーから除外できますか?

可能です。対象ボットのグループにDisallow: /path/や個別ファイルのパスを記述します。ただし、URLが公開されている限り、閲覧制限や転載防止にはなりません。重要資料は認証、期限付きURL、ダウンロード権限などで保護しましょう。

まとめ:AIクローラーの制御は目的別に最小限の設定から始める

AIクローラーをrobots.txtで拒否する基本は、対象のUser-agentに対してDisallow: /を記述することです。許可したいだけなら通常は記述不要ですが、包括的な拒否ルールがあるサイトではグループの競合に注意し、公開後の挙動を確認してください。

特に重要なのは、GPTBot、OAI-SearchBot、ClaudeBot、Claude-SearchBot、PerplexityBot、Google-Extendedなどを一括りにしないことです。学習、検索、ユーザー起点の取得を分けて判断することで、コンテンツ保護とAI経由の露出を両立しやすくなります。

設定前には既存のrobots.txtをバックアップし、変更は必要なボットだけに限定します。設定後は公開URL、サーバーログ、各社の公式ドキュメントを確認し、機密保護や過剰アクセスへの対応には認証、WAF、CDN、レート制限などを併用してください。

SEO / WEB MARKETING / AIO・LLMO

SEO・Web集客に約15年 その実務知見を、AIO・LLMO時代の記事制作へ

SEO・Web集客に15年以上携わってきた実務経験をもとに
検索意図の分析、記事構成、SEO、Web調査、品質確認まで。
AI時代の記事制作に必要な考え方と工程を、AIワプレスの仕組みに落とし込んでいます。

 

その記事制作、AIワプレスにおまかせください。

タイトルを入力するだけで、記事制作からWordPressへの投稿まで。
実際のWordPress環境でAIワプレスをご体験いただけます。

まずは無料で試してみる 2記事まで/30日間・クレジットカード登録不要