Robots.txt ジェネレーター
robots.txt ファイルを即座に生成。User-agent ルール、Allow/Disallow パス、Sitemap URL を設定できます。登録不要で無料。
- ブラウザ内で処理
- データはブラウザ外に出ません
- 無料 · 登録不要
WeChat でスキャンしてシェア
例・詳しい説明・よくある質問 実際の出力つきの例、ほかのツールとの違い、よくある質問。
例:日本語 URL のページをクロールさせない
お問い合わせフォームを /お問い合わせ/ のような日本語のパスで公開している場合、「+ 拒否」のパスにそのまま日本語で入力できます。ツールは入力どおりに書き出します。
User-agent: *
Disallow: /お問い合わせ/
Sitemap: https://example.jp/sitemap.xml
クローラーが実際に受け取る URL は /%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B/form のようにパーセントエンコードされています。RFC 9309 の 2.2.2 節は、URL とルールのパスに含まれる ASCII 以外のバイトを、比較の前にどちらもパーセントエンコードするよう定めていて、例として /foo/bar/ツ と /foo/bar/%E3%83%84 を挙げています。そのため、ファイルを UTF-8 で保存していれば、日本語のまま書いても、エンコード済みの形で書いても同じ URL に一致します。この規則で読むと、フォームの URL は拒否、/news/2026/ は許可です。
例:全角スラッシュが混ざったパス
全角文字で書かれた資料からパスを写すと、半角の / ではなく全角の /(U+FF0F)が混ざることがあります。ツールはパスを検査しないので、全角のまま出力されます。
User-agent: *
Disallow: /members/
RFC 9309 の構文では、パスは半角の / で始まる必要があります。/members/ はこの形に当てはまらず、どのクローラーでも規則として読まれる保証はありません。半角に直したファイルなら、会員ページの下はすべて拒否されます。
User-agent: *
Disallow: /members/
ルールは前方一致なので、/members/login は拒否されますが、末尾のスラッシュがない /member は一致せず許可のままです。
Yahoo! JAPAN の検索と Googlebot
ヤフー株式会社は 2010 年 7 月、検索エンジンとして Google を採用すると発表しました(プレスリリース)。この発表のとおり Google の検索エンジンを使う構成であれば、* のブロックに加えて Googlebot 用のブロックを作るかどうかが、Yahoo! 検索に出るページにも関係します。Googlebot 専用のブロックを作ると、Googlebot はそのブロックだけを読み、* のルールは使いません。
よく使われる robots.txt パターン
- すべてのボットをブロック:
User-agent: *+Disallow: / - すべてのボットを許可:
User-agent: *+Disallow:(空欄)。ルールを一つも入れないブロックは、この空のDisallow:を出力します。 - 特定ディレクトリをブロック:
Disallow: /admin/ - Googlebot のみ許可:
*を/で拒否し、ルールのない Googlebot ブロックを追加する
ツールの制限と robots.txt でできないこと
- 検証しない:パスは前後の空白を除いてそのまま書き出します。
admin/のように/で始まらない値は RFC 9309 の規則として正しくありません。空のパスは空のルールになります。 - Sitemap は 1 行だけ:複数のサイトマップがある場合は、行をコピーして手で足します。
Crawl-delayなどの非標準の行は生成しません。 - ワイルドカード:
*と$は RFC 9309 の一部で、Disallow: /*?sessionid=のようにパスに書けます。ツールは書き方を確認しません。 - 拒否は削除ではない:拒否した URL でも、ほかのページからリンクされていれば、説明文なしで検索結果に出ることがあります。結果から外したいページはクロールを許可し、meta タグ生成ツールで作る
noindexを指定します。 - サイズとエラー:RFC 9309 は、クローラーが少なくとも先頭の 500 KiB を解析するよう求めています。robots.txt が 4xx を返すとクローラーはすべてを取得してよく、5xx を返すか接続できない場合はすべて拒否されたものとして扱います。
- ホストごとに 1 つ:ファイルは
https://自分のドメイン/robots.txtで開ける場所に置きます。example.jpのルールはblog.example.jpには効かないので、サブドメインごとに置いてください。
FAQ
robots.txt とは何ですか?
サイトのルート(例:https://example.com/robots.txt)に置くテキストファイルで、クローラーにどのページやディレクトリを取得してよいか、してはいけないかを伝えます。Robots Exclusion Protocol に従っており、この仕様は RFC 9309 として標準化されています。
robots.txt ですべてのボットをブロックできますか?
できません。robots.txt は取り決めであって、セキュリティ対策ではありません。Googlebot や Bingbot のような行儀のよいクローラーは従いますが、悪意のあるボットは無視することがあります。本当にアクセスを制限したい場合は、サーバー側のアクセス制御を使ってください。
'Disallow: /' はどういう意味ですか?
指定した User-agent に、サイト内のどのページもクロールしないよう伝えます。'User-agent: *' と組み合わせると、ルールに従うすべてのボットがサイト全体を取得しなくなります。これはツールを開いたときの初期状態でもあるので、公開前に書き換えてください。
複数の User-agent ブロックを設定できますか?
できます。「+ User-agent ブロックを追加」で増やします。クローラーは自分の名前に一致するグループだけに従うので、Googlebot 用のブロックを作ると、Googlebot は * のブロックを読まなくなります。共通のルールは両方のブロックに書いてください。
Sitemap の行はどこに書けばよいですか?
ファイルのどこでも構いません。Sitemap の行はどの User-agent グループにも属さないので、位置による違いはありません。ツールは末尾に書きます。XML サイトマップの場所をクローラーに伝え、クロールしてほしいページを見つけやすくします。
入力したパスや URL はどこかに送信・保存されますか?
されません。ファイルはブラウザーのページ内で作られます。入力した Sitemap URL にツールがアクセスすることはなく、パスやボット名をサーバーに送ったりブラウザーのストレージに保存したりもしないので、再読み込みすると初期のブロックに戻ります。変更を確定したとき(値を変えて入力欄から離れる、ボットを選ぶ、ルールやブロックを追加・削除する)に、サイトのアクセス解析がツール名と操作を 1 回記録しますが、入力内容は記録しません。