とほほのrobots.txt入門
- 初版:2026年2月8日
- 更新:2026年2月8日
目次
robots.txtとは
- Google などの検索エンジンのボットが定期的にクロールしてくる際、参照して欲しくないフォルダやファイルを指定するファイルです。
- 1994年に Martijn Koster が提案し、RFC 9309 REP(Robots Exclusion Protocol) として標準化されています。
- Google の Googlebot も Microsoft Bing の Bingbot など多くのボットがこの仕様に従っています。
- ただし、必ず禁止できる訳ではなく、どこまで従ってくれるかはボット側の実装にゆだねられます。
- HTMLページ側の
<meta name="robots">でもクロール制御することができます。
リンク
- RFC 9309 (日本語訳)
- robots.txt の概要 (Google)
- robots.txtの書き方、設定と送信 (Google)
- Google による robots.txt の指定の解釈 (Google)
- robots.txt ファイルを更新する (Boogle)
- 実用的な robots.txt のルール
robots.txtのサンプル
robots.txt のサンプルを示します。
# Example of robots.txt User-agent: RedBot User-agent: BlueBot* Disallow: / Allow: /index.html Allow: /usage.html User-agent: * Disallow: /temporary/ Disallow: /old/ Sitemap: https://example.com/sitemap.xml
RedBotやBlueBot*にマッチするボットには、すべての URL のクロールを禁止します。- ただし、
/index.htmlと/usage.htmlのみは許可します。 - その他のボットには、
/temporary/と/old/フォルダのクロールを禁止します。 - 読み込んで欲しいサイトマップファイルは
https://example.com/sitemap.xmlに設置しています。
詳細
robots.txt の配置場所
robots.txtはサイトのルートフォルダに配置する必要があります。
OK https://example.com/robots.txt NG https://example.com/some_dir/robots.txt
ファイルの書き方
- ファイル名は小文字の
robots.txtです。 - ファイルは UTF-8 で作成します。
- BOM(Byte Order Mark)に関する仕様は明記されていませんが、付けない方が安全そうです。
コメント(#)
#から行末まではコメントとみなします。
# for Google Bot and Bing Bot User-agent: Googlebot User-agent: bingbot
ユーザーエージェント(User-agent)
- 検索エンジンのボット(クローラー)名を指定します。
- 複数指定することもできます。
- RFC では ハイフン(
-)、アンダーバー(_)を含む英字と定義されていますが、実際は数字なども使用できるかもしれません(ボット次第)。 - ワイルドカードとしてアスタリスク(
*)を使用できます。 - ボットはファイルの先頭から自分がマッチする
User-agentを探し、最初に見つかった指示に従います。 - ひとつマッチすれば、それ以降の
User-agentは参照しません。 - 大文字と小文字は無視されます。
User-agent: Googlebot User-agent: OrangeBot Disallow: /temporary/
禁止(Disallow)
- クローラーからのアクセスを禁止するパス名を指定します。
- 複数指定することもできます。
- パス名は
/から始めます。 - 大文字と小文字は区別されます。
User-agent: Googlebot Disallow: /temporary/ Disallow: /old/
- アスタリスク(
*) はワイルドカードとして任意の文字列にマッチします。 - ドルマーク(
$) は末尾を示します。.txt$は末尾が.txtで終わっていることを意味します。
Disallow: /*.txt$
- メタ文字は
%xx形式に URL エンコーディングします。
Disallow: /foo?url=https%3A%2F%2Ffoo.bar # /foo?url=https://foo.baa Disallow: /foo-%24 # /foo-$
許可(Allow)
Disallowで禁止したパスの中でも特別に許可したいパスを記述します。- その他の仕様は
Disallowと同様です。 - 下記の例ではすべてのファイルのクロールを禁止していますが、
/index.htmlと/usage.htmlのみは許可しています。
User-agent: RedBot Disallow: / Allow: /index.html Allow: /usage.html
サイトマップ(Sitemap)
- RFC 9309 に含まれている仕様ではなく、Google が独自に追加した仕様で、Bing などの他社も追従しています。
- ボットに読み込んで欲しいファイルを記述したサイトマップを指定します。
robots.txtファイルにひとつだけ指定することができます。http://またはhttps://から始まる完全な URL で記述します。- サイトマップの詳細についてはまた別途...。
Sitemap: https://example.com/sitemap.xml
よくみかけるボット(クローラー)
下記などのボットをよく見かけます。
- Googlebot : Google 検索エンジンのボット。
- bingbot : Microsoft Bing 検索エンジンのボット。
- ClaudeBot : Claude 社のボット。
- Applebot : Apple 社のボット。
- MJ12bot : 英国 Majestic 社のボット。少々迷惑系。
Disallow: /するケースも。 - Thinkbot : IPアドレスを変えながら大量のアクセス。robots.txt も無視する迷惑系(詳細)。
Copyright (C) 2026 杜甫々
https://www.tohoho-web.com/ex/robots.html