robots-txt
robots.txt(ロボット テキスト)とは、検索エンジンのクローラーに対して、サイト内のどのページをクロールしてよいか・してほしくないかを伝えるテキストファイルです。
サイトのルートディレクトリ(ドメイン直下)に設置し、クローラーはページを訪れる前にまずこのファイルを読み込みます。
robots.txtの基本的な書き方
robots.txtは、以下の3つの要素で構成されます。
Disallow:クロールを禁止するURLパスを指定
Allow:Disallowで制限したディレクトリ内の一部だけ許可したいときに使用
Sitemap:サイトマップのURLをクローラーに伝える
記述例は以下のとおりです。
Disallow: /wp-admin/
Disallow: /cart/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml
この例では、すべてのクローラーに対してWordPressの管理画面(/wp-admin/)とカートページ(/cart/)のクロールを禁止しつつ、サイトマップの場所を案内しています。
robots.txtを設定する主な目的
クロールバジェットの最適化
検索エンジンには、1サイトあたりに割り当てられたクロールバジェット(クロール上限)があります。管理画面やサンクスページなど、検索結果に表示させる必要のないページをブロックすることで、重要なページを優先的にクロールさせることができます。
不要なページのクロール防止
ECサイトのカートページ・確認画面、WordPressの管理画面、テスト環境のページなどは、検索結果への表示が不要です。これらをブロックすることで、サイト全体の評価が下がるリスクを抑えられます。
AIクローラーのブロック
近年、ChatGPT(OpenAI)やGoogle Geminiなどの生成AIが、学習データ収集のためにウェブをクロールするケースが増えています。robots.txtでUser-agentを指定することで、特定のAIクローラーのアクセスを拒否することも可能です。
GPTBot:ChatGPT(OpenAI)のクローラー
Google-Extended:Google AIの学習用クローラー
ClaudeBot:Claude(Anthropic)のクローラー
PerplexityBot:Perplexityのクローラー
ただし、LLMO・GEO対策として生成AIに引用されることを目指している場合は、AIクローラーをブロックすると逆効果になる点に注意が必要です。
robots.txtとnoindexの違い
混同されやすい設定ですが、目的がまったく異なります。
noindexタグ:インデックスを拒否する。クローラーはページを訪問するが、検索結果には表示されない。
「検索結果に表示させたくない」だけであればnoindexタグが適切です。robots.txtでブロックすると、ページ内のnoindexタグをクローラーが読めず、意図せず検索結果に残ってしまうケースがあります。
robots.txtの注意点
- 設定ミスに注意
- robots.txtで「Disallow: /」と記述すると、サイト全体のクロールが禁止されます。すべてのページが検索結果から消える可能性があるため、設定後は必ずSearch Consoleの「robots.txtテスター」で動作確認を行いましょう。
また、以下の点にも注意が必要です。
■ robots.txtはあくまで「お願い」であり、悪意のあるボットは無視する場合がある
■ ユーザーのアクセス制限にはならない(セキュリティ目的には使えない)
robots.txtの確認方法
自サイトのrobots.txtは、ブラウザで「https://ドメイン名/robots.txt」にアクセスするだけで確認できます。
設定が正しく機能しているかは、Google Search Consoleの「設定」→「robots.txtテスター」から検証できます。
- まとめ
- ■ robots.txtはクローラーにクロール可否を伝えるテキストファイル
■ 管理画面・カートページなど不要なページのクロールを防ぐのが主な用途
■ AIクローラーのブロックにも活用できるが、LLMO対策と方向性が逆になる点に注意
■ noindexタグとは役割が異なる(クロール制御 vs インデックス拒否)
■ 設定ミスでサイト全体が検索結果から消えるリスクがあるため、必ず動作確認を