🤖 robots.txt 生成
User-agentごとの Allow / Disallow やサイトマップURLを入力すると、robots.txt の本文をその場で組み立てます。全許可・全拒否・WordPress向けのプリセットも用意。生成結果はコピー・.txt ダウンロードでき、入力内容はどこにも送信しません。
プリセット
ワンクリックで下のフォームを書き換えます(サイトマップ欄はそのまま残ります)。
ルール(User-agent 群)
User-agent ごとに、拒否/許可するパスを1行に1つずつ書きます。Allow は Disallow の例外を指定するときに使います。
robots.txt の末尾に Sitemap: 行としてまとめて出力します。https:// から始まる絶対URLを推奨します。
生成された robots.txt
※ robots.txt は「クロール(巡回)を制御」するファイルであり、検索結果からの除外(インデックス禁止)を保証するものではありません。ページを検索結果に出したくない場合は、そのページ側に noindex(meta robots や X-Robots-Tag)を設定します。robots.txt で Disallow したページは中身が読まれないため、かえって noindex が伝わらず、URLだけが検索結果に残ることがあります。すべてブラウザ内で処理し、入力内容は送信しません。
解説
robots.txt は、検索エンジンなどのクローラ(自動巡回プログラム)に「どのURLを巡回してよいか」を伝えるためのテキストファイルです。サイトのドメイン直下(例: https://example.com/robots.txt)に1つだけ置きます。サブディレクトリに置いても効きません。本ツールは、User-agent(対象クローラ)ごとの許可・拒否ルールとサイトマップURLをフォームに入力するだけで、書式の整った robots.txt 本文を組み立て、コピーやダウンロードができます。
基本の書式は、User-agent: で対象を指定し、その下に Disallow:(巡回を拒否するパス)や Allow:(許可・例外のパス)を並べます。User-agent: * はすべてのクローラを表します。Disallow: / はサイト全体の巡回拒否、Disallow:(値なし)は「拒否なし=全許可」を意味します。パスは前方一致で判定され、Google などは Allow と Disallow が競合したときは「より長く一致した方」を優先します。Crawl-delay: はリクエスト間隔の希望秒数ですが、Google は非対応で、対応するクローラのみが参照します。
最も誤解が多いのが、robots.txt と noindex の違いです。robots.txt はあくまで「巡回してよいか」の指示で、検索結果に表示させない指定ではありません。Disallow で巡回を止めても、外部リンクなどからURLが知られていれば、タイトルや説明なしのURLとして検索結果に残ることがあります。検索結果から確実に消したいページは、robots.txt では Disallow せず、ページ側に noindex を付けてクローラに中身を読ませて noindex を認識させます。両方同時に指定すると noindex が読まれず逆効果になります。
設置場所はホスト(スキーム+ホスト+ポート)ごとに1ファイルで、http:// と https://、www あり/なし、サブドメインはそれぞれ別扱いです。ファイルは必ずドメインのルート直下に robots.txt という名前で UTF-8 テキストとして置きます。書いた内容は Google Search Console の robots.txt テスターなどで実際の挙動を確認できます。管理画面やログインページなど、URL自体を隠したい場所は robots.txt に書くと逆に一覧化されてしまうため、認証やnoindexで守る方が安全です。
よくある質問
robots.txt はどこに置けばよいですか?
必ずドメインのルート直下、つまり https://example.com/robots.txt の位置に置きます。/blog/robots.txt のようにサブディレクトリへ置いても読まれません。http/https、www有無、サブドメインはそれぞれ別のファイルとして扱われるため、公開しているホストごとに用意します。
robots.txt で検索結果に出ないようにできますか?
できません。robots.txt は巡回(クロール)の可否を伝えるだけで、インデックス(検索結果への掲載)を止める保証はありません。検索結果から確実に外したいページは、robots.txt で Disallow せず、そのページに noindex(meta robots か X-Robots-Tag)を設定してください。Disallow と noindex を同時に付けると、クローラが中身を読めず noindex を認識できないため逆効果になります。
Disallow と Allow はどちらが優先されますか?
Google をはじめ主要なクローラは「より長く(具体的に)一致したルール」を優先します。例えば Disallow: /wp-admin/ と Allow: /wp-admin/admin-ajax.php があると、admin-ajax.php はより長く一致する Allow が勝って巡回されます。書く順番は問われませんが、意図が伝わるよう関連ルールはまとめて書くのがおすすめです。
「全ページ許可」と空の robots.txt は同じですか?
実質的にはほぼ同じで、どちらも全URLの巡回が許可されます。robots.txt が存在しない、または空の場合もクローラは「制限なし」と解釈します。本ツールの「全ページ許可」は User-agent: * と値なしの Disallow: を出力し、明示的に全許可であることを示します。サイトマップURLだけ伝えたい場合にも便利です。
Crawl-delay は指定した方がよいですか?
通常は不要です。Crawl-delay はクローラのリクエスト間隔(秒)の希望値ですが、Googlebot は非対応で無視します(Google はクロール頻度をSearch Consoleや自動制御で調整します)。Bing など一部のクローラは参照します。サーバー負荷が高いなど明確な理由があるときだけ、対応クローラ向けに設定してください。
パスの書き方に決まりはありますか?
パスは / から始まる相対パスで書き、前方一致で判定されます。末尾に / を付けるとそのディレクトリ以下、付けなければ前方一致するすべてのURLが対象です。*(任意の文字列)や $(URLの終端)といったワイルドカードは主要クローラが解釈します(例: Disallow: /*.pdf$)。本ツールは入力した各行をそのまま Disallow/Allow 行として出力します。
サイトマップは robots.txt に書くべきですか?
書いておくと、クローラがサイトマップを見つけやすくなります。Sitemap: 行には https:// から始まる絶対URLを指定し、robots.txt の末尾にまとめて記載するのが一般的です。複数のサイトマップがある場合は行を分けて複数書けます。Search Console などから直接送信している場合でも、併記して問題ありません。
入力した内容はサーバーに送られますか?
送られません。robots.txt の組み立て・コピー・ダウンロードはすべてブラウザ内で完結し、入力内容はどこにも送信されません。ダウンロードもブラウザ上で生成したファイルを保存するだけです。オフラインでも利用できます。