
サイトを公開した後、「検索エンジンに見せたいページ」と「できれば見せたくないページ」が混在していることに気づく場合があります。たとえば管理画面やテスト用ディレクトリ、重複しやすい絞り込みURLなどは、クロールの対象から外したいと考える方も多いはずです。そこで役立つのがrobots.txtです。robots.txtはクローラーに対して巡回の範囲を伝えるための仕組みで、基本を押さえれば初心者の方でも設定できます。この記事では、正しい置き場所から記述ルール、よくあるミスの回避、Google Search Consoleでの確認までを一通りつなげて解説します。
robots.txtは「クロールのお願い」をルート直下で管理するのが基本です

robots.txtは、検索エンジンのクローラーに対して「この範囲はクロールしてよい」「この範囲はクロールしないでほしい」という指示を伝えるためのテキストファイルです。重要なのは、これはアクセス制限のような強制力を持つ仕組みではなく、クローラーへのお願いとして機能する点です。したがって、機密情報の保護やログイン制御をrobots.txtに期待するのは適切ではないと考えられます。
また、robots.txtは設置場所が非常に重要です。検索エンジンは原則として、ドメイン直下(ルートディレクトリ)にあるrobots.txtを探しに行きます。つまり、https://www.example.com/robots.txt のようにアクセスできる場所に置く必要があります。フォルダの奥に置いても読み込まれないため、まずは「正しい場所に置けているか」を最優先で確認するのが安全です。
なぜこの手順とルールが重要なのか

Googleも推奨する基本フローは「作成→記述→アップロード→テスト」です
robots.txtは、やみくもに書くよりも、標準的な手順に沿って進める方が事故を防ぎやすいです。Googleの公式ドキュメントでも、概ね「ファイルを作成し、ルールを書き、ルートにアップロードし、テストする」という流れが推奨されています。特に初心者の方は、設定直後にテストまで行うことで、「意図せずサイト全体をクロール禁止にしてしまった」といった重大なミスを早期に発見しやすくなります。
robots.txtでできるのは「クロール制御」であり「インデックス制御」ではありません
robots.txtはクロールの可否を伝える仕組みです。一方で、検索結果に出すかどうか(インデックスさせるかどうか)は、主にnoindex(メタタグやHTTPヘッダー)で制御する領域です。ここを混同すると、「検索結果から消したいページをrobots.txtでDisallowしたのに残っている」といった状況が起こり得ます。
一般論として、robots.txtでクロールを止めたページでも、外部サイトからリンクされているなど条件によってはURLが検索結果に露出する可能性が指摘されています。つまり、検索結果に出したくない意図が強い場合は、noindexの検討も必要になります。どちらを使うべきかは目的で変わるため、後半で整理します。
User-agent、Disallow、Allowの基本を外すと意図と違う挙動になりやすいです
robots.txtはシンプルな形式ですが、少しの書き間違いで挙動が変わる可能性があります。特に重要なのは、どのクローラーに対するルールかを示すUser-agentと、クロールを止めるDisallow、例外的に許可するAllowの組み合わせです。さらに、DisallowとAllowが競合する場合はAllowが優先されるというルールを理解しておくと、管理画面配下の一部だけ許可するといった実務的な設計がしやすくなります。
スペースや設置場所など「初歩のミス」が最も危険です
初心者の方がつまずきやすいのは、難しい設計よりも基本的な書式ミスです。たとえば、DisallowやAllowのコロンの後ろにスペースが入っていない、行頭に不要なスペースが入っている、そもそもルート直下に置けていない、といった点です。こうしたミスは気づきにくい一方で、設定が効かなかったり、逆に効きすぎたりする原因になります。
このため、設定後はブラウザで /robots.txt にアクセスして内容が表示されるかを確認し、加えてGoogle Search Consoleのrobots.txt関連のレポートやテスト機能で検証することが現実的です。「書いたら必ずテストする」という運用が、最も堅実だと考えられます。
初心者でも迷いにくいrobots.txtの具体的な設定例

