/10分で読めます
Robots.txtとは?SEOとクローラーのための完全ガイド
robots.txtファイルはWebサイト内でも特に小さなファイルですが、SEOには大きな影響を与えます。1つの誤ったルールだけで、検索エンジンが重要なページをクロールできなくなることがあります。
目次
Robots.txtとは?
Robots.txtは、Webサイトのルートに配置するテキストファイルです。検索エンジンのbotやその他の自動エージェントに、どのURLパスをクロールしてよいか、またはクロールしてはいけないかを伝えます。これはRobots Exclusion Protocol(REP)に基づいています。
重要なのは、robots.txtが制御するのはクロールであり、インデックス登録を完全に保証するものではないという点です。ブロックされたURLでも他サイトからリンクされている場合、検索エンジンはページ本文なしでURLだけをインデックスすることがあります。
Robots.txtを置く場所
このファイルは、必ず次のルートパスでアクセスできる必要があります:
https://yourdomain.com/robots.txtたとえば/files/robots.txtのような別の場所に置くと、クローラーに無視される可能性があります。
クローラーがRobots.txtを読む仕組み
- クローラーはクロールを始める前に
/robots.txtをリクエストします。 - 自分のuser-agent名に一致するルールを探します。
AllowとDisallowディレクティブをパスごとに適用します。- 最も適切に一致するルールで許可されたURLをクロールします。
botによって対応するディレクティブが異なる場合があるため、標準でサポートされている構文を優先し、検索エンジンのツールでテストしてください。
Robots.txtの構文とディレクティブ
よく使われるディレクティブは次のとおりです:
- User-agent: ルールブロックを適用するクローラーを指定します。
- Disallow: 一致するパスのクロールをブロックします。
- Allow: 特定のパスを明示的に許可します。親パスをDisallowしている場合に便利です。
- Sitemap: XMLサイトマップのURLをクローラーに伝えます。
User-agent: *
Disallow: /admin/
Allow: /admin/help/
Sitemap: https://yourdomain.com/sitemap.xmlよくある例
1) すべて許可
User-agent: *
Disallow:2) すべてのクロールをブロック
User-agent: *
Disallow: /3) 内部フォルダーをブロック
User-agent: *
Disallow: /private/
Disallow: /tmp/
Disallow: /checkout/避けるべきよくあるミス
- 本番環境でサイト全体をブロックする: ステージング環境から公開したあと、ブロック設定を戻し忘れるケースです。
- 機密情報をrobots.txtで隠そうとする: robots.txtは公開ファイルなので、セキュリティ対策として扱ってはいけません。
- レンダリングに必要なJS/CSSをブロックする: 検索エンジンがページを正しく表示・理解できなくなることがあります。
- 検索結果から除外したいのにrobots.txtを使う: インデックス除外が目的ならnoindexを使うべきです。
- サイトマップURLを入れ忘れる: 重要なページの発見を早める助けになります。
Robots.txtとNoindexの違い
| 方法 | 制御するもの | 向いている用途 |
|---|---|---|
| robots.txt | クロール | クロール負荷の軽減、非公開に近いセクションのクロール制限 |
| meta robots / x-robots-tag | インデックス動作 | 特定ページを検索結果に出さないこと |
ベストプラクティス
- ファイルはシンプルかつ意図が明確になるように保ちます。不要なワイルドカードや重複ルールは避けます。
- 本当にクロールされたくないパスだけをDisallowします。
- 大きな変更のたびに、検索エンジンのウェブマスターツールでテストします。
- ファイルの末尾にSitemapディレクティブを追加します。
- robots.txtの変更はバージョン管理し、ミスがあっても戻せるようにします。
Robots.txtファイルを生成する
一般的なルールテンプレートを使って有効なrobots.txtをすばやく作りたい場合は、無料ジェネレーターを使えます:
参考資料
- Koster, M. (2022). RFC 9309: Robots Exclusion Protocol. IETF. https://datatracker.ietf.org/doc/html/rfc9309
- Google Search Central. How Google interprets the robots.txt specification. https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Google Search Central. Robots meta tag and X-Robots-Tag specifications. https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag