robots.txtとは、検索エンジンのクローラーに対して、サイト内のどこにアクセスしてよいかを伝えるファイルです。クロールしてほしくない場所を指定することで、クローラーの動きを制御します。設定を誤ると重要なページが検索に影響するため、正しい書き方を知っておくことが大切です。
本記事は、サイトのクロールを適切に管理したいWeb担当者・オウンドメディア編集者に向けて、robots.txtの意味、基本の書き方、設置と確認の方法、つまずきやすい注意点を整理しています。noindexとの違いや、非公開手段としての限界もあわせて示します。
- robots.txtの意味と、何ができるか
- noindexとの違い
- User-agentやDisallowなど基本の書き方
- 設置場所と確認の方法
- やってしまいがちな間違いと注意点
読み終えると、robots.txtの役割を正しく理解し、必要な範囲だけを安全に制御できるようになります。
robots.txtとは?何ができるか

robots.txtとは、クローラーに対して「このディレクトリは見なくてよい」などのアクセス方針を伝えるテキストファイルです。混同されやすいnoindexとは役割が異なるため、まずは意味と、できること・できないことを整理します。
- robots.txtの意味
- クロール制御であってインデックス制御ではない
- noindexとの違い
本セクションでは、robots.txtの基本と、noindexとの違いを解説します。
robots.txtの意味
robots.txtは、サイトのルートに置くファイルで、クローラーが最初に参照するアクセスの案内役です。「どのクローラーに」「どの範囲のクロールを許可・制限するか」を記述します。
主な用途は、クロールの必要がない領域を伝えて、クローラーの負荷や無駄な巡回を抑えることです。管理画面や検索結果ページなど、検索に載せる必要のない領域の指定に使われます。
クロール制御であってインデックス制御ではない
押さえておきたいのは、robots.txtはクロール(巡回)を制御するもので、インデックス(検索結果への登録)を直接止めるものではないという点です。Disallowで指定しても、そのページが検索結果に出ないことを保証するわけではありません。
外部からリンクされているページは、クロールされなくてもURLが検索結果に現れる場合があります。検索結果から確実に除外したい場合は、robots.txtではなく別の手段が必要です。SEOの全体像はSEO対策とは?わかりやすく基本から実践方法まで徹底解説【2026年最新】で整理しています。
noindexとの違い
noindexは、ページを検索結果に表示させないための指定です。robots.txtが「クロールさせない」であるのに対し、noindexは「読み取ったうえで検索に出さない」を意味します。
| 指定 | 制御する対象 | 検索結果からの除外 |
|---|---|---|
| robots.txt | クロール(巡回) | 保証しない |
| noindex | インデックス(登録) | 目的とする |
この違いは重要です。検索結果から消したいページをrobots.txtでブロックすると、クローラーがnoindexを読み取れず、かえって除外できなくなる場合があります。目的に応じて使い分けます。
robots.txtの書き方(基本構文)

robots.txtは、いくつかの決まった項目を組み合わせて記述します。基本となるのは、対象クローラーを指定するUser-agent、制限するDisallow、許可するAllow、そしてサイトマップの場所を示すSitemapです。
- User-agent(対象クローラー)
- DisallowとAllow
- Sitemapの記述
本セクションでは、3つの要素を順に解説します。
User-agent(対象クローラー)
User-agentは、どのクローラーを対象にするかを指定します。すべてのクローラーを対象にする場合は、アスタリスク(*)を使います。
User-agent: *
特定のクローラーだけに指示を出したい場合は、そのクローラー名を記述します。多くのサイトでは、すべてを対象にする「*」で指定すれば十分です。
DisallowとAllow
Disallowは、クロールを制限するパスを指定します。Allowは、Disallowで制限した中で、例外的に許可するパスを指定します。次は、管理領域をクロールさせない例です。
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
Disallowを空にすると、すべてのクロールを許可する意味になります。パスの指定は、対象を広げすぎないよう、必要な範囲にとどめることが重要です。
Sitemapの記述
robots.txtには、XMLサイトマップの場所を記述できます。Sitemapの行を加えると、クローラーにサイトマップの所在を伝えられます。
Sitemap: https://example.com/sitemap.xml
この記述は任意ですが、複数の検索エンジンにサイトマップを届けたい場合に役立ちます。Search Consoleでの送信とあわせて記述しておくと、伝達の抜けを防げます。
robots.txtの設置と確認

robots.txtは、置く場所が決まっています。設置後は、内容が意図どおりか、正しく読み取られるかを確認します。
- ルートディレクトリに設置する
- WordPressでの扱い
- 内容を確認する
本セクションでは、設置と確認の方法を解説します。
ルートディレクトリに設置する
robots.txtは、サイトのルートディレクトリに置きます。ドメイン直下の「example.com/robots.txt」の位置に配置することで、クローラーが参照できます。
サブディレクトリに置いても、原則として認識されません。ファイル名も「robots.txt」で固定です。設置場所とファイル名を正しく合わせることが前提になります。
WordPressでの扱い
WordPressでは、初期状態で仮想的なrobots.txtが自動出力されます。多くのSEOプラグインには、この内容を管理画面から編集できる機能があり、ファイルを直接触らずに設定できます。
プラグインで編集する場合も、指定の内容自体は同じです。どこで管理しているかを把握し、二重に設定して矛盾が生じないよう注意します。
内容を確認する
設置後は、ブラウザで「example.com/robots.txt」にアクセスし、内容が意図どおりかを確認します。想定と異なる記述があれば、修正します。
Search Consoleには、robots.txtの状態を確認できる機能があります。重要なページが意図せずブロックされていないかを点検することで、事故を未然に防げます。順位や流入が急に落ちた際の確認はGoogleの検索順位が下がった!考えられる原因と具体的な回復・改善対策もあわせてご確認ください。
robots.txtでよくある間違いと注意点

