robots.txtとは?AIクローラー時代に個人サイト運営者が知っておきたい基本
こんにちは。麗です。
突然ですが、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を使う機会は今後ますます増えていくと思いますが、「サイトに誰を呼びたいか」っていう話は、人間だけを考えていればいい話ではなくなってきます。
それが怖いところでもあり、面白いところでもあるなと思います。