PR-067 AIクローラーを意図せずブロックしていないか不安——robots.txtをAI視点で診断する方法
こんな悩みはありませんか?
「robots.txtは公開当初にエンジニアが設定したまま、誰も中身を見直していない」「GPTBot・ClaudeBot・PerplexityBotのような名前を最近よく聞くが、自社のrobots.txtがそれぞれをどう扱っているのか分からない」——こうした状態は珍しくありません。SEO目的でrobots.txtを触ったことはあっても、AI検索・AI回答生成のためのクローラーまで意識して見直した会社は多くないのが実情です。「User-agent: * に対するDisallow: / が残っていて、実は全AIクローラーを締め出していた」という事故は、意図せず起こり得ます。
この記事でできるようになること
自社のrobots.txtの中身をAIに読み込ませ、主要なAIクローラー(OAI-SearchBot・GPTBot・ClaudeBot・PerplexityBot・Google-Extended等)それぞれが許可・禁止・記載なしのどれに該当するかを一覧化し、意図しないブロックがないかを確認できるようになります。
使うプロンプト
入力に必要な素材
- 自社サイトの robots.txt の中身(ブラウザで「対象URL/robots.txt」にアクセスして全文コピー。空ファイル・404だった場合はその旨を記載)
【Claude推奨・ChatGPTでも実行可】
# 役割
あなたはAIクローラー制御の診断担当です。robots.txtの記述を読み取り、意図しない全面ブロックの見落としを防ぐことを専門にしており、読み手はエンジニアではないWeb担当者です。専門用語は使う場合、初出時に一言で補足してください。
# 入力素材の確認
以下の内容が貼り付けられている前提で作業してください。
- 対象URLのrobots.txtの中身(全文)
robots.txtの中身が貼り付けられていない場合、または「見つからない」「404だった」という報告のみの場合は、診断に進まず「robots.txtの中身が確認できません。対象URL/robots.txtにアクセスして全文を貼り付け直してください」とだけ回答し、そこで処理を止めてください。
# 対象robots.txt
【対象URL】/robots.txt の中身をそのまま貼り付ける
# 分析手順
1. 貼り付けられたrobots.txtをUser-agentのブロックごとに区切り、それぞれどのボットを対象にしているかを整理する
2. OAI-SearchBot・GPTBot・ClaudeBot・Claude-User・PerplexityBot・Google-Extendedなど主要なAI関連クローラーごとに、許可(Allow)・禁止(Disallow)・記載なしのいずれに該当するかを判定する
3. User-agent: * のブロックで広範なDisallowがないか、あれば対象範囲を確認する
4. Crawl-delay等クロール速度に関する設定の有無を確認する
5. 判定に迷う記述(コメントのみ・記法が不明瞭な行等)を「要確認」としてリストアップする
# 確認してほしいこと
1. OAI-SearchBot・GPTBot・ClaudeBot・Claude-User・PerplexityBot・Google-Extendedなど、主要なAI関連クローラーそれぞれについて、許可(Allow)・禁止(Disallow)・記載なしのどれに該当するか一覧にする
2. 意図せず全AIクローラーを一括ブロックしている記述(例: User-agent: * に対するDisallow: /)がないか
3. Crawl-delay等、クロール速度に関する設定があれば明記する
4. 記載がないボットについては「robots.txtに記載なし(既定では許可扱いになりうる)」と明記する
# 出力形式
ボットごとの判定結果を表(ボット名|判定|該当行)で示してください。最後に、以下を3行以内で要約してください。
- 禁止(Disallow)と判定したボット数
- 「要確認」に分類した行数
- 全AIクローラー一括ブロックの有無
推測でルールを補わず、貼り付けた内容だけから読み取れる範囲で回答してください。判断に迷う記述は「要確認」としてください。
# 品質ガード
- 貼り付けられていないボット名・記法について、一般的な仕様を前提に断定しない
- 「記載なし」は「拒否」ではなく「既定では許可扱いになりうる」という意味であることを説明文に含める
- この診断はテキストの読み取りにとどまり、実際のクロール挙動の保証ではないことを最後に一言添える実行手順
- ブラウザで「対象URL/robots.txt」(例: https://example.com/robots.txt)を開き、中身を全文コピーする
- Claude(またはChatGPT)で新規チャットを開き、プロンプトの【対象URL】部分を実際のURLに書き換え、コピーしたrobots.txtの中身を貼り付けて実行する
- 出力された一覧表で、OAI-SearchBot・GPTBot・ClaudeBot・PerplexityBot・Google-Extendedの行に「禁止」がないかを確認する
- Google Search Consoleの robots.txt テスタ、または外部のrobots.txt検証ツールに同じ内容を貼り付け、AIの回答と機械的な構文チェックの結果が一致しているかを照合する
- 意図しないDisallowが見つかった場合は、変更前に必ずエンジニア・Web担当者に確認してから修正する
結果の読み解き方
- 「記載なし」の扱いに注意してください。多くのクローラーはrobots.txtに記載がない場合、既定では許可(クロール可能)として動きます。AIの回答が「記載なし=拒否」と誤解釈していないか、説明文まで読んで確認してください。
- User-agent: * に対する広範なDisallowが、意図的な全面ブロック方針なのか、単に古い設定の名残なのかは、社内の設定経緯を確認しないと判断できません。
- Crawl-delayが極端に長い値になっている場合、実質的にクロールをほぼ止めてしまっている可能性があります。
注意点
- AIは実際にサイトへアクセスしてrobots.txtを取得しているわけではなく、貼り付けたテキストの範囲でしか判断できません。robots.txtの実物とAIの回答を必ず突き合わせてください。
- クローラー名・仕様は各AI企業の公式ドキュメントで随時更新されます。本プロンプトの判定はAIの知識時点に基づくため、最終判断は各社の最新公式ドキュメント(OpenAI・Anthropic・Perplexity等)で必ず裏取りしてください。
- 危険な間違い例: AIの提案をそのまま「User-agent: *」の下に「Disallow: /ai/」のように貼り付け保存すると、意図した1クローラーだけでなく全クローラーを対象にしてしまうことがあります。User-agentの指定範囲(*か個別ボット名か)を保存前に必ず目視確認してください。
関連レッスン・関連パターン
- レッスン III-A1 AIクローラー全種類図鑑・III-A7 robots.txt設計判断(許可のリスクとリターン)(クローラーの種類と許可判断の考え方を先に理解しておくと、診断結果の解釈がぶれません)
- 関連パターン: PR-080 CDNレベルでAIクローラーを制御する方法(robots.txtだけでは制御しきれない部分の次の一手)・PR-070 技術監査チェックリストを一気に実行する方法(この診断結果を他の技術項目と合わせて棚卸しする)
確認テスト
選択肢をクリックすると、その場で正誤と解説が表示されます。
Q1. robots.txtに特定のAIクローラー名(例: PerplexityBot)の記載が一切ない場合、多くのクローラーは既定ではクロールを許可されているとみなされる。
記事は「記載がない場合、既定では許可(クロール可能)として動く」ことが多いと説明し、「記載なし=拒否」と誤解していないか確認するよう促している。
Q2. robots.txtの診断結果(AIの回答)を鵜呑みにせず、必ず突き合わせるべきものはどれか。
実行手順で、AIの回答と機械的な構文チェックの結果が一致しているか外部ツールで照合するとされている。
Q3. 記事が挙げる「危険な間違い例」として正しいのはどれか。
User-agent: * の下に意図した1クローラー向けのDisallowを書いたつもりが、全クローラーを対象にしてしまう事故が起こり得るとされている。
よくある質問
Q. OAI-SearchBotとGPTBotは同じ扱いにしてよいですか?
記事ではそれぞれ別のクローラーとして一覧化し、Allow/Disallow/記載なしを個別に確認する対象としています。用途が異なるため一括りにはしません。
Q. robots.txtを直せば必ずAI検索に載るようになりますか?
記事はそこまでの効果を保証していません。あくまで意図しないブロックを解消するための診断にとどまり、掲載を保証する話は記事では扱っていません。
Q. Crawl-delayの設定はどんなときに注意が必要ですか?
極端に長い値になっている場合、実質的にクロールをほぼ止めてしまっている可能性があるため注意が必要です。