robots.txtとは、検索エンジンのクローラーに対して、どのページをクロールしてよいか、どのページを避けるべきかを指示するためのファイルです。正しく設定すれば、クローラーの巡回効率が改善され、SEOにも良い影響を与えます。
このページでは、robots.txtの基本的な役割からnoindexとの違い、書き方、置き場所、確認方法、設置時の注意点までを解説します。
robots.txtとは
robots.txtとは、検索エンジンのクローラーに対して、サイト内のどのページやディレクトリをクロールしてよいか、またはクロールを避けるべきかを指示するためのテキストファイルです。ファイル名は必ずrobots.txtとし、サーバーのルートディレクトリに配置します。
クローラーはホームページにアクセスした際、最初にこのファイルを確認し、記述されたルールに従ってクロールを行います。たとえば、管理画面やテストページなど、検索結果に表示させる必要がないページへのクロールを制限したい場合に活用します。この仕組みを利用することで、クローラーが重要なページの巡回に集中できる環境を整えることが可能です。
robots.txtとnoindexの違い

robots.txtとnoindexは、どちらも検索エンジンの動きを制御する手段ですが、役割が異なります。それぞれの違いと使い分けのポイントを解説します。
検索エンジンの認識の違い
robots.txtは、クローラーがページにアクセスする前の段階でクロール自体を制限します。指定されたページにはクローラーが訪問しないため、ページの内容は検索エンジンに認識されません。
一方、noindexはクローラーのアクセスは許可しつつ、検索結果への表示だけを拒否する仕組みです。クローラーはページの内容を確認しますが、インデックスには登録しないという指示になります。つまり、robots.txtはクロールそのものを止める手段、noindexはクロールは許可したうえでインデックスを防ぐ手段という違いがあります。
noindexについて詳しくは、noindexとは?の記事をご覧ください。
使い分けるタイミング
robots.txtは、管理画面やテストページなど、ユーザーにも検索エンジンにも公開する必要がないページに適しています。クロールバジェットを消費しないため、他の重要なページへの巡回を促すことにつながります。
noindexは、ページの存在自体は必要だが検索結果には表示させたくない場合に使います。たとえば、終了したキャンペーンページなど、ホームページ運用上は必要でも検索エンジンからの流入が不要なページ、SEOに影響を与えたくないページが該当します。
それぞれの特性を理解して使い分けることで、クロールとインデックスの管理を効率的に行うことができます。
SEOでのrobots.txtの必要性
robots.txtを正しく設定することで、クローラーが効率的にホームページを巡回し、重要なページを確実にインデックスできる環境を整えることができます。
特に効果が大きいのは、ページ数が1,000を超えるような大規模サイトです。管理画面やテストページなど、検索結果に表示させる必要がないページをクロール対象から外すことで、クローラーが重要なページに集中でき、クロールバジェットの最適化につながります。その結果、検索順位の向上も期待できます。
一方で、ページ数が少ない小規模なホームページでは、クローラーがすべてのページを問題なく巡回できるため、robots.txtによるSEO効果は限定的です。ただし、管理画面へのクロールをrobots.txtで制御しているホームページは多く、小規模サイトでも基本的な設定を行っておくのが一般的です。
robots.txtの書き方

