robots.txt と noindex の使い分け|AI 時代の正しいクロール制御
この記事でわかること
- robots.txt と noindex の違いと、それぞれが制御するもの
- AI 時代に新たに登場した bot(GPTBot、OAI-SearchBot など)への対応方法
- 「見せたいページ」と「隠したいページ」を正しく分ける設定例
robots.txt と noindex の基本的な違い
クロール制御の手段として、robots.txt と noindex はよく混同されます。
しかし、この 2 つは制御する対象が異なります。
| 項目 | robots.txt | noindex |
|---|---|---|
| 制御するもの | クローラのアクセス(読み込み) | 検索エンジンのインデックス登録 |
| 設定場所 | サイトルートに配置するテキストファイル | HTML の meta タグ、または HTTP ヘッダー |
| 効果 | 指定したパスへのクロールを禁止 | クロールは許可するが、検索結果には表示しない |
| 強制力 | 「お願い」ベースで、無視する bot もある | 検索エンジンは従う義務がある |
ページがすでにインデックスされていれば、検索結果から消えるとは限りません。
noindex はクロールを止めません。
bot がページを読み込んでから「インデックスしない」と判断します。
この違いを理解しないと、意図しない結果になります。
AI 時代に何が変わったのか
従来は Googlebot と Bingbot を意識すれば十分でした。
AI 検索の普及により、新たな bot が登場しています。
主要な AI 関連 bot
| bot 名 | 運営元 | 用途 |
|---|---|---|
| GPTBot | OpenAI | ChatGPT の学習・検索用データ収集 |
| OAI-SearchBot | OpenAI | ChatGPT Search(リアルタイム検索)用 |
| ChatGPT-User | OpenAI | ユーザーが ChatGPT から Browse した際のアクセス |
| PerplexityBot | Perplexity | Perplexity の回答生成用 |
| Google-Extended | Gemini の学習用データ収集 | |
| ClaudeBot | Anthropic | Claude の学習用データ収集 |
| Applebot-Extended | Apple | Apple Intelligence 向けデータ収集 |
逆に、許可していれば AI が情報を取得し、回答に引用する可能性が生まれます。
Disallow の落とし穴
robots.txt で AI bot をブロックすると、以下の結果になります。
- ChatGPT Search でページが参照されない
- Perplexity の回答に引用されない
- Google AI Overviews で情報が使われない
「クロールを減らしたい」という理由で広範囲に Disallow を設定すると、AI 検索からの流入機会を失います。
一方、noindex を設定しても AI bot のクロールは止まりません。
AI bot は「検索インデックスに登録しない」という指示を必ずしも解釈しないためです。
見せたいページと隠したいページの判断基準
クロール制御を設計するとき、まず「何を達成したいか」を明確にします。
AI 検索に引用されたいページ
以下のページは AI bot にクロールを許可します。
- 製品・サービスの説明ページ
- 会社概要、著者プロフィール
- ブログ記事、ナレッジベース
- FAQ、用語集
- 比較表、料金表
これらのページは robots.txt で許可し、noindex も設定しません。
AI 学習に使われたくないページ
学習用データとして使われたくないが、検索結果には表示したいページがあります。
この場合、GPTBot や Google-Extended だけをブロックし、OAI-SearchBot は許可します。
# 学習用 bot のみブロック(検索 bot は許可)
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
# 検索 bot は許可
User-agent: OAI-SearchBot
Allow: /
この設定は「AI の学習には使わせたくないが、AI 検索には表示されたい」という要望に対応します。
Google 検索にも AI 検索にも表示したくないページ
管理画面、ログインページ、テストページなど、外部に公開する意図がないページは以下のように設定します。
User-agent: *
Disallow: /admin/
Disallow: /login/
Disallow: /test/
加えて、HTML に noindex を設定します。
<meta name="robots" content="noindex, nofollow">
Disallow だけでは、外部リンクから直接アクセスされた場合にインデックスされる可能性があります。
noindex を併用することで、検索結果への表示を確実に防ぎます。
一時的に非公開にしたいページ
リニューアル中やメンテナンス中のページは、noindex だけを設定します。
Disallow を設定すると、bot がページを読み込めず、noindex の指示を認識できません。
結果として、検索結果に残り続ける可能性があります。
<!-- Disallow ではなく noindex で対応 -->
<meta name="robots" content="noindex">
AI bot への設定例
実務で使える robots.txt の設定例を示します。
基本設定(AI 検索に積極的に対応)
# すべての bot にクロールを許可
User-agent: *
Allow: /
# 管理系のみブロック
Disallow: /admin/
Disallow: /api/
Disallow: /_next/
Disallow: /cdn-cgi/
この設定では、GPTBot、OAI-SearchBot、PerplexityBot などすべての AI bot がサイトをクロールします。
学習は拒否、検索は許可
# 学習用 bot をブロック
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Applebot-Extended
Disallow: /
# 検索用 bot は許可
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Allow: /
特定のディレクトリだけ AI 検索に公開
User-agent: GPTBot
Disallow: /
Allow: /blog/
Allow: /products/
Allow: /about/
User-agent: OAI-SearchBot
Disallow: /
Allow: /blog/
Allow: /products/
Allow: /about/
User-agent: PerplexityBot
Disallow: /
Allow: /blog/
Allow: /products/
Allow: /about/
この設定では、ブログ、製品ページ、会社概要だけが AI 検索に表示され、他のページはブロックされます。
よくある設定ミスと対処法
Disallow と noindex の混同
「検索に出したくない」という意図で Disallow を設定するケースがあります。
しかし、Disallow はクロールを止めるだけで、インデックス削除は保証しません。
対処法: noindex を使う。Disallow は併用しない(bot が noindex を読めなくなるため)。
ワイルドカードの誤用
# 意図せず広範囲をブロック
User-agent: *
Disallow: /*?
この設定は、クエリパラメータを含むすべての URL をブロックします。
ページネーションやフィルタリングが機能しなくなる場合があります。
対処法: 必要なパスだけを明示的に指定する。
sitemap の未設定
robots.txt に sitemap を記載しないと、bot が効率よくクロールできません。
# sitemap を明示
Sitemap: https://example.com/sitemap.xml
AI bot の User-Agent を誤記
bot 名は正確に記載する必要があります。
- ✅
GPTBot - ❌
GPT-Bot,gptbot,OpenAI-Bot
User-Agent の仕様は各社のドキュメントで確認してください。
チェックリスト
robots.txt の確認
noindex の確認
設定の検証
よくある質問
robots.txt で AI bot をブロックすると SEO に影響しますか?
Googlebot をブロックしない限り、従来の SEO には影響しません。
ただし、Google AI Overviews は Google-Extended を参照するため、これをブロックすると AI Overviews には表示されなくなります。
noindex を設定しても AI に引用されますか?
される可能性があります。
noindex は「検索インデックスに登録しない」という指示であり、AI bot のクロール自体は止まりません。
AI が学習データとして使う可能性を排除するには、robots.txt で該当 bot をブロックする必要があります。
llms.txt は robots.txt の代わりになりますか?
なりません。
llms.txt は AI に対して「このサイトはこういう構造です」と伝えるためのファイルです。
クロール制御の機能はありません。
robots.txt と併用して使います。
CDN のセキュリティ機能で AI bot がブロックされていませんか?
Cloudflare などの CDN には、AI scraper を自動ブロックする機能があります。
意図せず AI bot をブロックしている場合があるため、CDN の設定を確認してください。
まとめ
robots.txt と noindex は制御する対象が異なります。
- robots.txt: クロール(読み込み)を制御
- noindex: インデックス(検索登録)を制御
AI 時代のクロール制御で押さえるべき 3 点:
- 目的を明確にする — AI 検索に表示されたいのか、学習に使われたくないのか
- bot ごとに設定を分ける — GPTBot と OAI-SearchBot は用途が異なる
- Disallow と noindex を正しく使い分ける — 混同すると意図しない結果になる
設定を終えたら、実際に ChatGPT や Perplexity で自社名を検索してください。
AI 検索での表示を確認することが、設定が正しく機能しているかの検証になります。