SEO BASICS
robots.txtの書き方
robots.txtは、検索エンジンなどのクローラーに「サイト内のどこを巡回してよいか」を伝える公開テキストファイルです。このページでは、目的別にそのまま確認できる記述例をまとめます。
先に結論:一般的な小規模サイトでは、サイト全体を許可し、SitemapのURLを記載するシンプルな設定から始めれば十分です。
サイト全体を許可する書き方
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap-index.xml User-agent: *はすべてのクローラーを対象にし、Allow: /はサイト全体の巡回を許可します。Googleの仕様では、ルールを記載しない場合も暗黙的にクロールは許可されます。
特定のディレクトリを拒否する書き方
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /private/
Sitemap: https://example.com/sitemap-index.xml 対象がディレクトリなら、先頭と末尾を/で囲みます。ただし、robots.txtは秘密を守る機能ではありません。管理画面や個人情報を含むページにはログイン認証やサーバー側の制限が必要です。
Sitemapを記載する書き方
Sitemap:には、プロトコルとドメインを含む完全なURLを記載します。ファイル名はサイトによってsitemap.xmlまたはsitemap-index.xmlなど異なるため、実際にブラウザで開けるURLを使ってください。
主な記述と意味
| 記述 | 意味 |
|---|---|
User-agent: * | すべてのクローラーを対象にする |
Allow: / | サイト全体の巡回を許可する |
Disallow: /admin/ | /admin/以下の巡回を制限する |
Sitemap: | サイトマップの場所を伝える |
設置場所と確認方法
- ファイル名を小文字の
robots.txtにする - ドメイン直下へ設置する
https://example.com/robots.txtへ直接アクセスする- 内容がHTMLページではなく、作成したテキストとして表示されることを確認する
- 記載したSitemap URLも開けることを確認する
公開前に確認したい間違い
Disallow: /でサイト全体を塞いでいないか- CSSやJavaScriptなど、表示に必要なファイルを塞いでいないか
- Sitemapを相対URLで書いていないか
- robots.txtをnoindexの代わりに使っていないか
よくある質問
robots.txtがない場合はどうなりますか?
特に指定がなければ、クローラーはサイト全体を巡回できるものとして扱います。巡回制限やSitemapの案内が不要なら必須ではありません。
検索結果への表示を禁止できますか?
できません。robots.txtはクロールを制御するものです。検索結果への表示を防ぐ目的にはnoindexや認証を使います。
どこに設置しますか?
https://example.com/robots.txtのように対象ドメイン直下へ設置します。サブフォルダに置いたファイルは、ドメイン全体のrobots.txtとして扱われません。
入力して作成する
URLと除外したいパスから作る場合は、下の生成ツールを使えます。入力内容はサーバーへ送信せず、ブラウザ内で処理します。