robots.txt チェッカー
robots.txt の内容を貼り付けて構文チェック。User-agent・Disallow・Allow・Sitemap ディレクティブを解析し、クローラーへのアクセスルールを可視化します。
[[ labels.or_paste ]]
[[ labels.result_label ]]
- [[ labels.line_label ]] [[ err.line ]]: [[ errorMessage(err) ]]
[[ labels.blocks_label ]]
| Disallow | / [[ labels.disallow_empty ]] [[ path ]] |
| Allow | [[ path ]] |
| [[ labels.no_rules ]] | |
| Crawl-delay | [[ block.crawlDelay ]] |
[[ labels.sitemaps_label ]]
robots.txt チェッカーとは
robots.txt チェッカーは、サイトのルートに置く robots.txt ファイルの内容を貼り付ける、または URL から直接取得するだけで、構文エラーや記述ミスを検出できるツールです。User-agent・Disallow・Allow・Sitemap・Crawl-delay といった各ディレクティブを解析し、どのクローラーがどのパスをブロック・許可されているかを一覧で可視化します。
手書きの robots.txt は、インデントの崩れや Disallow: と Allow: の記述順の誤りなど、些細なミスがサイト全体を検索結果から締め出す事故につながりかねません。公開前にこのツールで解析結果を確認しておけば、意図しないブロックを未然に防ぐことができます。
robots.txt チェッカーの使い方
- 確認したい robots.txt を用意する 手元のファイルの内容をコピーするか、公開済みのサイトの URL を用意します。
- URL から取得、または直接貼り付ける 「URL から取得」に対象サイトのアドレスを入力して取得するか、テキストエリアに直接貼り付けます。
- 解析結果でエラー・警告を確認する 不明なディレクティブや User-agent 未指定などの記述ミスが行番号つきで表示されます。
- ブロック内容を一覧で確認する クローラーごとに許可・禁止されているパスが整理されて表示されるため、意図通りかを見比べます。
- Sitemap ディレクティブの有無を確認する サイトマップの URL が正しく記述されているかもあわせて確認します。
使いこなすためのヒント
- 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 への手動送信と組み合わせると効果的です。
活用シーン
サイトリニューアル前の最終確認
本番公開前に robots.txt を貼り付けて解析し、テスト環境用の全ブロック設定が残っていないかを確認します。
CMS・フレームワーク導入時の初期設定チェック
WordPress や各種フレームワークが自動生成する robots.txt の内容を確認し、意図しないディレクトリのブロックがないかを調べます。
SEO 監査での技術チェック項目として
検索順位が伸び悩むサイトの技術監査の一環として、クロールブロックの有無を短時間で確認できます。
競合サイトのクロール設定の参考調査
競合サイトの URL を入力して robots.txt を取得し、どのディレクトリをクロール対象から外しているかを調べる参考にできます。
用語集
- User-agent
- ルールの適用対象となるクローラー名を指定するディレクティブ。
*はすべてのクローラーを意味します。 - Disallow
- 指定したパスへのクロールを禁止するディレクティブ。値を空にすると「すべて許可」という意味になります。
- Allow
- Disallow で禁止した範囲の中から、特定のパスだけを例外的に許可するディレクティブ。
- Sitemap
- サイトマップ XML の URL を検索エンジンに知らせるディレクティブ。Disallow の影響を受けず常に読み込まれます。
- Crawl-delay
- クローラーのリクエスト間隔(秒)を指定する非標準ディレクティブ。Bing・Yandex は尊重しますが Google は対応していません。
- Robots Exclusion Protocol(REP)
- 1994年に考案された、robots.txt の元になる取り決め。2022年に RFC 9309 として正式に標準化されました。
よくある質問
Disallow でクロールをブロックすると、そのページは検索エンジンにインデックスされません。ただし外部サイトからリンクされているページは「存在は認識されるが内容不明」として検索結果に出る場合があります。インデックス除外には noindex メタタグの併用が推奨されます。example.com/robots.txt は blog.example.com には適用されません。サブドメインには別途 blog.example.com/robots.txt を用意する必要があります。*(任意文字列)と $(行末)をサポートしています。例: 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 年越しでの標準化です。これにより、ディレクティブの大文字小文字を区別しない旨や、構文の曖昧さの解消が公式に定義されました。