最初に押さえたいこと
- robots.txt は、クローラーに対して `どのパスをクロールしてよいか、避けてほしいか` を伝えるテキストファイルです。
- 検索結果に出さないための仕組みではありません。検索に出したくないページは、noindex、認証、アクセス制御などを別に考えます。
- AIクローラーに対しても User-agent ごとに方針を書けますが、すべてのBotが必ず従うとは限りません。
- サイトマップの場所を伝える用途にも使えます。小規模サイトなら、まずは全許可 + Sitemap から始めるのが分かりやすいです。
Webサイトを運用していると、robots.txt は置いた方がいいの? AIクローラーを止めたいなら何を書けばいいの? という話が出てきます。
名前だけ見るとセキュリティ設定のようにも見えますが、robots.txt は秘密情報を守るためのファイルではありません。
この記事では、2026年4月22日時点で RFC 9309、Google Search Central、OpenAI、Google-Extended、Perplexity、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パスへアクセスしてよいかを判断する仕組みです。
検索エンジンに何を伝えるのか
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: *
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として出る可能性があるためです。
つまり、実務では次のように分けます。
- クロール負荷や巡回範囲を調整したい: robots.txt
- 検索結果に出したくない: noindex
- 見られてはいけない: ログイン、認証、サーバー側のアクセス制御
秘密にしたいURLを robots.txt に書くと、むしろ ここに見られたくないパスがあります と公開してしまうことにもなります。
AIクローラーには何を伝えられるのか
AI検索や生成AIの普及で、robots.txt はAIクローラーの制御にも使われるようになっています。
たとえば、OpenAI は公開ドキュメントで OAI-SearchBot や GPTBot などのクローラーと、robots.txt での制御について案内しています。
Google も Google-Extended という product token を公開しており、Gemini Apps や Vertex AI API for Gemini の学習・グラウンディング用途に関する制御に使えると説明しています。
ログでAIクローラーの挙動を見る基本は、AIクローラーとは?Webサイト運用でログとrobots.txtを見る基本 で整理しています。
例として、検索エンジンの通常クロールは許可しつつ、特定のAIクローラーだけを止めたい場合は、次のような形になります。
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
Perplexity も、PerplexityBot と robots.txt の扱いを公開しています。Common Crawl も、CCBot を robots.txt で制御する例を示しています。
このように、主要なAI関連クローラーの一部は robots.txt に対応する情報を公開しています。
ただし、ここは強く注意が必要です。
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 で返るか確認します。リダイレクトや403で壊れていると、クローラーが解釈できないことがあります。
本番でDisallow: /が残っていないか
検証環境の設定を本番へ持ち込むと、サイト全体をクロール拒否してしまうことがあります。
秘密のURLを書かない
robots.txt は誰でも見られます。管理画面や内部パスを並べると、むしろ場所を教えることになります。
AIクローラーはログで見る
robots.txt に書いたら終わりではなく、アクセスログやCDN側のBot管理で実際の挙動を確認します。
Google Search Central には robots.txt の作成・送信・テストに関するドキュメントがあります。
実務では、編集後にブラウザや curl で公開状態を確認し、Google Search Console 側でも問題が出ていないか見るのが堅実です。
まとめ
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 Platform: Overview of OpenAI Crawlers
- Perplexity Docs: Perplexity Crawlers
- Common Crawl: CCBot