robots.txt で AI クローラーを制御する ― 手順・レシピ・チェックリスト
方針決めから配置・限界の理解まで。 ・ 記法は RFC 9309 (Robots Exclusion Protocol) ・ 最終更新 2026-09-10
robots.txt は、どのクローラーにどのパスへのアクセスを許可/拒否するかを伝えるファイルです。 AI学習の拒否・AI検索の許可も、対象の user-agent ごとに書き分ければ設定できます。 ただし robots.txt は自発的に従うボット向けのお願いで強制力はありません。
方針を決める(読ませたい/学習だけ拒否/全拒否)
まず「AIにどう扱われたいか」を決めます。AI検索に出て集客したいなら許可、コンテンツを学習に使われたくないなら学習系だけ拒否、一切使われたくないなら全拒否。上のレシピから選べます。
対象のUser-agentを選ぶ
目的に合うクローラーの user-agent トークンを選びます。学習系(GPTBot・ClaudeBot・Google-Extended・CCBot)・AI検索系(OAI-SearchBot・PerplexityBot・Claude-SearchBot)・ユーザー操作系(ChatGPT-User・Perplexity-User)で挙動が違う点に注意します。
robots.txt に User-agent と Allow / Disallow を書く
「User-agent: 名前」の次の行に「Allow: /」または「Disallow: /」を書きます。RFC 9309 では、あるクローラーに一致するグループがあれば * のグループより優先されます。トークンの大文字小文字は一般に区別されない実装が多いですが、公式表記に合わせるのが無難です。
サイト直下 /robots.txt に配置する
robots.txt はドメイン直下(https://example.com/robots.txt)に置きます。静的サイトなら public/ や static/ に robots.txt を置けば配信されます。サブディレクトリには効きません。
robots.txt の限界を理解しておく
robots.txt は自発的に従うボット向けの「お願い」で、無視するボットや、UAを詐称するアクセスは防げません。ユーザー起点のフェッチャ(ChatGPT-User・Perplexity-User)は robots.txt に従わない場合があると各社が明記しています。厳密な遮断が必要ならサーバ側でのUA/IP制御を併用します。
AIに読ませたいなら llms.txt もあわせて用意する
許可方針の場合、robots.txt で許可したうえで、サイトの要約と主要ページを案内する llms.txt を置くと、AIがサイトの要点をつかみやすくなります(効果は保証されません)。
コピペ用レシピ(3種)
目的に合うものを public/robots.txt として保存してください。 example.com は自分のドメインに置き換えます。
すべてのAIクローラーを許可する(AIに読ませたい)
AI検索・生成AIに引用・掲載されたいサイト向け。既定(User-agent: * / Allow: /)でも許可されますが、主要AIクローラーを明示 Allow にして意思表示できます。当社の全サイトはこの方針です。
User-agent: *
Allow: /
# AIクローラーを明示的に許可
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
Sitemap: https://example.com/sitemap.xmlAI学習だけ拒否し、AI検索は許可する
「モデルの学習には使ってほしくないが、AI検索には出したい」場合。学習系(GPTBot・ClaudeBot・Google-Extended・CCBot 等)を Disallow し、検索系(OAI-SearchBot・PerplexityBot・Claude-SearchBot)は Allow のままにします。
# --- AI学習クローラーを拒否 ---
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /
# --- AI検索はそのまま許可(何も書かなければ許可) ---
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /すべてのAIクローラーを拒否する
AIに一切使われたくない場合。ただし robots.txt は「お願い」であり強制力はありません。またユーザー起点のフェッチャ(ChatGPT-User・Perplexity-User)は robots.txt に従わない場合があります。
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Claude-SearchBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /設定チェックリスト
上から順に確認すると、書き間違いや配置ミスを防げます。
- 方針を決めた(許可 / 学習だけ拒否 / 全拒否)
- 公式表記どおりの user-agent トークンを使っている
- 各クローラー向けグループを * のグループと分けて書いた
- ドメイン直下 /robots.txt でアクセスできる
- Sitemap: 行でサイトマップURLを示した(任意)
- ユーザー起点フェッチャ(ChatGPT-User等)はrobots.txtに従わない場合があると理解している
- robots.txt は強制力のない「お願い」だと理解している(厳密遮断はサーバ側)
- 許可方針なら llms.txt もあわせて用意した(任意)