開発者ツール

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 ]]
[[ 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.txtblog.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 年越しでの標準化です。これにより、ディレクティブの大文字小文字を区別しない旨や、構文の曖昧さの解消が公式に定義されました。