robots.txtとnoindexの正しい使い方|クロール制御とインデックス制御の完全ガイド

結論:robots.txtは「クロール制御」、noindexは「インデックス制御」

robots.txtは「クロールするかどうか」、noindexは「インデックスに載せるかどうか」を制御します。役割が違うため、同時に使うと事故が起きます。混同しないことが鉄則です。

robots.txtの基本書式

User-agent: *
Disallow: /wp-admin/
Disallow: /search/
Allow: /wp-admin/admin-ajax.php

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

ルートディレクトリの /robots.txt に配置。半角・改行に注意。

User-agent別のディレクティブ設計

  • User-agent: * 全クローラー
  • User-agent: Googlebot Google本体
  • User-agent: Googlebot-Image 画像クローラー
  • User-agent: GPTBot OpenAI(AIO/LLMO制御)
  • User-agent: ClaudeBot Anthropic
  • User-agent: PerplexityBot Perplexity

2026年はAIクローラーの個別制御が重要なテーマです。サイトの方針に応じて「AIに学習させる/させない」を明確にしましょう。

noindex / nofollow の正しい使い分け

ディレクティブ 用途
noindex インデックスから除外
nofollow リンク先に評価を渡さない
noindex, follow 自身は除外しつつ、内部リンクは辿らせる
none noindex, nofollowと同義
<meta name="robots" content="noindex, follow" />

X-Robots-Tagの活用(HTTPヘッダ制御)

PDF・画像・動画ファイルなどHTML以外のリソースには、HTTPヘッダで制御します。

X-Robots-Tag: noindex

Apacheでは .htaccess、NginxではConfで設定。

WordPressでの実装方法

  • 個別ページのnoindex: Yoast/Rank Math/All in One SEOで切り替え
  • タグ・カテゴリのnoindex: 上記プラグインの一括設定
  • robots.txt編集: プラグインまたはサーバー直接編集

致命的な誤設定とリカバリ方法

事故例1: Disallow: / を本番投入 → 全URLがクロール拒否
リカバリ: 即座に削除 → Search Consoleで「robots.txtテスター」確認 → URL検査で再クロール要求

事故例2: noindexしたいページにrobots.txtでDisallow設定
結果: クロールできないためnoindexタグも認識されず、URLが残る
リカバリ: 一旦Allowに戻し、noindexタグを認識させてからDisallowへ

FAQ

Q1. GPTBotをブロックするとSEOに影響しますか?
A. Google検索SEOには影響しません。ただしChatGPT等の生成AI検索での引用機会は減ります。

Q2. ステージング環境のnoindex設定は?
A. BASIC認証 + robots.txt + noindexの三重防御を推奨。本番移行時は必ず解除確認。

Q3. /wp-admin/ は本当にDisallowでいいですか?
A. はい。ただし admin-ajax.php はAllowに残します。

まとめ

クロール制御とインデックス制御は別物。役割を理解し、AIクローラー時代に合わせた設計が2026年の必修テーマです。