サーバー運用ガイド

robots.txt設定ガイド|適用範囲・危険な指定・検証手順

robots.txtは、対応するクローラーへURLの取得可否を伝える公開ファイルです。秘密の保護や検索結果からの削除には使えません。適用するオリジン、URL一覧、HTTP応答、公開後の確認までを一つの変更手順にします。

公開 2025-01-08 更新 2026-07-25 編集 Finite Field 編集部
世界規模のネットワークとクローラー制御を表すイメージ
robots.txtはインターネットから誰でも読める公開ファイルです。機密パスを列挙せず、アクセス制御は認証と権限で行います。

本記事は一般的な技術情報です。クローラーごとに対応する拡張構文や障害時の挙動が異なります。変更前に現行ファイル、対象URL、サーバーログを保存し、利用する検索エンジンの現行公式資料も確認してください。

このガイドで判断できること

記述例をコピーする前に、適用範囲、目的、危険な指定、確認証拠を明確にします。

どのURLに適用するか

プロトコル、ホスト、ポートごとに別ファイルとして扱い、サブドメインへ自動継承しません。

どの規則が選ばれるか

User-agentのグループと、Allow・Disallowの最長一致をURLごとに判定します。

何が危険か

全体ブロック、機密パス列挙、noindexとの競合、CSS・JS遮断、誤った応答を防ぎます。

どう検証するか

ファイル本体、ヘッダー、URL判定表、Search Console、ログを変更前後で確認します。

robots.txtはクロール管理であり、秘密の保護やnoindexではない

Robots Exclusion Protocolは、協力するクローラーに取得してよいURLを伝える仕組みです。命令の強制、認証、検索結果からの確実な削除、サーバー負荷対策の保証を行うものではありません。

使う目的

不要な検索・絞り込みURL、重複生成URL、レンダリングに不要な資源などのクロールを管理します。大量URLでは、URL設計、canonical、リンク、サイトマップ、サーバー性能も同時に見直します。

検索結果から外す目的

HTMLはrobots metaのnoindex、PDFなどはX-Robots-Tagを使い、クローラーがその指示を取得できるようrobots.txtでは遮断しません。反映には再クロールが必要です。

機密情報を守る目的

認証、認可、ネットワーク制限、保存場所の分離で保護します。robots.txtに管理画面やバックアップのパスを書くと、存在を公開することになります。

緊急削除の目的

公開停止、認証、noindex、削除ツールなど目的に合う方法を組み合わせます。Disallowだけでは、外部リンクからURLが発見され検索結果にURLだけ残る可能性があります。

個人情報、顧客データ、バックアップ、設定ファイル、未公開資料をrobots.txtで保護しないでください。該当URLが匿名利用者から取得できるなら、まずアクセスを止め、漏えい範囲とログを確認します。

適用範囲はプロトコル・ホスト・ポートの組み合わせで決まる

robots.txtは小文字の /robots.txt として各サービスのルートに置きます。https://example.com/robots.txt は同じHTTPS、ホスト、標準ポートのパスへ適用され、HTTP、別サブドメイン、非標準ポートへは自動適用されません。

表は横にスクロールできます。

robots.txtの配置場所と適用範囲
robots.txtのURL適用される例適用されない例必要な対応
https://example.com/robots.txthttps://example.com/products/1http://example.com/、https://www.example.com/HTTPとwwwを公開するなら各オリジンも確認
https://shop.example.com/robots.txthttps://shop.example.com/carthttps://example.com/、https://cdn.example.com/サブドメインごとに所有者と規則を管理
https://example.com:8181/robots.txthttps://example.com:8181/admin/https://example.com/(443)外部公開が必要か先に判断
https://example.com/help/robots.txt有効な配置ではないサイト全体ルートの/robots.txtへ移す

URLフラグメントはサーバーへ送信されない

robots.txtの一致対象はパスと、実装が扱うクエリ部分です。#section のようなフラグメントはHTTP要求に含まれないため、robots.txtで区別できません。大文字小文字、末尾スラッシュ、エンコード、クエリを実URLで確認します。

Google公式文書がrobots.txtの配置場所と適用範囲を説明する画面
Google公式文書は、robots.txtが配置されたプロトコル、ホスト、ポートの組み合わせにのみ適用されることを説明しています。取得・確認日:2026年7月25日。

User-agentのグループと最も具体的なパス規則を判定する