robots.txtは、検索エンジンのクローラーに対して指示を出すためのシンプルなテキストファイルです。以下は、WordPressを利用したホームページで一般的に使用される記述例です。
User-agent: *
Disallow: /wp/wp-admin/
Allow: /wp/wp-admin/admin-ajax.php
Sitemap: https://sample.jp/sitemap.xml
Sitemap: https://sample.jp/sitemap.rss
このように、robots.txtはいくつかの要素を組み合わせて記述します。それぞれの役割を順番に解説します。
User-Agent
User-Agentは、指示を与える対象のクローラーを指定するためのコマンドです。たとえば、Googleのクローラーにだけ指示を出したい場合は以下のように記述します。
User-agent: Googlebot
すべてのクローラーに同じ指示を与えたい場合は、アスタリスクを使います。
User-agent: *
代表的なクローラーとしては、GoogleのGooglebot、BingのBingbot、百度のBaiduspiderなどがあります。多くのホームページでは、すべてのクローラーを対象にアスタリスクで指定するのが一般的です。
Disallow
Disallowは、特定のページやディレクトリへのクロールを禁止するコマンドです。たとえば、サイト全体を拒否する場合は以下のように記述します。
Disallow: /
特定のディレクトリを拒否する場合は、ディレクトリのパスを指定します。
Disallow: /directory/
特定のページだけを拒否したい場合は、ファイルパスを直接指定します。
Disallow: /private/sample.html
不要なページのクロールを防ぐことで、クローラーが重要なページを優先的に巡回できる環境を整えられます。
Allow
Allowは、Disallowで制限したディレクトリの中で、特定のページだけクロールを許可するコマンドです。
Disallow: /wp/wp-admin/
Allow: /wp/wp-admin/admin-ajax.php
この例では、/wp/wp-admin/以下を全体的にクロール禁止としつつ、admin-ajax.phpだけは許可しています。
Allowを使う際は、必ずDisallowとセットで記述する点に注意が必要です。Disallowで制限していないディレクトリにAllowだけを記述すると、クローラーが正しく認識できず、意図しない動作につながる可能性があります。
Sitemap
Sitemapは、XMLサイトマップやRSSフィードの場所をクローラーに伝えるための記述です。
Sitemap: https://sample.jp/sitemap.xml
Sitemap: https://sample.jp/sitemap.rss
このように、複数のSitemapを指定することもできます。ただし、Googleの公式ドキュメントではSitemapの記述は省略可能とされており、Googleサーチコンソールから直接送信するほうが確実な方法です。ページ数が多い大規模サイトでは、念のため記述しておくと安心です。
robots.txtの置き場所
robots.txtは、サーバーのルートディレクトリに配置する必要があります。たとえば、ホームページのURLがhttps://example.com/であれば、https://example.com/robots.txtでアクセスできる状態にしなければなりません。
サブディレクトリや別のフォルダに設置した場合、クローラーはファイルを認識できず、記述した指示が反映されません。
また、複数のサブドメインを運用している場合は、https://blog.example.com/やhttps://shop.example.com/のように、サブドメインごとに個別のrobots.txtを設置する必要があります。
robots.txtの配置はホームページ制作の初期段階で見落とされやすいポイントですが、設置場所を間違えるとクロール制御がまったく機能しなくなるため、最初に確認しておきましょう。
robots.txtの確認方法
robots.txtの設置が完了したら、記述内容が正しく反映されているかを確認しましょう。確認にはGoogleサーチコンソールを利用するのが最も簡単で確実です。
Googleサーチコンソールにログインし、設定からrobots.txtレポートを開くと、ファイルが正しく読み取られているかをステータスで確認できます。「取得済み」と表示されていれば、問題なくクローラーに認識されています。
ステータスには「未取得 – 見つかりませんでした(404)」や「未取得 – その他の理由」と表示されることもあります。こうした表示が出た場合は、ファイルの配置場所や記述内容に問題がないかを見直してください。
設定後の確認を怠ると、意図しないページがクロールされたり、重要なページがクロール対象から外れたりする原因になります。robots.txtを設置・変更した際には、必ずサーチコンソールで確認する習慣をつけておくことが大切です。
robots.txtを設置する時の注意すべき点

robots.txtは便利な仕組みですが、設定を誤ると逆効果になることもあります。設置する際に知っておくべき注意点を解説します。
間違えて設定するとSEOに悪影響がある
robots.txtの記述を誤ると、本来クロールされるべきページがクローラーに巡回されなくなり、検索結果に表示されなくなる可能性があります。
たとえば、重要なページやディレクトリを意図せずDisallowで制限してしまうケースです。設定後は必ずGoogleサーチコンソールで確認し、意図どおりに動作しているかをチェックしましょう。
robots.txtを指定してもユーザーは閲覧可能
robots.txtはクローラーに対する指示であり、ユーザーのアクセスを制限する機能はありません。
検索結果には表示されなくなりますが、内部リンクや外部リンク経由であれば、ユーザーはそのページに直接アクセスできます。機密情報や重要なファイルを保護したい場合は、サーバーのアクセス制限やパスワード保護など、別の手段を利用してください。
robots.txtを無視する検索エンジンも存在する
GoogleやBingなど主要な検索エンジンはrobots.txtのルールを遵守しますが、すべてのクローラーが従うわけではありません。
不正アクセスを目的としたボットや一部の小規模な検索エンジンは、robots.txtの指示を無視してホームページをクロールすることがあります。
効果が出るまでに1週間以上かかる
robots.txtの設定を変更しても、検索エンジンへの反映にはおおむね1~2週間ほどかかります。
クローラーがrobots.txtを再訪問するタイミングに左右されるためです。緊急で対応が必要な場合は、Googleサーチコンソールからインデックスの削除リクエストを送信するなど、別の方法を併用するのが効果的です。
まとめ
robots.txtは、検索エンジンのクローラーに対してクロールの許可や制限を指示するテキストファイルです。正しく設定することで、クローラーの巡回効率が改善され、重要なページのインデックスを促したり、SEO効果を高めることができます。
ただし、robots.txtはあくまでクローラーへの指示であり、ユーザーのアクセスを制限するものではありません。また、設定ミスがSEOに悪影響を与えるリスクもあるため、設置後はGoogleサーチコンソールで必ず確認することが大切です。
