robots.txtとは

Webサイトのルートディレクトリに設置するテキストファイルで、検索エンジンのクローラーに対してクロールの許可・禁止を指示する。

robots.txtとは

robots.txtは、Webサイトのルートディレクトリ(https://example.com/robots.txt)に配置するテキストファイルで、検索エンジンのクローラーに対して「どのページをクロールしてよいか」「どのページをクロールしないでほしいか」を指示するものです。Robot Exclusion Protocol(REP)と呼ばれる標準規約に基づいています。

robots.txtの基本構文

基本的な書き方

User-agent: *
Disallow: /admin/
Disallow: /tmp/
Allow: /admin/public/

Sitemap: https://example.com/sitemap.xml

主なディレクティブ

  • User-agent: 対象とするクローラーを指定。*はすべてのクローラーを意味する
  • Disallow: クロールを禁止するパスを指定
  • Allow: Disallow内の例外として、クロールを許可するパスを指定
  • Sitemap: XMLサイトマップのURLを指定

実践的な設定例

WordPressサイトの一般的な設定

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /search/

Sitemap: https://example.com/sitemap.xml

ECサイトでの設定

User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /*?sort=
Disallow: /*?filter=

Sitemap: https://example.com/sitemap.xml

robots.txtとSEOの関係

クロールバジェットの最適化

大規模サイトでは、不要なページ(管理画面、検索結果ページ、フィルタページなど)へのクロールをブロックすることで、重要なページにクロールバジェットを集中させることができます。

重要な注意点

robots.txtはクロールを制御しますが、インデックスを制御するものではありません。robots.txtでブロックされたページでも、外部リンクがあればURLだけがインデックスされることがあります。

よくある間違いと対策

CSSやJavaScriptのブロック

以前はCSS/JSファイルをブロックすることが一般的でしたが、現在のGooglebotはページのレンダリングにCSS/JSを必要とします。これらをブロックすると、ページが正しく評価されない可能性があります。

テスト環境のrobots.txt

ステージング環境ではDisallow: /で全ページをブロックすることが一般的ですが、本番公開時にこの設定を解除し忘れると、サイト全体がクロールされなくなる重大な事故につながります。

robots.txtの検証

Google Search Consoleの「robots.txtテスター」を使って、設定が意図通りに機能しているか必ず検証しましょう。