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

ほぼすべての Web サイトのルートディレクトリに、robots.txt というテキストファイルが存在します。このファイルは、検索エンジンのクローラー (ボット) に対して「このページはクロールしないでください」と伝えるための仕組みです。1994 年に Martijn Koster が提案した「Robots Exclusion Protocol」に基づいており、30 年以上にわたってインターネットの礼儀作法として機能しています。

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

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

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

つまり、robots.txt は「善良なボットに対するお願い」であり、セキュリティ対策ではありません。機密情報を含むページを robots.txt で「隠す」のは、玄関に「泥棒お断り」の看板を立てるようなものです。実際のセキュリティ対策には、HTTP セキュリティヘッダーの適切な設定が不可欠です。

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

皮肉なことに、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: 数百行に及ぶ robots.txt で、内部ページや API エンドポイントを詳細に制御している
  • Wikipedia: 特定のボット (MJ12bot など) を名指しでブロックしている。過去にサーバーに過負荷をかけたボットへの対処
  • CIA (cia.gov): Disallow: /cgi-bin/ など、政府機関でも robots.txt を使用している
  • Amazon: 商品ページのクロールは許可しつつ、カート、アカウント、内部検索結果などを除外している

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

2023 年以降、生成 AI の学習データ収集を目的としたクローラー (GPTBot、CCBot、Google-Extended など) が急増し、robots.txt の役割が再び注目されています。多くのニュースサイトや出版社が、AI クローラーを robots.txt でブロックし始めました。

User-agent: GPTBot
Disallow: /

User-agent: CCBot
Disallow: /

しかし、robots.txt が「お願い」にすぎない以上、すべての AI クローラーがこれを尊重する保証はありません。著作権法との関係も含め、AI 時代の robots.txt の位置づけは現在進行形で議論されています。AI クローラーによるデータ収集が気になる方は、プライバシー重視の検索エンジンの利用も検討してみてください。

まとめ

robots.txt は、インターネットの「礼儀作法」として 30 年以上機能してきた仕組みです。法的拘束力はなく、セキュリティ対策にもなりませんが、検索エンジンとの関係を管理する重要なツールです。IP 確認さんの robots.txt も、検索エンジンに適切にクロールしてもらうために設定されています。

Web クローラーと SEO の仕組みを学びたい方には、SEO の入門書が参考になります。

この記事の関連用語

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