開発者ツール
robots.txt チェッカー
robots.txt の内容を貼り付けて構文チェック。User-agent・Disallow・Allow・Sitemap ディレクティブを解析し、クローラーへのアクセスルールを可視化します。
[[ fetchError ]]
[[ labels.or_paste ]]
[[ labels.sample_label ]]:
[[ labels.no_input ]]
[[ labels.result_label ]]
[[ labels.errors_label ]]
- [[ labels.line_label ]] [[ err.line ]]: [[ errorMessage(err) ]]
✓ [[ labels.no_errors ]]
[[ labels.blocks_label ]]
User-agent:
[[ ua === '*' ? labels.all_crawlers + ' (*)' : ua ]]
| Disallow | / [[ labels.disallow_empty ]] [[ path ]] |
| Allow | [[ path ]] |
| [[ labels.no_rules ]] | |
| Crawl-delay | [[ block.crawlDelay ]] |
[[ labels.sitemaps_label ]]
Tips
- User-agent: * はすべてのクローラーに適用されます。特定ボット名(Googlebot など)を指定したブロックが優先されます。
- Disallow:(値なし)は「すべてのパスを許可する」という意味です。
Disallow: /(スラッシュのみ)はすべてを禁止します。混同しないように注意してください。 - Allow: ディレクティブは
Disallow:より優先されます。例えばDisallow: /private/の後にAllow: /private/public.htmlを記述すると、そのファイルだけは許可できます。 - Crawl-delay: はリクエスト間隔(秒)を指定する非標準ディレクティブです。Bing・Yandex などは尊重しますが、Google はサポートしていません(Google Search Console の「クロール頻度」設定を使う必要があります)。
- Sitemap: ディレクティブで検索エンジンにサイトマップの URL を知らせることができます。Google・Bing ともにこのディレクティブを認識します。Google Search Console や Bing Webmaster Tools への手動送信と組み合わせると効果的です。
よくある質問
Disallow でクロールをブロックすると、そのページは検索エンジンにインデックスされません。ただし外部サイトからリンクされているページは「存在は認識されるが内容不明」として検索結果に出る場合があります。インデックス除外には noindex メタタグの併用が推奨されます。いいえ。robots.txt はドメインごとに独立しています。
example.com/robots.txt は blog.example.com には適用されません。サブドメインには別途 blog.example.com/robots.txt を用意する必要があります。はい。Googlebot は
*(任意文字列)と $(行末)をサポートしています。例: Disallow: /private/*.pdf$ で /private/ 配下の PDF ファイルをすべて禁止できます。ただしすべてのクローラーがワイルドカードをサポートするわけではありません。余談ですが ― robots.txt の誕生 ― インターネットの「礼儀」が作られた日
1994年、Martijn Koster というオランダ人エンジニアが Robots Exclusion Protocol(REP)を考案しました。当時の WWW ではクローラー(ロボット)が無秩序にサイトを巡回し、サーバーに過大な負荷をかけることが問題になっていました。Koster は「ルールを書いたファイルをサイトルートに置けばクローラーが読んでくれるのでは」という発想で robots.txt を設計しました。
重要なのは、robots.txt は 強制力のない「紳士協定」 である点です。善意のクローラー(Googlebot・Bingbot など)は robots.txt を尊重しますが、悪意ある bot は無視します。そのため「検索エンジンにインデックスさせたくない」という目的には有効でも、「第三者への情報漏洩を防ぐ」目的での利用は誤解を招きます。機密コンテンツは認証で守る必要があります。
長年にわたって非公式な慣習として存在していた Robots Exclusion Protocol は、2022年9月にようやく RFC 9309 として IETF に正式登録されました。提案から約 28 年越しでの標準化です。これにより、ディレクティブの大文字小文字を区別しない旨や、構文の曖昧さの解消が公式に定義されました。