最初に押さえたいこと
- robots.txt は、クローラーに対して 「どのパスをクロールしてよいか、避けてほしいか」 を伝えるテキストファイルです。
- 検索結果に出さないための仕組みではありません。検索に出したくないページは、noindex、認証、アクセス制御などを別に考えます。
- AIクローラーに対しても User-agent ごとに方針を書けますが、すべてのBotが必ず従うとは限りません。
- サイトマップの場所を伝える用途にも使えます。小規模サイトなら、まずは全許可 + Sitemap から始めるのが分かりやすいです。
Webサイトを運用していると、robots.txt は置いた方がいいの? AIクローラーを止めたいなら何を書けばいいの? という話が出てきます。
名前だけ見るとセキュリティ設定のようにも見えますが、robots.txt は秘密情報を守るためのファイルではありません。
この記事では、2026年10月時点で RFC 9309、Google Search Central、OpenAI、Anthropic、Perplexity、Apple、Common Crawl の公開情報を確認しながら、robots.txt が検索エンジンとAIクローラーに何を伝えるファイルなのかを整理します。
AI向けの案内ファイルとの違いを先に見たい場合は、llms.txtとは?AI検索時代のWebサイト運用で何を指定するファイルなのか もあわせて読むとつながりやすいです。
robots.txtとは何か
robots.txt は、サイトのルートに置くテキストファイルです。
たとえばこのサイトなら、次のURLで公開されています。
https://engineer-notes.net/robots.txt
中身は次のような形です。
User-agent: *
Allow: /
Sitemap: https://engineer-notes.net/sitemap.xml
これはかなりシンプルで、すべてのクローラーに対して全体を許可し、XMLサイトマップの場所を伝える という意味です。
RFC 9309 では、robots.txt の仕組みは Robots Exclusion Protocol として標準化されています。
ざっくり言うと、クローラーがサイトを巡回する前に /robots.txt を見に行き、そこに書かれたルールを読んで、どのURLパスへアクセスしてよいかを判断する仕組みです。
- 1
巡回の前に見に行く
クローラーはサイトを巡回する前に /robots.txt を取得する。
- 2
ルールを読む
自分の User-agent に当てはまる Allow / Disallow を読む。
- 3
アクセスを判断する
どのURLパスへアクセスしてよいかを判断してから巡回する。
検索エンジンに何を伝えるのか
robots.txt が検索エンジンへ伝える中心は、クロールしてよい範囲 です。
Google Search Central でも、robots.txt は主にサイトへのクローラーのリクエストを管理するためのものとして説明されています。
よく使う指定は次の3つです。
| 指定 | 意味 | 例 |
|---|---|---|
| User-agent | どのクローラー向けのルールかを指定する | User-agent: Googlebot |
| Disallow | クロールしてほしくないパスを指定する | Disallow: /admin/ |
| Allow | クロールを許可するパスを指定する | Allow: / |
| Sitemap | XMLサイトマップの場所を伝える | Sitemap: https://example.com/sitemap.xml |
User-agent: の行で指定する Googlebot などの名前は、クローラーがアクセス時に名乗るUser-Agent(UA)の値です。robots.txt はこの名乗りを見て、どのクローラーにどのルールを適用するかを切り替えます。
行儀の悪いボットは名乗りを偽ったり robots.txt を無視したりする点には注意が必要です。
たとえば、管理画面や検索結果ページなど、検索エンジンに巡回してほしくない場所があるなら次のように書けます。
User-agent: *
Disallow: /admin/
Disallow: /search
Sitemap: https://example.com/sitemap.xml
ここで大事なのは、robots.txt は クロールしないでほしい と伝える仕組みであって、検索結果に絶対出すな と命令する仕組みではないことです。
noindexとの違い
robots.txt と noindex は混同されやすいです。
でも役割はかなり違います。
| 仕組み | 主な役割 | 注意点 |
|---|---|---|
| robots.txt | クローラーにクロール方針を伝える | ページが検索結果に出ない保証ではない |
| noindex | ページを検索インデックスに入れないよう伝える | クローラーがページを読めないと noindex を確認できない |
| 認証・アクセス制御 | そもそも見せてはいけない情報を守る | 秘密情報や管理画面はここで守る |
Google Search Central も、Webページを検索結果から隠す目的で robots.txt を使わないよう注意しています。
理由は、他のページからリンクされているURLなどは、本文をクロールされなくても検索結果にURLとして出る可能性があるためです。
つまり、実務では次のように分けます。
秘密にしたいURLを robots.txt に書くと、むしろ ここに見られたくないパスがあります と公開してしまうことにもなります。
AIクローラーには何を伝えられるのか
AI検索や生成AIの普及で、robots.txt はAIクローラーの制御にも使われるようになっています。
たとえば、OpenAI は公開ドキュメントで OAI-SearchBot や GPTBot などのクローラーと、robots.txt での制御について案内しています。
Google も Google-Extended という product token を公開しており、今後の Gemini モデルの学習や、Gemini アプリ・Vertex AI でのグラウンディングにコンテンツを使うかどうかの制御に使えると説明しています。Google 検索への登録や順位には影響しないとも明記されています。
Google は 2026年10月30日に、IETF の AIPREF ワーキンググループの成果に基づく共通の学習制御を robots.txt でサポートする計画を発表しました。会社ごとに指示を書き分けず、共通の policy token で参加する AI 事業者にまとめて意思表示できる仕組みで、学習を拒否する指定があり Google-Extended が明示されていなければ、Google は Google-Extended の拒否として扱う予定です。目標は他の事業者とともに2027年で、いまの Google-Extended などの個別指定は引き続き使えます。詳細は Google 検索セントラルの発表で確認できます。
同じ日に OpenAI と Microsoft も対応を表明し、書き方の案も出ました。IETF に個人名義で提出されたドラフト(draft-kelley-aipref-training-preference-signal-00、提出者は Anthropic の所属)では、User-Agent にクローラー名ではなく方針を表す名前 __usage_ai-training を書き、Disallow: / で学習に使わない意向、Allow: /press-kit/ のような例外を示します。新しい命令は増えず、User-Agent: * の組はこの名前に当てはまらず、書かなければ意向を示さなかったことになります。クロール自体を止める指定ではありません。
時期は、OpenAI が「今後数か月以内」、Google が 2027年、Microsoft が 2027年2月1日からです。Microsoft はこれに合わせて NoArchive・NoCache を 2027年3月1日以降は学習や回答への利用の意向として読まなくなります。ドラフトは IETF の標準ではなく、有効期限は 2027年5月3日で、書き方が変わる可能性があります。いま書いても各社の対応前は効かないため、急がず、書くときも個別指定は残したまま追加するのが安全です。出典:OpenAI、Microsoft Bing、IETF ドラフト。
ログでAIクローラーの挙動を見る基本は、AIクローラーとは?Webサイト運用でログとrobots.txtを見る基本 で整理しています。
例として、検索エンジンの通常クロールは許可しつつ、特定のAIクローラーだけを止めたい場合は、次のような形になります。
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
各社の公式ドキュメントで確認できる主な名前は次のとおりです(2026年10月時点)。同じ会社でも、学習用・検索用・利用者の操作による取得で名前が分かれています。
| 会社 | 名前 | 主な用途 |
|---|---|---|
Googlebot / Google-Extended |
Google 検索のクロール / Gemini の学習・グラウンディングへの利用可否(Google-Extended は robots.txt に書く制御用のトークンで、独自の UA 文字列は持たない) | |
| OpenAI | GPTBot / OAI-SearchBot / ChatGPT-User |
基盤モデルの学習 / ChatGPT の検索での表示 / 利用者の操作による取得(robots.txt が適用されない場合があると説明) |
| Anthropic | ClaudeBot / Claude-SearchBot / Claude-User |
モデルの学習 / 検索結果の品質向上 / 利用者の質問に応じた取得 |
| Perplexity | PerplexityBot / Perplexity-User |
検索結果での表示 / 利用者の操作による取得(robots.txt を基本的に無視すると説明) |
| Apple | Applebot / Applebot-Extended |
Siri や Spotlight などの検索機能 / 生成AIの学習への利用可否(Applebot-Extended はクロールしない) |
| Common Crawl | CCBot |
公開ウェブのクロールデータの収集 |
古い解説で見かける anthropic-ai は、2026年10月時点の Anthropic のヘルプには載っていません。また Apple は、Applebot 向けの指定が無い場合は Googlebot 向けの指定に従うと説明しています。
Google-Extended を拒否しても、Google 検索の AI Overviews や AI Mode への表示は止まりません。表示するかどうかは、Search Console の設定にある「Search generative AI」で選びます(2026年8月31日から全サイトで利用可能)。
robots.txt は、協力的なクローラーに対する公開ルールです。悪質なスクレイパーや、身元を偽るBot、仕様を守らないBotまで止める防壁ではありません。
AIクローラー対策を本気で考えるなら、robots.txt だけでなく、サーバーログ、CDNやWAFのBot管理、レート制限、認証、利用規約、必要に応じた法務判断まで含めて考える必要があります。
リクエスト量の制御という観点では、APIのレート制限とは?ログイン・Webhook・外部APIで必要になる理由 も考え方が近いです。
sitemap.xmlやllms.txtとの違い
robots.txt、sitemap.xml、llms.txt は、どれもサイトのルート付近に置かれることが多いので混ざりやすいです。
役割は次のように分けると分かりやすいです。
| ファイル | 主な目的 | ひと言で言うと |
|---|---|---|
| robots.txt | クローラーにアクセス方針を伝える | どこを巡回してよいか |
| sitemap.xml | 検索エンジンにURL一覧や更新情報を伝える | どんなページがあるか |
| llms.txt | AIアシスタントやLLMに重要情報を案内する | 何を読めば文脈が分かるか |
XMLサイトマップや更新通知の役割まで見るなら、IndexNowとは?何がうれしい?仕組み・XMLサイトマップとの違い・注意点を解説 が近いです。 sitemap.xml の基本から整理したい場合は、sitemap.xmlとは?検索エンジンにURL一覧を伝える基本 もあわせて読むと分かりやすいです。
よくある書き方
小規模な技術ブログやコーポレートサイトなら、まずはこの形で十分なことが多いです。
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
検索結果ページや管理画面を避けたいなら、次のようにします。
User-agent: *
Disallow: /admin/
Disallow: /search
Allow: /
Sitemap: https://example.com/sitemap.xml
サイト全体を公開前に止めたい場合、次のような指定を見かけます。
User-agent: *
Disallow: /
本番公開後に残ると、検索エンジンがサイトをクロールできなくなります。公開前環境なら、robots.txt だけでなくBasic認証やIP制限で守る方が安全です。
運用で注意すること
robots.txt は小さいファイルですが、ミスの影響は大きいです。
特に次の点は確認した方がよいです。
公開URLで見えるか
https://example.com/robots.txt が 200 で返るか確認します。Google の場合、403 や 404 などの 4xx(429 を除く)は「robots.txt が無い(制限なし)」として扱われ、500 番台が続くとクロールを止めることがあります。リダイレクトは5回程度まで追います。
本番でDisallow: /が残っていないか
検証環境の設定を本番へ持ち込むと、サイト全体をクロール拒否してしまうことがあります。
秘密のURLを書かない
robots.txt は誰でも見られます。管理画面や内部パスを並べると、むしろ場所を教えることになります。
AIクローラーはログで見る
robots.txt に書いたら終わりではなく、アクセスログやCDN側のBot管理で実際の挙動を確認します。
Google Search Central には robots.txt の作成・送信・テストに関するドキュメントがあります。
実務では、編集後にブラウザや curl で公開状態を確認し、Google Search Console 側でも問題が出ていないか見るのが堅実です。
robots.txtに関するよくある質問
Q. robots.txt は必須ですか?
A. 必須ではありませんが、推奨です。クローラーへの案内、不要パスのクロール除外、サイトマップ場所の指示、などができます。空でも置く だけで あえて何も禁止していない が伝わります。
Q. Disallow すれば検索結果に出なくなりますか?
A. 出る可能性があります。Disallow は クロール禁止 であって インデックス禁止 ではありません。検索結果から完全に外したいなら noindex メタタグ または X-Robots-Tag: noindex ヘッダーが必要です。
Q. AI クローラー(GPTBot、ClaudeBot など)はブロックできますか?
A. できます。User-agent: GPTBot の Disallow で対応可能です。ただし、User Agent を偽装するクローラー には効きません。また、ChatGPT-User や Perplexity-User のような利用者の操作による取得には robots.txt が適用されない場合がある、と各社が説明しています。確実に止めたいなら CDN や WAF 層での制御が必要です。
Q. Crawl-delay は使うべきですか?
A. Google は対応していません。対応を明記している会社(Anthropic など)もあれば、無視すると明記している会社(Apple など)もあり、扱いはクローラーごとに違います。Search Console のクロール頻度の設定は2024年1月に廃止されたため、Googlebot の巡回を一時的に減らしたいときは、Google の案内どおり 500・503・429 を返す方法を使います。
Q. Sitemap 指定の効果は?
A. サイトマップの場所を検索エンジンに伝える方法の1つです。Sitemap: https://example.com/sitemap.xml の1行を書いておけば、Search Console などで送信していない検索エンジンにも場所を知らせられます。ただし、書いたからといってすべての URL がインデックスされるわけではありません。
Q. 管理画面のパスは書くべきですか?
A. 書かない方が安全です。Disallow: /admin/ と書くと、admin というパスが存在する ことを攻撃者に教えてしまいます。noindex メタタグ + IP 制限 で守る方が安全です。
Q. サブドメインごとに別の robots.txt が必要ですか?
A. 必要です。www.example.com と blog.example.com は別サイト扱いで、それぞれにrobots.txt が必要です。
まとめ
robots.txt は、検索エンジンやAIクローラーに対して、サイト内のどのパスをクロールしてよいか、避けてほしいかを伝えるファイルです。
User-agent で対象クローラーを指定し、Allow や Disallow で方針を書き、必要に応じて Sitemap でXMLサイトマップの場所を伝えます。
ただし、robots.txt は検索結果から隠すための仕組みでも、秘密情報を守るための仕組みでもありません。
検索に出したくないページは noindex、見られてはいけないページは認証やアクセス制御、AIクローラー対策はログ監視やBot管理まで含めて考えるのが現実的です。
小規模サイトなら、まずは User-agent: *、Allow: /、Sitemap: ... のシンプルな構成から始め、必要な場所だけ慎重に制御するのが安全です。
参考
- IETF RFC 9309: Robots Exclusion Protocol
- Google Search Central: Introduction to robots.txt
- Google Search Central: Create and submit a robots.txt file
- Google Search Central: Google crawlers and fetchers
- OpenAI: Overview of OpenAI Crawlers
- Anthropic: Does Anthropic crawl data from the web, and how can site owners block the crawler?
- Apple: About Applebot
- Perplexity Docs: Perplexity Crawlers
- Common Crawl: CCBot
- Google Search Central Blog: Upcoming deprecation of Crawl Rate Limiter Tool in Search Console
- Search Console ヘルプ: Search generative AI control