例1:最小構成(まずは全クローラーに共通ルールを適用する)
最初の一歩としては、すべてのクローラーに対して同じルールを適用する書き方が理解しやすいです。User-agentに「*」を指定すると、対象が全クローラーになります。たとえば、サイト内の管理用ディレクトリをクロールしてほしくない場合は次のように書きます。
User-agent: *
Disallow: /admin/
この例では、/admin/ 配下のURLをクロールしないよう依頼します。ここで大切なのは、Disallowの後のコロンの後に半角スペースを入れる点です。細かい部分ですが、書式が崩れると意図通りに解釈されない可能性があります。
この設定が向いているケース
管理画面、テスト用フォルダ、社内確認用のディレクトリなど、検索エンジンに巡回される必要が薄い領域がある場合に向いています。ただし、管理画面のURLをrobots.txtに書くと、その存在自体は第三者に見えてしまいます。機密性が高い場合は、アクセス制限や認証を優先し、robots.txtは補助として扱うのが安全です。
例2:禁止しつつ一部だけ許可する(Allowを使った例外設定)
「管理用のディレクトリは基本的にクロールしてほしくないが、そこに置かれた公開用のファイルだけはクロールさせたい」という状況があります。この場合はDisallowとAllowを併用します。AllowはDisallowより優先されるため、例外として通したいURLを明示できます。
User-agent: *
Disallow: /admin/
Allow: /admin/public.html
この例では、/admin/ 配下を原則クロールしないよう依頼しつつ、/admin/public.html だけはクロールを許可します。禁止の中に例外を作れるという点が、Allowを理解するメリットです。
注意したいポイント
Allowで許可しても、そのページが検索結果に出るかどうかは別問題です。ページ品質や内部リンク状況など、通常の評価要因が影響します。また、誤ってAllowを広く書くと、意図せずクロール範囲が広がる可能性があります。例外は必要最小限に絞る方が管理しやすいと考えられます。
例3:特定のクローラーだけにルールを適用する(User-agentの使い分け)
すべてのクローラーに同じ扱いをする必要がない場合、User-agentを個別に指定してルールを分けられます。たとえばGoogle向けにはGooglebot、Bing向けにはBingbotといった形で指定します。
User-agent: Googlebot
Disallow: /test/
User-agent: Bingbot
Disallow: /staging/
User-agent: *
Disallow: /admin/
この例では、Googlebotには/test/を、Bingbotには/staging/を、それ以外のクローラーには/admin/をクロールしないよう依頼しています。運用上の理由で検索エンジンごとに対応を変えたい場合に有効ですが、ルールが増えるほど管理が複雑になりやすいです。初心者の方は、まず「User-agent: *」で整理し、必要になった段階で分岐させるとミスが減ると思われます。
例4:Sitemapの場所を伝える(Sitemap指定)
robots.txtには、サイトマップ(XML Sitemap)の場所を記述する運用も広く行われています。サイトマップはSearch Consoleから送信する方法も一般的ですが、robots.txtに書いておくとクローラーが発見しやすくなる可能性があります。
User-agent: *
Disallow: /admin/
Sitemap: https://www.example.com/sitemap.xml
Sitemap行はUser-agentグループとは独立して解釈されることが多く、ファイル末尾に書かれることもあります。サイトマップのURLは、実際にブラウザでアクセスできる正しいURLを指定するのが基本です。
設定手順:作成からアップロード、確認まで

