こんにちは。麗です。

突然ですが、robots.txtというファイルを目にしたことはありますか?

「なんかむずかしそうだなぁ」と感じてしまう人もいるかもしれませんね。

robots.txtは、AIやロボットから自分を守る方法のひとつです。

昔からWebサイトにある仕組みなのですが、AIが身近になったことで、目にする機会がぐんと増えてきた気がします。

私自身、個人サイトを作る中で、robots.txtについて調べたり考えたりする機会が増えました。

セキュリティの基本中の基本とも呼べるものだなと感じたので、今回あらためて調べてまとめてみました。

robots.txtって何?

robots.txtは、Webサイトを巡回するクローラーに、

「この場所は見てもいいですよ」 「ここには来ないでください」

と伝えるためのファイルです。 実はブラウザから普通に開くことができます。

いろいろなサイトのURLのあとに

/robots.txt

を付けてみてください。

https://○○○.com/robots.txt

こんな感じのURLですね。

これを開くと、そのサイトがどんな設定をしているか見られることがあります。

そんな風にrobots.txtを開くと、たとえば以下のような感じに書かれています。

User-agent: * Disallow: /private/

この場合、

すべての対象クローラーに対して、

/private/ 以下をクロールしないでください

と伝えています。

ページを非公開にするファイルではない

ちょっとややこしいところなのですが、

robots.txtは、ページを非公開にするファイルではないんです。

あくまでも、クローラーへのお願い に近い仕組みです。

なので、robots.txtでは禁止されていたとしても、禁止ページのURLを知っていれば、普通にアクセスできる可能性があります。

なので、

  • 絶対に見られたくないページ
  • 個人情報
  • 管理画面
  • 秘密のファイル

など本当に非公開にしたいものは、robots.txtなら、別の仕組みが必要です。

そもそも、誰に向けて書いているの?

先ほど、例として、このように書かれているとお伝えしました。

User-agent: * Disallow: /private/

robots.txtには、

User-agent

という項目があります。

これは、

「どのクローラーに対するルールなのか」

を指定するものです。

例えば、

User-agent: *

なら、すべてのクローラーを対象としています。

User-agent: Googlebot

ならGooglebot(Google検索のクローラー)だけに向けたものです。

「Googleは良いけど、Mircrosoftは嫌だ」

みたいに思ったときに、クローラーごとに違うルールを書くこともできます。

AI時代になると、登場人物が増える

ここまでは昔からあるrobots.txtの話をしてきましたが、最近はWebを巡回するのが検索エンジンだけではなくなってきました。

AIを提供する各企業が、Web上の情報へアクセスするクローラーを運用しているのです。

例えば、OpenAI(ChatGPTの会社)には、

::: note OpenAIのクローラー

  • OAI-SearchBot
  • GPTBot
  • ChatGPT-User :::

などのクローラーがあります。

「OpenAIのBot」という一種類のものがいるわけではないんですよね。

それぞれ役割が違っているんです。

AI検索に使うクローラーと、学習用クローラーは別

先ほどのOpenAIのクローラーを例にすると、

::: note OpenAIのクローラー

  • OAI-SearchBot(検索用)
  • GPTBot(学習用)
  • ChatGPT-User(ユーザー操作による閲覧用) :::

このように用途の違いがあります。

つまり、学習用と検索用のクローラーは別物 なんですね。

サイト運営者側からすると、

AIに検索で見つけてもらう

ことと、

AIモデルの改善などにコンテンツを使わせる

ことは、必ずしも同じ設定ではありません。

「検索はしてもらいたい。でも学習はされたくない」と考える人も多いはずです。

私も最初は、

「AIクローラーを許可する / 拒否する」

という一つのスイッチだと考えていたのですが、

実際には、用途ごとにクローラーが分かれているので、

何のために来るクローラーなのか

を見てから、許可するのかしないのかを判断する必要があります。

robots.txtがあるから、必ず守られるのか?

robots.txtは、すべてのアクセスを強制的に止める仕組みではありません。

あくまでも おねがい のようなものです。

アクセスを止められるのは、robots.txtに従ってくれるクローラーのみです。

悪意をもって運用されているクローラーなどは、必ず守る保証はありません。

GoogleやOpenAIなど主要サービスはrobots.txtへの対応方法を公式に公開しています。

また、最近ではCloudflareというサービスで、AIクローラーがrobots.txtの指示にどう反応しているか確認する機能があります。

つまり、

「ルールを書いて終わり」

ではなく、

実際にどんなクローラーが来ているのか観察する

ところまでできるようになっているんですね。

個人サイトなら、まず何を考えればいい?

robots.txtについて調べ始めると、

「AIクローラーを全部ブロックするべき」

「AI時代だから全部許可するべき」

みたいな話にも行き着きます。

個人的には、この話には正解がないと考えています。

だからこそ難しいところです。

つまり、書き方とか作り方以前に、

「自分が、自分の作品をどうしたいか」 「AIクローラーとどう付き合いたいか」

ということを考えておく必要があるわけですね。

「人間向けのサイト」の裏側に、機械向けの入口がある

普段サイトを作っていると、

見ているのは、

  • デザイン
  • 文章
  • 画像
  • ボタン
  • ページ構成

など、人間から見える部分ばかりで、robots.txtのようなものは意識しないと目に入らないと思います。

でも裏側では、

人間 Google AI その他のクローラー

こういったものが同じWebサイトをそれぞれ違う方法で見ているんですよね。

そして、robots.txtは、

その機械たちへ向けた案内板のようなものです。

AIがWebを使う機会は今後ますます増えていくと思いますが、「サイトに誰を呼びたいか」っていう話は、人間だけを考えていればいい話ではなくなってきます。

それが怖いところでもあり、面白いところでもあるなと思います。