標準の中心はUser-agent、Allow、Disallowです。Sitemapは主要検索エンジンが対応する追加レコードです。クローラー固有の拡張は、対象クローラーの公式仕様を確認します。

User-agent

規則を適用するクローラーの製品トークンを指定します。* は、より具体的に一致するグループがないクローラーに適用されます。ユーザーエージェント文字列の一部を推測せず公式一覧で確認します。

User-agent: *

Disallow

一致するURLの取得を許可しない規則です。値が空なら制限しません。Disallow: / はサイト全体へ一致するため、公開環境では重大な変更として扱います。

Disallow: /search/

Allow

広いDisallow内で、より具体的なURLを許可します。単純に後の行が勝つのではなく、最も長く一致する規則を使い、同じ長さならAllowが選ばれます。

Allow: /search/help/

Sitemap

サイトマップまたはサイトマップインデックスの完全URLを記載します。User-agentグループの規則ではありません。サイトマップ自体の200応答と掲載URLも別に検証します。

Sitemap: https://example.com/sitemap.xml

一致判定の例

Disallow: /catalog/ と Allow: /catalog/help/ がある場合、/catalog/item/1 は不許可、/catalog/help/size はより具体的なAllowで許可されます。パスは大文字小文字を区別するため、/Catalog/ は別に確認します。

危険な指定は公開前の停止条件として扱う

構文が正しくても目的が誤っていれば障害になります。URL数、重要ページ、レンダリング資源、インデックス制御、セキュリティ、クローラー対応の観点で差分を確認します。

公開環境のDisallow: /

サイト全体のクロールを止めます。ステージング用ファイルの本番反映、環境変数の誤り、CDNキャッシュを確認し、公開パイプラインに検知を入れます。

Disallowとnoindexの併用

クロールを止めると、ページ内のnoindexやレスポンスのX-Robots-Tagを取得できません。検索結果から外す必要があるURLは、noindexを読める状態にします。

CSS・JavaScript・画像の一括遮断

重要なレンダリング資源を遮断すると、検索エンジンがページを正しく理解できない場合があります。資源の役割と参照元を確認し、不要な生成物だけに限定します。

機密パスの列挙

robots.txtは公開されます。/backup/、/private/、管理用パスを書いても不正クライアントを止められません。認証とネットワーク制御を使います。

広すぎるワイルドカード

