AIクローラーのアクセスポリシー
AIクローラーのアクセスポリシーとは、どのAIシステムが、どの目的で、公開ページを取得できるかを定める、意図的な (場合によってはファイアウォール)の設定です。「適切な」答えは、AIアシスタントの回答で引用されること、コンテンツをモデルのトレーニングから除外すること、またはその両方のどちらを重視するかによって異なります。そのため状況に応じて判断する必要があります。一方、状況に左右されないのは、貼り付けた「すべてのAIをブロック」テンプレートを、単なる中立的なセキュリティ強化策として扱わないことです。この選択にはマーケティング上の影響があります。
このページでは、Fernwood が経費管理についてのChatGPTとClaudeの回答に表示されたい一方で、法務チームは新しいページを基盤モデルのトレーニング用コーパスに提供したくないとします。
このテクニックは「アクセス」に関するものです。クローラーのアクセスを許可しても、実際のHTMLを受け取れる必要があります。詳しくは JavaScriptなしで読み取れるコンテンツ を参照してください。任意の手動キュレーションマップについては、別途 llms.txt で扱います。
状況に応じた判断が必要な理由
AI製品は、もはや単一の「AIボット」だけを使用しているわけではありません。主要ベンダーは、クローラーを用途ごとに分けています。
| 用途 | 代表的なボット | ブロックによる影響 |
|---|---|---|
| モデルのトレーニング | OpenAI GPTBot、Anthropic ClaudeBot、Common Crawl CCBot、Google Google-Extended(Geminiのトレーニング/グラウンディング制御用。Googlebotとは別) | コンテンツをトレーニングに使用しないよう通知します(Google-Extendedの場合は、Geminiのトレーニングや特定のAI機能への利用を制御します)。これだけで従来のGoogle検索から削除されるわけではありません。 |
| 検索/回答のインデックス作成 | OpenAI OAI-SearchBot、Anthropic Claude-SearchBot、PerplexityBot | その製品の検索型回答に表示・引用される資格が低下、または失われます。 |
| ユーザーが指示した取得 | OpenAI ChatGPT-User、Anthropic Claude-User、類似の「ユーザーがこのURLを要求した」AIエージェント | ユーザーがアシスタントにページを指定した際のリアルタイム取得を制御します。これらのAIエージェントについてrobots.txtを遵守するかどうかはベンダーごとに異なります。Disallow が機能すると決めつける前に、ベンダーの最新ドキュメントを確認してください。 |
OpenAI自身のクローラーのドキュメントでは、この独立性が明確に示されています。ウェブマスターは、ChatGPTの検索機能で表示されるよう OAI-SearchBot を許可しながら、クロールしたコンテンツが生成系基盤モデルのトレーニングに使われないよう GPTBot を拒否できます。Anthropicも、ClaudeBot(トレーニング)、Claude-SearchBot(検索品質)、Claude-User(ユーザー指示による取得)という同じ3分割を文書化しています。
したがって、ポリシーに関する問いは「AIをオンにするか、オフにするか」ではありません。Fernwoodのリスク許容度とAEOの目標に合わせて、3つの別々の判断を行う必要があります。
通常、検索/回答クローラーを許可する場合:
- アシスタントにFernwoodのドキュメント、調査資料、比較ページを引用してほしい。
- 競合他社はすでにその回答に表示されているが、自社は表示されていない。
- テンプレートが誤ってすべてをブロックしたため、Silktideの AIクローラーのアクセス チェックが警告している。
トレーニングクローラーをブロックまたは制限することが多い場合:
- 法務またはブランドポリシーにより、サイトのコンテンツを第三者のモデルのトレーニングに提供することが禁止されている。
- ライブでの引用は引き続き望んでいても、独自調査、価格設定ロジック、アクセス制限に近い資料などをトレーニング用コーパスから除外する必要がある。
広範囲にブロックする場合:
- サイトが非公開、ステージング環境、またはアシスタントの回答に表示されるマーケティング上の理由がない(イントラネット、純粋なアプリUI、パートナーポータルなど)。
- AIの回答から完全に除外するという意図的な製品判断をしており、その経路を失うことを受け入れられる。
判断方法(Fernwoodのワークシート)
次の項目を順番に確認します。回答を書き留めてください。robots.txtファイルは、このワークシートを記述したものにすぎません。
- AIの回答で引用されたいか。 いいえの場合、主要な検索/回答ボットを拒否し、Silktideの警告を承認します。はいの場合は次に進みます。
- どのアシスタントが重要か。 ChatGPT、Claude、Perplexity、GoogleのAI機能などには、それぞれ独自のAIエージェントがあります。実際に購入者が使用しているものを優先します。
- トレーニングからのオプトアウトが必要か。 法務が必要と判断した場合は、検索エージェントを許可したまま、ベンダーが分離に対応している範囲でトレーニングエージェント(
GPTBot、ClaudeBot、Google-Extended、CCBotなど)を拒否します。 - いずれにしても非公開にすべきパスがあるか。
\/app\/、\/internal\/、下書きプレビューURLなどは、*に対して拒否します(認証によって引き続き保護されていることも確認してください。robots.txtはアクセス制御ではありません)。 - HTMLは実際に取得可能か。 許可されたrobots.txtでも、空のSPAシェルしか返さなければAEOには失敗します。次にレンダリングを修正してください。
robots.txtでポリシーを実装する
robots.txtは https:\/\/fernwood.example\/robots.txt にあります。ルールはユーザーエージェントのグループごとに適用されます。より具体的なグループは、そのエージェントに対する包括的な設定より優先されます。User-agent: * でAIポリシーを表現できると期待するのではなく、名前付きエージェントを優先してください。* の下で Disallow: \/ を設定するテンプレートは、Googlebotなど他のすべてのクローラーも妨げます。
パターンA - 回答には表示し、トレーニングからは除外する(AEOを重視するサイトで一般的)
# OpenAI: ChatGPT検索で引用されるようにし、基盤モデルのトレーニングには使用しない
User-agent: OAI-SearchBot
Allow: \/
User-agent: GPTBot
Disallow: \/
# Anthropic: 検索インデックス作成を許可し、トレーニング用クロールをブロック
User-agent: Claude-SearchBot
Allow: \/
User-agent: ClaudeBot
Disallow: \/
# Google: Googlebot(検索)は別のもの。Google-ExtendedはGeminiのトレーニング/AI機能を制御
User-agent: Google-Extended
Disallow: \/
# 非公開のアプリパスをすべてのクローラーに対して閉じる
User-agent: *
Disallow: \/app\/
Disallow: \/internal\/
OpenAIによると、検索に関するrobots.txtの変更が反映されるまでには約24時間かかる場合があります。公開後に再確認してください。
パターンB - 完全に開放する(回答エンジンへの到達範囲を最大化)
AI固有の Disallow ルールを省略します。User-agent: * の下でサイト全体が誤って禁止されていないことを確認してください。非公開のパスは引き続き保護します。
パターンC - AI製品に対して完全に閉じる
User-agent: GPTBot
Disallow: \/
User-agent: OAI-SearchBot
Disallow: \/
User-agent: ClaudeBot
Disallow: \/
User-agent: Claude-SearchBot
Disallow: \/
User-agent: Claude-User
Disallow: \/
User-agent: PerplexityBot
Disallow: \/
User-agent: Google-Extended
Disallow: \/
User-agent: CCBot
Disallow: \/
これは意識的に選択した場合にのみ使用してください。そのうえで、SilktideのAIクローラー警告を すると、その検出結果はサイトの評価に影響しなくなります。
実際にアクセスしている相手を確認する
User-Agent文字列は簡単に偽装できます。確実性が必要な場合は、ベンダーが公開しているIPリストを優先してください。
- OpenAIは、OpenAIのボットドキュメントからリンクされているクローラーIPのJSONを公開しています。
- Anthropicは、claude.com/crawling/bots.jsonでクローラーIPを公開しています。
robots.txtによるシグナルなしにIPだけでブロックする方法は脆弱です。Anthropicは、IPブロックによってボットがrobots.txtを読み取り、オプトアウトを正常に完了する機能が妨げられる可能性があると説明しています。
robots.txtでは解決できないこと
- ファイアウォール/ボット管理による誤検知。 Webアプリケーションファイアウォール(WAF)とは、Cloudflareなどのサービスがサイトの前段に配置するフィルタリング層です。WAFが「ブラウザではない」クライアントにチャレンジを要求したり403を返したりすると、robots.txtでGPTBotを許可していてもブロックされることがあります。Silktideはこれを 実際にはブロックされているAIクローラー として個別にテストします。
- 空のJavaScriptシェル。 クローラーを
<div id="root"></div>に入れても、何の役にも立ちません。このテクニックを JavaScriptなしで読み取れるコンテンツ と組み合わせてください。 - 魔法のようなランキング向上。 クローラーを許可することで、引用が可能になります。実際に選ばれるかどうかは、引用しやすいページ、日付、身元情報、根拠によって決まります。詳しくは 回答を優先したページ構成 と 組織のアイデンティティマークアップ を参照してください。
- 代替手段としての
llms.txt。 インデックスファイルでDisallowを上書きすることはできません。llms.txt を参照してください。
Silktideによるサポート
- AIクローラーのアクセス は、既知のAIユーザーエージェントのリストに照らしてrobots.txtを解析し、サイトのルートが拒否されている場合に警告します。意図したブロックであれば、この警告を承認できます。
- 実際にはブロックされているAIクローラー は、それらのクローラーとして取得を行い、robots.txtでは説明できないファイアウォールやエッジでのブロックを検出します。
- JavaScriptなしのコンテンツ は、「許可されているが空」という失敗パターンを検出します。
関連項目
- AIクローラーのアクセス - このテクニックが詳しく説明するSilktideのチェック
- JavaScriptなしで読み取れるコンテンツ
- llms.txt - アクセスを解決した後に使用する任意のキュレーション済みインデックス
- OpenAIのクローラーに関するドキュメント
- Anthropicのクローラーに関するドキュメント
- Googleクローラーの概要(Google-Extendedを含む)
- robots.txt仕様(RFC 9309)