Webサイトを運営していると、「特定のページを検索エンジンにインデックスさせたくない」「管理画面へのクローラーアクセスを防ぎたい」という場面に必ずぶつかります。そのような課題を解決する鍵が、robots.txtの正しい設定です。
robots.txtは一行のミスがサイト全体のクロールを止める可能性もある、影響力の大きいファイルです。本記事では、基本的な書き方から WordPress での設定手順、よくある失敗パターンまでを一気通貫した形で解説します。SEOの生命線となるクロール制御の知識を、実務で使えるレベルまで整理しましょう。
こんな方にオススメ
- robots.txtを初めて設定しようとしているWeb担当者・マーケ責任者の方
- WordPressサイトのSEO改善に取り組んでいるスタートアップのCEO・CMOの方
- クロール制御の設定ミスが心配で、正しい書き方を確認したい方
この記事を読むと···
- robots.txtの基本構文(User-agent / Disallow / Allow)が正確に書けるようになります
- WordPressでの設置・確認手順がステップごとに理解できます
- よくある設定ミスとその回避方法がわかります
目次
robots.txtとは?基本的な役割とSEOへの影響

robots.txtとは、検索エンジンのクローラーに対して「このサイトのどのURLにアクセスしてよいか」を指示するテキストファイルです。サイトのルートディレクトリ(例:https://example.com/robots.txt)に設置し、GooglebotやBingbotなどのクローラーが最初に参照します。
robots.txtが果たす3つの主要機能
robots.txtには大きく分けて3つの役割があります。第一にクロール対象の制限です。
管理画面・ログイン画面・テスト用ページなど、検索結果に表示させたくないURLへのクローラーアクセスを防ぎます。第二にクロールバジェットの最適化です。
Googleが1サイトに割り当てるクロール回数(クロールバジェット)は有限であるため、不要なURLへのアクセスを減らすことで、重要ページを効率よくクロールさせられます。第三に特定ボットの制御です。
検索エンジン以外にもSNSのOGPクローラーやAIトレーニング用のボットが存在しており、用途に応じてアクセス可否を設定できます。
一方で重要な注意点があります。robots.txtは「クロールのリクエスト」であり、アクセス制限のセキュリティ機能ではありません。悪意のあるクローラーはrobots.txtを無視する場合があるため、機密情報の保護にはBasic認証やIP制限を併用する必要があります。
SEOランキングへの影響:インデックスとクロールの違いを理解する
robots.txtで Disallow に指定したURLは、原則としてクロールされません。ただし、「クロールしない」と「インデックスしない」は別の概念です。
他のサイトからリンクが張られているURLは、クロールされなくてもインデックスに残ることがあります。特定のページを検索結果に表示させたくない場合は、robots.txtのDisallowだけでなく、そのページのHTMLに meta name="robots" content="noindex" を設置するか、Google Search ConsoleのURL削除ツールを使うことが確実な方法です。
また、robots.txtでDisallow指定したページ内のリンクはGooglebotが追跡できないため、内部リンク構造を通じたPageRankの受け渡しも行われません。サイト内の重要な導線を誤ってDisallowに含めてしまうと、SEOに深刻な悪影響を及ぼす可能性があります。情報収集が欠かせないのは、設定前の「現在のクロール状況の把握」フェーズです。
robots.txtとsitemap.xmlの関係性
robots.txtとsitemap.xmlは役割が異なります。robots.txtは「クロールしてほしくない場所」を伝えるのに対し、sitemap.xmlは「クロールしてほしいページの一覧」を伝えるものです。この2つを掛け合わせて新しい価値を生む使い方として、robots.txtの末尾にsitemap.xmlのURLを記述する方法があります。
Sitemap: https://example.com/sitemap.xml
この記述により、クローラーはrobots.txtを読んだ直後にsitemap.xmlの存在を認識できるため、重要ページの発見速度向上が期待できます。
Creative Drive
SEOで集めた読者を、商談まで引き上げられていますか?
PVが増えても問い合わせにならない——それはコンテンツが"集客止まり"だからです。Creative Driveはグロースハック視点でSEOコンテンツを設計し、潜在層を育成・商談化まで引き上げます。
あなたに関連しそうなCreative Driveの機能・サポート一覧
機能・サポート一覧を見る →robots.txtの基本的な書き方

robots.txtは特定の構文ルールに従って記述します。構文を誤ると意図した通りに機能しないため、ここでは各ディレクティブの意味と正しい記述方法を順を追って確認します。
User-agent・Disallow・Allowの記述方法
User-agentは制御対象のクローラーを指定するディレクティブです。アスタリスク(*)を指定するとすべてのクローラーに適用されます。特定のボットのみに適用したい場合は、そのボット名を記述します(例:User-agent: Googlebot、User-agent: Bingbot)。
Disallowはクロールを禁止するパスを指定します。末尾にスラッシュをつけることでディレクトリ以下の全URLを対象にできます。
Disallow:と記述してパスを空にした場合は「すべてのURLのクロールを許可する」という意味になります。逆にDisallow: /はサイト全体をクロール禁止にするため、誤って設定してしまうと全ページが検索結果から消える危険性があります。
AllowはDisallowで禁止した範囲の中で、例外的にクロールを許可するパスを指定します。AllowはDisallowの後に記述し、より具体的なパスが優先されます。たとえば /admin/ 以下を Disallow にしつつ /admin/public/ だけを Allow にすることが可能です。
User-agent: * Disallow: /admin/ Allow: /admin/public/ Disallow: /wp-login.php Disallow: /cart/ Disallow: /checkout/
コードサンプル:シーン別の書き方パターン
実務でよく使われる設定パターンを以下に整理します。用途に合わせてコピーして使ってください。
| シーン | 記述例 | 意図 |
|---|---|---|
| 管理画面を禁止 | Disallow: /wp-admin/ | WP管理画面へのアクセス遮断 |
| 特定ファイル形式を禁止 | Disallow: /*.pdf$ | PDFファイルのクロール除外 |
| クエリパラメータを禁止 | Disallow: /*? | 検索クエリURLの重複排除 |
| 全許可(デフォルト) | Disallow: | 全クローラーにすべて許可 |
| 全禁止(要注意) | Disallow: / | サイト全体をクロール禁止 |
ワイルドカード(*)と行末指定子($)はGooglebotが対応しています。*は任意の文字列、$はURLの末尾を意味します。
たとえば Disallow: /*.pdf$ は「.pdfで終わるすべてのURL」を禁止します。なお、すべてのクローラーがワイルドカードに対応しているわけではないため、主要なクローラーの仕様を個別に確認することが重要です。
複数のUser-agentブロックを設定する方法
robots.txtでは複数のUser-agentブロックを記述できます。ブロックとブロックの間には空行を入れて区切ります。同じルールを複数のクローラーに適用する場合、User-agentを連続して並べる書き方も有効です。
# 全クローラー向け共通設定 User-agent: * Disallow: /wp-admin/ Disallow: /wp-login.php Allow: /wp-admin/admin-ajax.php # Googlebotへの個別設定 User-agent: Googlebot Disallow: /staging/ # AIトレーニング用ボットの制限(2026年現在、各社ボットが増加中) User-agent: GPTBot Disallow: / User-agent: ClaudeBot Disallow: /
コメント行は#から始めます。コメントはクローラーに無視されますが、設定の意図を記録するために積極的に活用しましょう。チームで管理するサイトほど、コメントによるドキュメント化が後のトラブル防止に役立ちます。
WordPressでのrobots.txt設定手順

WordPressではデフォルトで仮想的なrobots.txtが自動生成されますが、カスタム設定が必要な場合はルートディレクトリに実ファイルを設置するか、プラグインを利用します。ここでは実務で使える手順を段階的に解説します。
- 現在のrobots.txtを確認する
まずブラウザでhttps://yourdomain.com/robots.txtにアクセスし、現在の内容を確認します。WordPressがデフォルトで出力している場合、以下のような内容が表示されます。User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
- FTPまたはサーバーのファイルマネージャーでファイルを設置する
カスタム内容を設定するには、WordPressのルートディレクトリ(public_htmlやwww直下)にrobots.txtという名前のテキストファイルを作成します。既存の仮想robots.txtより実ファイルが優先されます。文字コードはUTF-8(BOMなし)、改行コードはLFで保存してください。 - Yoast SEOまたはAll in One SEOプラグインを使って設定する
FTPが使えない環境や非エンジニアが管理するサイトでは、SEOプラグインからrobots.txtを編集できます。Yoast SEOの場合は「SEO」→「ツール」→「ファイルエディター」からrobots.txtを編集できます。プラグインが管理するrobots.txtは、実ファイルが存在しない場合にのみ仮想的に機能します。 - Google Search Consoleで動作確認を行う
設定後はGoogle Search Consoleの「設定」→「クローラー統計情報」やURLの「robots.txtテスト」(旧来のSearch Console)で正しく機能しているかを確認します。2026年現在は「URLインスペクション」ツールで特定URLのクロール可否を個別に確認できます。 - インデックス状況をモニタリングする
設定変更後はGoogle Search Consoleの「カバレッジ」レポートで「ロボット テキスト ファイルによってブロックされた URL」の数が想定通りかを定期確認します。意図しないページがブロックされていないかを継続的にウォッチすることが重要です。
WordPress固有の注意点:wp-adminとadmin-ajax.php
WordPressで最も重要な設定のひとつが、/wp-admin/ と /wp-admin/admin-ajax.php の扱いです。admin-ajax.phpはログインユーザー向けのフロントエンド機能(ページネーションや検索など)にも使われるため、Disallowするとサイトの動的機能が壊れる可能性があります。そのため以下の設定が標準的なWordPressのrobots.txtとされています。
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
また、WordPressのページネーション(?page=2 などのクエリパラメータ)はデフォルトではクロール対象になります。重複コンテンツを避けたい場合はcanonicalタグの設定と組み合わせるか、クエリパラメータをDisallowするか、用途に合わせた判断が必要です。
プラグイン経由設定のメリット・デメリット
SEOプラグインを通じたrobots.txt管理は、WordPress管理画面から編集できる手軽さが最大のメリットです。ただし、実ファイルが存在する場合はプラグインの設定が無視されるという点に注意が必要です。また、プラグインのアップデートによって設定が上書きされるリスクもあるため、重要な設定変更後はプラグインのアップデートに注意を払い、変更後に必ず動作確認を行う習慣をつけましょう。
FTPやSSHでの直接編集に慣れているエンジニアチームであれば、実ファイル管理のほうが確実です。バージョン管理(Git)と組み合わせることで、変更履歴を残しながら安全に管理できます。弊社CreativeDriveでも、AIエージェントを活用したコンテンツパイプライン構築と合わせて、技術的SEOの基盤設定を一気通貫した形でサポートしています。
シーン別・実践的なrobots.txt設定パターン

robots.txtの設定はサイトの構造や目的によって大きく異なります。ここでは実務でよく求められるシーン別の設定パターンを、意図とともに紹介します。情報収集が欠かせないのは、自社サイトの「クロールされると困るURL」の洗い出し作業です。
ECサイト向け設定パターン
ECサイトでは、カート・購入フロー・マイページなどのセッション依存ページはSEOに不要なため、クロールから除外するのが一般的です。また、検索クエリやソートパラメータによって大量の重複URLが生まれるため、これらも適切に制御します。
User-agent: * # 購入フロー・会員ページ Disallow: /cart/ Disallow: /checkout/ Disallow: /mypage/ Disallow: /order/ # 管理・内部ページ Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php # ソート・フィルタURLの重複排除 Disallow: /*?sort= Disallow: /*?color= Disallow: /*?size= Sitemap: https://example.com/sitemap.xml
クエリパラメータの制御は、Google Search ConsoleのURL パラメータ設定(旧来機能)が廃止されたため、robots.txtによる制御またはcanonicalタグの設定が主要な手段になっています。サイトの規模が大きくなるほど、クロールバジェットの有効活用という観点で不要URLの除外が重要になります。
コーポレートサイト・メディアサイト向け設定パターン
コーポレートサイトでは、問い合わせ完了ページ(/thanks/)や確認画面(/confirm/)はSEO流入を意図しないページのため、Disallowを設定することが多いです。ただし、完全に除外せずnoindexで対応する方法も有効です。robots.txtのDisallowはクロールを止めるのみで、外部リンクからの流入やインデックス残留を防ぐためにはnoindexとの併用が確実です。
メディアサイトでは、タグページや著者アーカイブページが大量に生成されることがあります。これらは本文が薄いため、SEO的価値が低いと判断される場合はDisallowまたはnoindexを設定します。弊社が月50本の記事を自動生成しているCreativeDriveでも、AIO・LLMO対策を見据えたクロール設計を実施しており、クロールバジェットの最適化はコンテンツSEOの基盤として重要視しています。
ステージング環境での全クロール禁止設定
開発・テスト環境のステージングサイトが本番と同じドメイン構造で公開されている場合、検索エンジンにインデックスされてしまうリスクがあります。ステージング環境のrobots.txtには必ず以下を設定してください。
# ステージング環境:全クロール禁止 User-agent: * Disallow: /
加えて、ステージング環境はBasic認証でアクセス制限をかけることを強く推奨します。robots.txtは前述のとおり、悪意のあるボットには効果がないためです。万一ステージング環境がインデックスされてしまった場合は、502 Bad Gatewayが発生する原因と対処法と同様に、緊急対応のフローを持っておくことが安心です。
よくある設定ミスと失敗パターン
robots.txtは小さなミスが大きな影響をもたらすことがあります。実務でよく見られる失敗パターンと、その回避策を整理します。設定を変更する前にこのセクションを確認することで、多くのトラブルを未然に防げます。
失敗パターン1:サイト全体をDisallowにしてしまう
最も深刻な失敗が Disallow: / の誤設定です。これはサイト全体をクロール禁止にするため、設定から数日以内に全ページが検索結果から消えることがあります。WordPressのSEOプラグイン設定でデフォルトが「検索エンジンによるインデックスを許可しない」になっており、そのまま公開してしまうケースがあります。
特に以下の状況で発生しやすい点に注意です。新規サイトの立ち上げ時(開発中は検索エンジンを止めておき、公開時に解除し忘れる)、CMS移行時(旧サイトのrobots.txtをそのままコピーする)、プラグインのアップデート後(設定が初期化されるケース)。これらの場面では必ずrobots.txtと検索エンジンのインデックス設定を二重確認する習慣をつけましょう。
失敗パターン2:重要なリソースファイルをDisallowにする
CSS・JavaScript・画像ファイルをDisallowに設定すると、Googlebotがページのレンダリングを正確に行えなくなります。2015年以降、GoogleはJavaScriptのレンダリングを実行してページを評価するため、JSファイルへのクロールブロックはCore Web VitalsやモバイルフレンドリーなどのSEO評価に悪影響を及ぼします。
以前はGoogleが「CSSやJSは不要」とアナウンスしていた時代もあり、古い設定ファイルが引き継がれているサイトで見受けられます。以下のような設定は現在では避けるべきです。
# ❌ 現在は非推奨 User-agent: * Disallow: /wp-content/themes/ Disallow: /wp-content/plugins/ Disallow: /*.js$ Disallow: /*.css$
失敗パターン3:URLの末尾スラッシュ・大文字小文字の混同
robots.txtのパス指定は大文字・小文字を区別します。Disallow: /Admin/ と Disallow: /admin/ は別のルールとして扱われます。
また、ディレクトリを指定する際に末尾のスラッシュを省略すると、意図しない範囲に適用されることがあります。Disallow: /admin(スラッシュなし)は /admin というURLファイル自体と /admin/ 以下の両方にマッチしますが、クローラーの実装によって挙動が異なる場合があります。
明示的にディレクトリ以下を除外したい場合は末尾にスラッシュをつけることを習慣にしましょう。
こうした技術的な設定ミスは、コンテンツの品質とは無関係にSEO評価を下げる原因になります。AARRRモデルで成長指標を正しく把握することと同様に、技術的SEOの基盤を正確に構築することがグロースの土台となります。
まとめと実装チェックリスト
robots.txtはSEOの生命線ともいえる技術的設定ファイルです。正しく設定すれば、クロールバジェットの最適化・重複コンテンツの排除・重要ページへのクロール集中を実現できます。一方、一行のミスがサイト全体のSEOを壊しかねないため、設定・変更・確認の流れを体系的に理解することが重要です。
本記事で解説した内容を以下のチェックリストで確認しながら、設定を進めてください。
| チェック項目 | 確認 |
|---|---|
| robots.txtがルートディレクトリに設置されているか | ☐ |
| Disallow: / が誤って設定されていないか | ☐ |
| WordPressの場合、admin-ajax.phpがAllowされているか | ☐ |
| CSS・JSファイルがDisallowされていないか | ☐ |
| sitemap.xmlのURLが末尾に記述されているか | ☐ |
| ステージング環境のrobots.txtが全クロール禁止になっているか | ☐ |
| Google Search ConsoleのURLインスペクションで動作確認したか | ☐ |
| AIボット(GPTBot・ClaudeBot等)の扱いを決定しているか | ☐ |
技術的SEOの設定は、コンテンツマーケティングの成果を左右する基盤です。CreativeDriveでは、robots.txtのようなクロール最適化から、AIを活用したコンテンツ生成・リードナーチャリングの仕組み構築まで、SEOとグロースを掛け合わせて新しい価値を生む一気通貫した支援を行っています。クロール設定の見直しと並行してコンテンツSEO戦略を強化したい場合は、ぜひCreativeDriveにご相談ください。