* は0文字以上、$ はURL末尾を表す実装があります。/*.pdf はクエリ付きPDFにも一致し得ますが、/*.pdf$ は末尾が.pdfのURLへ限定されます。対象エンジンで確認します。

未対応のCrawl-delay

Googleはrobots.txtのcrawl-delayをサポートしていません。他のクローラーの対応は各公式資料で確認し、負荷問題はレート制御、キャッシュ、性能改善、正規のクロール設定でも対処します。

404・403をブロックとして使う

Googleは429以外の4xxを、クロール制限のないrobots.txtとして扱います。認証をかけたrobots.txtでサイトを守ろうとせず、公開ファイルを200で安定配信します。

リダイレクトチェーンとHTML応答

標準は少なくとも5回のリダイレクト追跡を定めますが、直接200で返す方が安全です。ログイン画面、WAFページ、404 HTML、言語転送が返らないか確認します。

robots.txtのHTTP応答は規則と同じ重要度で監視する

同じファイル内容でも、状態コード、Content-Type、文字コード、リダイレクト、キャッシュ、障害で解釈が変わります。Google固有の扱いとRFC 9309の基準を分けて記録します。

応答主な影響運用確認
2xx取得した規則を解析200、text/plain、UTF-8、本文、キャッシュを確認
3xxクローラーが一定回数追跡同じ目的の最終/robots.txtへ一段で送るか直接配信
404などの4xxGoogleは429以外を制限なしとして扱う意図した未設置か、配信事故かを区別
429・5xx・通信障害取得停止、キャッシュ利用、再試行など影響アラート、直近正常版、復旧時間、サーバーログを確認

キャッシュにより修正が即時反映されない

Googleは通常robots.txtを最大24時間程度キャッシュし、取得できない状況では長く使う場合があります。Search Consoleのrobots.txtレポートで取得時刻と版を確認し、必要な場合だけ再クロールをリクエストします。

変更前にURL判定表を作り、最小規則を配信する

大量の規則を書き始める前に、許可・不許可にしたい代表URL、クローラー、目的、代替制御を表にします。まずステージング相当のURL集合で判定し、公開環境の現行版と差分を取ります。

  1. 1

    対象オリジンを列挙する

    HTTP・HTTPS、www、サブドメイン、CDN、画像ホスト、非標準ポートを列挙し、各/robots.txtの所有者と配信方法を確認します。

  2. 2

    URLを許可・不許可・別制御へ分類する

    重要ページ、検索・絞り込み、管理画面、API、CSS・JS、画像、PDF、サイトマップ、存在しないURLを含めます。秘密は認証、noindexはクロール許可へ分けます。

  3. 3

    最小のグループと規則を書く

    重複グループと推測したクローラー名を避け、最も狭いDisallowと必要なAllowだけにします。コメントには理由と変更票番号を書き、機密情報を書きません。

  4. 4

    配信層とキャッシュを固定する

    アプリ、Webサーバー、CDNのどこが正規ファイルを持つか決めます。環境別ファイルが本番へ混入しないよう生成・デプロイ・キャッシュ無効化を自動化します。

  5. 5

    限定公開から監視を開始する

    可能なら低リスクな規則から公開し、取得ログ、重要URL、クロール、エラーを観測します。全体ブロックや広いパターンは追加承認を必要にします。

最小構成の例

User-agent: *
Disallow: /search/
Allow: /search/help/

Sitemap: https://example.com/sitemap.xml

この例は /search/ 配下を一般に遮断し、/search/help/ だけ許可します。実サイトへコピーせず、検索結果ページが重要コンテンツでないか、内部リンクやcanonical、サイトマップと矛盾しないか確認してください。

ファイル取得とURL判定を別々に検証する

ファイルが200で開くだけでは、目的のURLに正しい規則が適用されるか分かりません。各オリジンの応答と、クローラー・URLごとの判定表を保存します。

  1. 1

    ブラウザとcurlで配信を確認する

    正確な https://ホスト/robots.txt を開き、curl -i で状態、Content-Type、文字コード、Location、Cache-Control、本文を確認します。CDNとオリジンの差も確認します。

  2. 2

    構文とグループを解析する

    UTF-8、改行、User-agent、空のDisallow、グループ境界、重複規則、未知のフィールド、ファイルサイズを確認します。規則より前に置かれたAllow・Disallowは使いません。

  3. 3

    URL判定表を全件実行する

    各User-agentについて、トップ、重要下層、許可例、不許可例、大文字小文字、末尾スラッシュ、クエリ、エンコード、CSS・JS・画像、サイトマップを判定します。

  4. 4

    Search Consoleで取得版を確認する

    robots.txtレポートで最新取得、エラー、警告、過去の版を確認します。特定URLのブロック判定はURL検査ツール、開発時の大量検査はGoogleの公開robots.txtライブラリなどを使います。

  5. 5

    公開後のログと検索信号を監視する

    robots.txt取得、重要URLのGooglebotアクセス、4xx・5xx、クロール統計、インデックス、レンダリングを変更前と比較します。不正クローラー対策はWAFやレート制御で別に観測します。

確認コマンド例

応答と本文: curl -i https://example.com/robots.txt | リダイレクト追跡: curl -IL --max-redirs 5 https://example.com/robots.txt | 本番URLと認証情報を外部テスターへ送る場合は、機密性と利用条件を確認します。

Search Consoleヘルプがrobots.txtの取得版、エラー、再クロール、URL検査を説明する画面
Search Consoleのrobots.txtレポートでは取得したファイル、エラー・警告、過去の版を確認できます。特定URLの判定はURL検査ツールを使う現行手順です。取得・確認日:2026年7月25日。

公開と復旧はファイル・キャッシュ・検索制御を一緒に管理する

変更票に現行版、変更版、公開時刻、担当、停止条件、復旧版を添付します。robots.txtだけ戻しても、CDNキャッシュや同時変更したnoindex・サイトマップが残る場合があります。

  1. 1

    公開前の正常版を保存する

    本文、応答ヘッダー、ハッシュ、取得時刻、URL判定表、Search Consoleの取得版を保存し、ワンクリックで戻せる配信版を用意します。

  2. 2

    停止条件を監視する

    重要URLの不許可、全体ブロック、robots.txtの4xx・5xx、HTML応答、想定外ホストへの転送、レンダリング資源遮断を検知したら拡大を止めます。

  3. 3

    正規配信層で前版へ戻す

    別の層へ応急規則を追加せず、正規ファイルを前版へ戻します。対象CDNキャッシュを限定して無効化し、各オリジンから再取得します。

  4. 4

    競合する制御も復元する

    同時に変更したnoindex、X-Robots-Tag、canonical、サイトマップ、内部リンクがあれば、承認済みの同じ版へ戻します。

  5. 5

    取得とURL判定を再確認する

    curl、判定表、Search Console、ログで復旧を確認します。検索エンジン側のキャッシュが更新されるまで影響を監視し、原因と再発防止を記録します。

robots.txt変更の完了チェック

ファイルの構文だけでなく、適用範囲、URL判定、配信、検索制御、復旧を同じチェックシートに残します。

目的と範囲

  • クロール管理、noindex、機密保護を区別
  • プロトコル、ホスト、サブドメイン、ポート一覧
  • 対象クローラーの公式製品トークン
  • URL許可・不許可・別制御の判定表

規則

  • User-agentグループ、最長一致、同長Allow
  • 大文字小文字、末尾、クエリ、エンコード
  • CSS・JS・画像・PDF・サイトマップ
  • 全体ブロック、機密パス、未対応拡張なし

配信と検証

  • /robots.txt、200、text/plain、UTF-8
  • リダイレクト、WAF、認証、CDNキャッシュ
  • 全URL判定表と重要操作のレンダリング
  • Search Console取得版、URL検査、ログ

公開と復旧

  • 現行版、変更版、ハッシュ、承認、公開時刻
  • 停止条件、監視、担当、連絡先
  • 前版復元と限定キャッシュ無効化
  • noindex・canonical・サイトマップとの整合

根拠にした一次資料・標準資料

標準と検索エンジン固有実装を区別しています。利用するクローラー、CDN、CMSの現行公式資料も照合してください。

robots.txtでよくある質問

robots.txtでDisallowすれば検索結果から消えますか?

保証されません。外部リンクなどからURLが発見されると、本文を取得せずURLだけ表示される場合があります。検索結果から外す目的ではnoindexまたはX-Robots-Tagを使い、その指示を取得できるようクロールを許可します。

管理画面をDisallowすれば安全ですか?

安全にはなりません。robots.txtは公開され、従わないクライアントもいます。管理画面は認証、認可、ネットワーク制限、多要素認証、監査ログで保護します。

Allowは後に書けばDisallowより優先されますか?

行の順番だけでは決まりません。RFC 9309とGoogleでは最も具体的、つまり一致するパスが長い規則を使い、同じ長さでAllowとDisallowが競合すればAllowを使います。

Crawl-delayでGooglebotを遅くできますか?

Googleはrobots.txtのcrawl-delayをサポートしていません。負荷の原因をログで確認し、キャッシュ、性能、URL空間、正規のクロール頻度設定、必要なレート制御を検討します。

Search Consoleの古いrobots.txtテスターはどこですか?

現行のrobots.txtレポートで取得版、エラー・警告、履歴を確認し、特定URLのブロック判定にはURL検査ツールを使います。開発時の自動検査にはGoogle公開ライブラリなどを利用できます。

クロール・インデックス管理の関連ガイド

robots.txtは適用範囲とURL判定表で管理する

オリジンごとに正規ファイルを200で配信し、User-agentと最長一致をURL単位で確認します。機密保護とnoindexを分離し、公開後は取得版、重要URL、ログ、復旧版を継続管理してください。

この記事の編集・検証方針

Finite Field 編集部

RFC 9309、Googleのrobots.txt実装、Search Consoleレポート、robots meta仕様を照合し、標準、検索エンジン固有挙動、セキュリティ対策を区別して編集しています。

複数サイト・大量URLのクロールを管理する方へ

robots.txt設計とクロール監査を相談する

サブドメインやCDNが多い、検索・絞り込みURLが大量にある、重要URLを誤って遮断した場合は、オリジン一覧、現行ファイル、URL判定表、ログ、Search Consoleの取得版を準備してください。

クロール管理を相談する

構成と運用条件を確認したうえで対応可否をご案内します。特定クローラーの遵守、検索順位、再クロール時期、インデックス反映、事故の完全防止を保証するものではありません。