手順1:robots.txtをUTF-8で作成する
まずはテキストファイルを新規作成し、ファイル名をrobots.txtにします。拡張子が二重になって「robots.txt.txt」になってしまうケースがあるため、保存時に確認しておくと安心です。文字コードはUTF-8が推奨されており、文字化けや解釈違いを避ける意味でも適切だと考えられます。
手順2:ルールを記述する(スペースと行頭に注意する)
記述では、細部の書式が重要です。特に、DisallowやAllowの後のコロンの後には半角スペースを入れること、行頭に不要なスペースを入れないことは基本として押さえる必要があります。意図しない空白が入ると、ルールが正しく解釈されない可能性があります。
手順3:ドメインのルート直下へアップロードする
robots.txtは、ドメイン直下に置かれて初めて機能します。WordPressであれば、サーバーのドキュメントルート(例:public_html)に配置する運用が一般的です。サブディレクトリの中や、テーマフォルダ内に置いても検索エンジンが参照できない点は重要です。
サブドメインは別サイトとして扱うのが基本です
サブドメイン(例:blog.example.com)を運用している場合、robots.txtもそのサブドメインのルートに別途用意する必要があります。つまり、www用のrobots.txtがあっても、blog用の制御には使えません。サブドメインごとに方針が違う場合は、個別管理が前提になります。
手順4:ブラウザとGoogle Search Consoleで確認する
アップロード後は、まずブラウザで https://あなたのドメイン/robots.txt にアクセスし、内容が表示されるかを確認します。表示されない場合は、設置場所やファイル名、サーバー側の公開設定に問題がある可能性があります。
さらに、Google Search Consoleを利用している場合は、robots.txtのレポートやテスト機能を活用すると、Googleがどのように認識しているかを確認しやすくなります。Search Console側でエラーが検知されていないか、意図したURLがブロックされていないかを点検することが重要です。
よくある疑問とつまずきポイント
robots.txtとnoindexはどう使い分けるべきですか
目的で整理すると理解しやすいです。クロール自体を抑えたい、クロール予算を無駄にしたくない、重いページへの巡回を避けたいといった目的ならrobots.txtが候補になります。一方で、検索結果に出したくないという目的が中心なら、noindexがより直接的な手段になります。
ただし実際の運用では、「クロールさせない」と「インデックスさせない」が同時に必要な場面もあります。たとえば、検索結果に出したくないが、クローラーにはnoindexを読ませたいという場合、最初からrobots.txtでDisallowするとnoindexの取得自体が難しくなる可能性があります。このあたりはサイト構成や状況によって最適解が変わるため、迷う場合は重要ページから小さく検証するのが安全です。
robots.txtで守れると思ってはいけないものは何ですか
robots.txtは強制力のあるアクセス制御ではありません。したがって、会員情報、請求情報、未公開資料など、第三者に見られて困る情報を守る用途には不向きです。こうした情報は、ログイン必須にする、IP制限をかける、ベーシック認証を使うなど、サーバー側の制御を優先すべきです。robots.txtはあくまでクローラーの巡回方針を伝える補助的な仕組みと捉えるのが現実的です。
過剰にブロックするとSEOに悪影響が出る可能性がありますか
可能性はあります。たとえば、CSSやJavaScriptなどの重要リソースをブロックすると、検索エンジンがページを正しくレンダリングできず、評価に影響する可能性が指摘されています。また、重要なページまで誤ってDisallowしてしまうと、クロールされず更新が反映されにくくなることも考えられます。
このため、robots.txtは「止めたい理由が明確な範囲だけ」に絞るのが基本です。特に初心者の方は、サイト全体に影響する設定をいきなり増やさず、管理画面やテスト領域など明確な対象から始めると運用しやすいです。
まとめ:迷ったら「ルート直下」「最小ルール」「テスト」の3点から整えるのが確実です
robots.txtは、検索エンジンのクローラーに対してクロール範囲を伝えるためのテキストファイルです。効果を得るためには、ドメインのルート直下にrobots.txtを置くことが前提になります。次に、User-agent、Disallow、Allowの基本ルールを守り、特にスペースや不要な空白といった書式ミスを避けることが重要です。
また、robots.txtはインデックス制御ではなくクロール制御である点を理解し、検索結果に出したくない場合はnoindexも含めて検討する必要があります。最後に、設定後はブラウザでの表示確認に加え、Google Search Consoleのレポートやテスト機能で検証し、意図しないブロックがないかを点検するのが堅実です。
まずは小さく設定して、Search Consoleで確認しながら育てていきましょう
robots.txtは一度作ると放置されがちですが、サイトの成長に合わせて見直す価値があります。とはいえ、最初から複雑にすると管理が難しくなり、ミスのリスクも高まります。まずは管理画面やテスト用ディレクトリなど、目的が明確な範囲だけを最小限で設定し、Search Consoleで挙動を確認しながら少しずつ調整するのが現実的です。
もし「このURLは止めるべきか」「noindexとどちらが適切か」で迷う場合は、対象URLの種類(公開ページか、内部用か、重複を生みやすいか)を整理し、影響範囲が小さいところから試すと判断しやすくなります。丁寧に進めれば、初心者の方でもrobots.txtを安全に運用できるはずです。