用語解説 ロボッツテキスト

robots.txtとは

robots.txtは、サイトのルートに置いてクローラーに巡回してよいURLを伝える無料のテキストファイルです。書き方、noindexとの違い、AI学習クローラーの拒否、規格の成り立ちまでを解説します。

robots.txt とは

robots.txt は、Webサイトのルート(例: https://example.com/robots.txt)に置くテキストファイルです。検索エンジンなどのクローラーに対し、サイト内のどのURLを巡回してよいかを伝えます。

ルールに従うかどうかはクローラー側に委ねられており、強制力はありません。ファイル自体も誰でも読めるため、アクセス制御には使えません。非公開にしたいパスを書くと、かえって場所を知らせることになります。

使い方

「User-agent」で対象のクローラーを指定し、その下の「Disallow」(禁止)や「Allow」(許可)でパスを指定します。全クローラーに管理画面を巡回させない場合は、「User-agent: *」と「Disallow: /admin/」の2行を書きます。「Sitemap: https://example.com/sitemap.xml」と書けば、サイトマップの場所も示せます。

ファイルはホストごとのルートに置きます。サブディレクトリに置いても効果はなく、サブドメインには別途用意が必要です。

最も多い誤解は、巡回の禁止と検索結果からの除外を同じものと考えることです。Googleの説明では、robots.txtでブロックしたURLでも、他のページからリンクされていれば検索結果に載ることがあります。検索結果から確実に外すには、noindexを使います。その際はページをrobots.txtでブロックしないでください。巡回できないと、クローラーがnoindexを読めないためです。

料金

robots.txtは製品ではなく規格なので、料金はかかりません。テキストファイルを1つ置くだけで使えます。

注意すべきは費用より設定ミスです。「User-agent: *」の下に「Disallow: /」と書くと、サイト全体が巡回の対象外になります。開発環境の設定を本番に持ち込むと、検索流入を失う原因になります。

何に使えるのか(AI学習の拒否を含む)

主な用途は、検索結果ページなど巡回が不要なURLを除外して、サーバーの負荷や無駄なクロールを減らすことです。

近年はAI学習への利用を拒否する手段としても使われています。OpenAIのクローラーを拒否するなら、「User-agent: GPTBot」と「Disallow: /」を書きます。ただし、1つのクローラーが検索と学習を兼ねている場合、robots.txtでは「検索には載せるが学習は拒否する」という指定ができません。

この問題に対して、周辺サービスの動きも出ています。Cloudflareは、検索結果への表示を保ったままAI学習への利用だけを拒否できる設定「Disallow AI Training」の提供を始めました。OpenAIも、サイトがAI学習に関する意向を表明しやすくする取り組みを公式ブログで明らかにしましたが、具体的な仕組みは確認できていません。

誰が作っているのか・競合はあるのか

robots.txtは、1994年にMartijn Koster氏が提案した仕組みが広まったものです。長く事実上の標準でしたが、2022年9月にIETFがRFC 9309として文書化しました。特定企業の製品ではないため、運営会社も直接の競合も存在しません。

役割の近い手段には、ページ単位で指示するnoindexやX-Robots-Tagヘッダーがあります。これらはrobots.txtの代替というより補完です。今後の焦点は、CDN事業者やAI企業が用意する仕組みにどこまで役割が移るかだと筆者は推測します。

robots.txtに関する記事

3 件