robots.txtとは

robots.txtは、Webサイトのルートディレクトリに置くテキストファイルで、検索エンジンのクローラーに対してクロールの許可・禁止を指示します。Googlebot・Bingbot・その他のクローラーはサイト訪問前にrobots.txtを確認します。

基本的な構文

User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /public/
Sitemap: https://example.com/sitemap.xml
  • User-agent: *:すべてのクローラーに適用
  • Disallow: /admin/:/admin/以下のURLをクロール禁止
  • Allow: /:すべて許可(デフォルト)
  • Sitemap::サイトマップのURLを伝える

クローラーごとの設定

User-agent: Googlebot
Disallow: /search/

User-agent: *
Disallow: /

このように複数のUser-agentブロックを記述できます。Googlebotには検索機能ページのみ禁止し、他のクローラーはすべて禁止するという設定例です。

よくある設定ミス

  • Disallow: /をすべてのbotに設定してしまい、Googleにインデックスされなくなる
  • 重要なJSやCSSファイルをDisallowにしてレンダリングが壊れる
  • robots.txtで禁止しても、他サイトからリンクされているページはインデックスされることがある

noindexとの違い

robots.txtのDisallowはクロールを禁止するだけで、インデックスは防げません。インデックスを禁止するには<meta name="robots" content="noindex">を使います。