robots.txtは、検索エンジンのクローラーに「どのURLを取得してよいか」を伝えるファイルです。検索結果から消す設定やアクセス制限とは役割が異なります。この違いを誤ると、隠したかったURLだけが検索結果に残ったり、Googleがnoindexを確認できなくなったりします。
ここではrobots.txt生成ツールで設定を作る前提で、基本構文、よくある失敗、公開前の確認方法を具体例で説明します。
最小構成と設置場所
robots.txtはドメイン直下へ置きます。https://example.com/robots.txtで直接開けることを確認してください。
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /search/
Sitemap: https://example.com/sitemap.xml
- User-agent: どのクローラーに対する指示か(Googlebotなど)。
- Disallow: クロールを拒否するURLのパス。
- Allow: クロールを許可するURLのパス(Disallowの一部を許可する場合など)。
- Sitemap: サイトマップURLを教え、サイト全体の構造を効率よく伝えられます。
パスは先頭から一致します。Disallow: /admin/なら、その配下を対象にします。大文字・小文字、末尾スラッシュ、URLエンコード後の表記も実際のURLと合わせてください。
robots.txt・noindex・認証の使い分け
| 目的 | 使う方法 | 注意点 |
|---|---|---|
| クロールを抑える | robots.txt | 検索結果からの削除は保証しない |
| 検索結果に載せない | noindex | クローラーがページを取得できる必要がある |
| 第三者に見せない | ログイン・BASIC認証 | robots.txtへ秘密のURLを書かない |
既に検索結果へ出ているページを消したい場合、robots.txtで先にブロックすると、検索エンジンがページ内のnoindexを確認できません。まず取得可能な状態でnoindexを認識させ、必要に応じて削除ツールなどを組み合わせます。
よくある設定ミス
- サイト全体を止める:
Disallow: /は全パスを対象にします。本番公開時の削除忘れに注意します。 - CSSやJavaScriptを止める:ページの表示や内容を検索エンジンが正しく判断できなくなる可能性があります。
- 存在しない場所へ設置する:
/assets/robots.txtではドメイン全体の設定になりません。 - 非公開情報を列挙する:robots.txtは誰でも読めます。秘密の管理画面やファイル名を知らせる用途には使えません。
公開前に確認する手順
- ブラウザで
/robots.txtを開き、HTTP 200で取得できるか確認する。 - 公開したい主要ページのパスが、広いDisallowに含まれていないか確認する。
- サイトマップURLを開き、正規URLだけが掲載されているか確認する。
- Search ConsoleのURL検査で、Googleがページを取得できるか確認する。
- 変更後はサーバーやCDNのキャッシュが古い内容を返していないか確認する。
robots.txtが正しくても、ページの価値や重複判定によってインデックスされないことはあります。robots.txtは登録を命令するファイルではなく、取得範囲を調整するためのものです。レスポンス側の設定も確認したい場合は、HTTPレスポンスヘッダーの見方を参照してください。