robots.txt - Web サイトの「立入禁止」看板

多くの Web サイトのルートディレクトリに、robots.txt というテキストファイルが置かれています。このファイルは、検索エンジンのクローラー (ボット) に対して「このページはクロールしないでください」と伝えるための仕組みです。1994 年に Martijn Koster が提案した「Robots Exclusion Protocol」がもとになっており、長いあいだ仕様書のない慣習として使われてきましたが、2022 年 9 月に RFC 9309 として IETF の標準化過程 (Standards Track) の文書になりました。この RFC の著者には、最初の提案者である Koster 本人も名を連ねています。

しかし、robots.txt には驚くべき秘密があります。それは「お願い」であって「命令」ではないということです。

robots.txt は法的拘束力がない

robots.txt は、クローラーに対する「紳士協定」です。Google、Bing、Yahoo などの主要な検索エンジンは robots.txt を尊重しますが、技術的にはどのボットでも robots.txt を無視してクロールできます。悪意のあるスクレイパーやスパムボットは、当然ながら robots.txt を無視します。

つまり、robots.txt は「善良なボットに対するお願い」であり、セキュリティ対策ではありません。これは標準文書自身が明記していることで、RFC 9309 の「セキュリティ上の考慮事項」の節は「Robots Exclusion Protocol は妥当なコンテンツ保護の代わりにはならない」と述べ、パスへのアクセスを制御したいなら HTTP 認証のように配信しているアプリケーション層の仕組みを使うべきだとしています。機密情報を含むページを robots.txt で「隠す」のは、玄関に「泥棒お断り」の看板を立てるようなものです。実際のセキュリティ対策には、HTTP セキュリティヘッダーの適切な設定が不可欠です。

robots.txt が逆に情報を漏らす

皮肉なことに、robots.txt は「隠したいもの」のリストを公開しています。RFC 9309 の同じ節も「robots.txt にパスを列挙することは、そのパスを公開して発見可能にすることだ」と注意しています。攻撃者は robots.txt を最初に確認し、Disallow で指定されたパスから、管理画面、ステージング環境、内部 API、バックアップファイルなどの存在を推測します。

User-agent: *
Disallow: /admin/
Disallow: /staging/
Disallow: /api/internal/
Disallow: /backup/

この robots.txt は、攻撃者に「/admin/、/staging/、/api/internal/、/backup/ というパスが存在する」と教えているのと同じです。URL の構造を正しく読み解く方法を知っていれば、こうしたパスの意味をより深く理解できます。

有名サイトの robots.txt を覗いてみる

robots.txt は公開ファイルなので、任意のサイトの https://example.com/robots.txt にアクセスすれば誰でも読めます。

  • YouTube: 意外なほど短く、30 行ほどのファイルに 20 あまりの Disallow が並ぶだけ。冒頭には「1990 年代半ばのロボットの反乱で人類が絶滅した後、遠い未来 (2000 年) に作成された」というジョークのコメントが置かれている
  • Wikipedia: 特定のボットを名指しでブロックしている。MJ12bot の項には「大量のページ取得を続け、429 (リクエストが多すぎる) の応答を無視した」という理由がコメントで書き添えられている
  • CIA (cia.gov): 30 を超えるボット名が並び、その大半を Disallow: / で全面拒否している。すべてのクローラーには Crawl-delay: 10 (10 秒の間隔) を求めており、政府機関のサイトも同じ仕組みで運用されていることが分かる
  • Amazon: 商品ページのクロールは許可しつつ、カート、アカウント、内部検索結果などを除外している

robots.txt と AI クローラーの新たな戦い

2023 年以降、生成 AI の学習データ収集をめぐって robots.txt の役割が再び注目されています。OpenAI が学習用クローラー GPTBot の名前と拒否のしかたを公表した 2023 年を境に、多くのニュースサイトや出版社が AI 向けの記述を robots.txt へ書き加え始めました。下のコード例にある CCBot は生成 AI ブームより前から動いている Common Crawl の収集ボットですが、その公開アーカイブが学習に使われるため、あわせて拒否対象に挙げられることが増えました。

紛らわしいのが Google-Extended です。同じ並びで語られがちですが、これは独立したクローラーではありません。専用のユーザーエージェントを持たず、すでに集められた内容を Gemini などの学習や回答の裏付けに使わせるかどうかだけを robots.txt から指定するための名前で、Google 検索への掲載には影響しません。

User-agent: GPTBot
Disallow: /

User-agent: CCBot
Disallow: /

しかし、RFC 9309 として標準化されたあとも、robots.txt が「お願い」である点は変わりません。すべての AI クローラーがこれを尊重する保証はなく、著作権法との関係も含めて、2026 年 8 月時点でも AI 時代の robots.txt の位置づけは議論が続いています。AI クローラーによるデータ収集が気になる方は、プライバシー重視の検索エンジンの利用も検討してみてください。

まとめ

robots.txt は、1994 年の提案から 2022 年の標準化 (RFC 9309) までを経て、インターネットの「礼儀作法」として使われ続けている仕組みです。法的拘束力はなく、セキュリティ対策にもなりませんが、検索エンジンとの関係を管理する重要なツールです。IP 確認さんの robots.txt も、検索エンジンに適切にクロールしてもらうため、そして AI 向けのボットごとに可否を書き分けるために設定されています。誰でも読めるファイルなので、気になったら実物を確かめてみてください。

この記事の関連用語

ボット robots.txt が制御対象とする自動化プログラム。検索エンジンのクローラーから悪意のあるスクレイパーまで。 DNS クローラーがサイトにアクセスする際、最初に DNS でドメインを解決する。 HTTPS robots.txt 自体は HTTPS で配信され、改ざんから保護される。 IP アドレス クローラーのアクセス元 IP。悪意のあるボットは IP ベースでブロックされることもある。

よくある質問

robots.txt とは何ですか?

Web サイトのルートに置くテキストファイルで、検索エンジンのクローラーに「このページはクロールしないで」と伝える仕組みです。1994 年の提案がもとになり 2022 年 9 月に RFC 9309 として標準化されましたが、従うかどうかはクローラー側に委ねられた紳士協定で、法的拘束力はありません。

robots.txt はセキュリティ対策になりますか?

いいえ。robots.txt は善良なボットへの「お願い」であり、悪意のあるボットは無視します。むしろ Disallow で指定したパスが攻撃者に管理画面や内部 API の存在を教えてしまうリスクがあります。

AI クローラーを robots.txt でブロックできますか?

GPTBot や CCBot など主要な AI クローラーは robots.txt を尊重すると表明していますが、すべての AI クローラーが従う保証はありません。同じ並びで語られる Google-Extended は独立したクローラーではなく、すでに集められた内容を学習や回答の裏付けに使わせるかどうかを示す名前です。2026 年 8 月時点でも法的な位置づけの議論は続いています。