robots.txtは、指定を誤ると影響が大きいファイルです。よくあるのが、noindexの代わりに使ってしまうことや、必要なファイルまでブロックしてしまうことです。仕組みを理解しておくと、トラブルを避けられます。
- noindexの代わりに使ってしまう
- 重要ページやCSS・JSをブロックする
- 完全な非公開手段ではない
本セクションでは、代表的な注意点を整理します。
noindexの代わりに使ってしまう
検索結果から消したいページを、robots.txtでブロックするのは誤りやすいポイントです。クロールを止めると、そのページに設定されたnoindexをクローラーが読み取れず、かえって除外できなくなることがあります。
検索結果から確実に消したい場合は、robots.txtでブロックせず、ページにnoindexを設定してクローラーに読み取らせます。「クロールさせない」と「検索に出さない」は別物だと理解することが大切です。
重要ページやCSS・JSをブロックする
Disallowの範囲を広げすぎて、重要なページまでブロックしてしまう事故があります。特に、開発中にサイト全体をブロックする設定を入れ、公開後もそのまま残っているケースには注意が必要です。
また、CSSやJavaScriptをブロックすると、検索エンジンがページを正しく表示・評価できなくなる場合があります。表示に必要なファイルは、クロールできる状態にしておくのが基本です。
完全な非公開手段ではない
robots.txtは、誰でも閲覧できるファイルです。「example.com/robots.txt」にアクセスすれば、記述内容が見えてしまいます。ブロックしているパスを書くことで、かえって場所を知らせてしまう面もあります。
そのため、外部に知られたくない領域を守る手段としては不十分です。本当に非公開にしたい情報は、パスワード保護やアクセス制限など、robots.txt以外の方法で管理します。
robots.txtの運用で意識したいこと

私たちが運用の現場で意識しているのは、robots.txtは「触る範囲を最小限にとどめる」ファイルだという点です。クロール全体に影響するため、必要のない指定を増やすほど、事故のリスクが高まります。
よくある相談として、SEOのためにrobots.txtで何か設定したほうがよいか、というものがあります。多くのサイトでは、初期設定のままで問題ないことがほとんどです。無理に制限を加えるより、まず重要なページがブロックされていないかを確認するほうが、実務では有効です。設定を足すことより、事故を防ぐことに意識を向けるのが現実的です。
また、AI検索の観点でも、必要なページがクロールできる状態にあることは前提になります。参照されたいページをブロックしていないかは、あわせて確認したい点です。ページの見直し方は、リライトの考え方をまとめた【SEO対策】検索順位を上げる正しいリライトのやり方!記事の選び方から具体的な手順までもあわせてご確認ください。
robots.txtに関するよくある質問(FAQ)
robots.txtに関して、よく寄せられる質問をまとめました。
robots.txtは用意しないといけませんか?
robots.txtがなくても、サイトは問題なくクロールされます。特に制限したい領域がなければ、無理に用意する必要はありません。ただし、WordPressなどでは仮想的なrobots.txtが自動出力されることが多く、実質的には存在している状態になります。制限が不要でも、内容を一度確認し、意図しない指定が入っていないかを見ておくと安心です。
robots.txtでブロックしたページは検索結果に出ませんか?
出ないとは限りません。robots.txtはクロールを制御するもので、検索結果からの除外を保証しません。外部からリンクされているページは、クロールされなくてもURLが検索結果に現れる場合があります。検索結果に表示させたくない場合は、robots.txtでブロックせず、ページにnoindexを設定し、クローラーに読み取らせる必要があります。
robots.txtの記述はどの検索エンジンにも同じように効きますか?
主要な検索エンジンは、robots.txtの基本的な記述に対応しています。ただし、細かい仕様の解釈は、クローラーによって異なる場合があります。標準的なUser-agentやDisallowの記述は広く認識されますが、特殊な指定は挙動が変わることがあります。基本の構文にとどめ、複雑な制御は避けるほうが、意図した動作になりやすいといえます。
まとめ:robots.txtは「クロール制御」に徹する
robots.txtとは、クローラーのアクセス範囲を伝えるファイルです。クロールを制御する役割に徹し、検索結果からの除外はnoindexなど別の手段に任せるのが基本です。本記事のポイントは以下の通りです。
- robots.txtはクロール制御で、インデックスは直接止めない
- User-agent・Disallow・Allow・Sitemapで記述する
- ルートディレクトリに「robots.txt」として設置する
- noindex代わりの使用や、CSS・JSのブロックは避ける
- 誰でも見られるため、非公開手段としては使わない
アマノートは、robots.txtを含めたクロール・インデックス管理を、コンテンツの質を高める編集とあわせて支援しています。設定の妥当性やサイト構造の整理に迷われている場合は、現状の点検からご相談いただけます。


