この記事のポイント
  • robots.txtはクローラーへの「指示書」。インデックス制御ではなくクロール制御が目的
  • 基本構文はUser-agent・Disallow・Allow・Sitemapの4つ。書き方のパターンを例付きで解説
  • 確認は/robots.txtへの直接アクセス、inSiteテスター、Search Consoleの3つが基本
  • robots.txtとnoindexは目的が違う。間違えるとSEOに悪影響が出る
  • 2026年はAIクローラー(GPTBot・ClaudeBot等)の制御とllms.txtとの併用が必須

robots.txtとは、検索エンジンのクローラーに対して「どのページをクロールしてよいか」を伝えるテキストファイルです。サイトのルートディレクトリに配置することで、Googlebot等のクローラーがサイトを巡回する際の指示書として機能します。

「robots.txtって何を書けばいいの?」「設定を間違えたらインデックスされなくなる?」「AIクローラーもブロックできるの?」。robots.txtに関する疑問は多いですが、基本を理解すれば設定はシンプルです。

筆者はインハウスSEO担当として、数万ページ規模の求人サイトでテクニカルSEOを管理していました。大規模サイトではクロールバジェットの最適化が重要で、robots.txtの設定ミス一つでサイト全体のインデックスに影響が出ることを何度も経験しています。特に2026年現在は、GPTBotやClaudeBotなどAIクローラーへの対応も必須になっており、robots.txtの重要性はさらに高まっています。

この記事では、robots.txtの基本的な書き方から配置場所、無料ツールでの確認方法、よくある間違い、そしてAIクローラー対応まで、実務で必要な知識を網羅的に解説します。

\ テクニカルSEOの管理を効率化 /

inSite(インサイト)

インデックス状況・内部リンク・検索順位をまとめて管理。robots.txtの影響確認やクロール状態のチェックを効率化します。

inSiteのインデックス状態チェック機能のダッシュボード 無料で試してみる ↗

robots.txtとは?役割と仕組みをわかりやすく解説

robots.txt(ロボッツテキスト)は、Webサイトのルートディレクトリに配置するテキストファイルで、検索エンジンのクローラーに対して「このページはクロールしてOK」「このページはクロールしないで」と伝える役割を持ちます。

robots.txtの基本的な仕組み

クローラーがサイトを訪問するとき、最初に https://example.com/robots.txt を確認します。このファイルに書かれた指示に従って、クロール対象のページを判断します。

robots.txtの仕組み

robots.txtの基本ポイント
  • クロール制御が目的
    robots.txtはクローラーのアクセスを制御するもの。インデックス登録を直接ブロックする機能はない
  • あくまで「お願い」
    GooglebotやBingbotは従うが、悪意のあるボットは無視する可能性がある
  • ドメイン単位で機能する
    サブドメインには別のrobots.txtが必要(example.comとblog.example.comは別管理)

robots.txtが必要なケース・不要なケース

すべてのサイトにrobots.txtが必須というわけではありません。

ケースrobots.txtの必要性理由
大規模サイト(数千ページ以上)必須クロールバジェットの最適化が重要。不要なページへのクロールを制限する必要がある
WordPress等のCMS推奨管理画面(/wp-admin/)やフィード等、クロール不要なURLが多い
開発・ステージング環境必須本番公開前のサイトをクローラーに見せないようにする
小規模な静的サイト任意全ページクロールされても問題なければ不要。Sitemapの指定だけでも有効

筆者が管理していた求人サイトでは、数万ページの中に検索結果ページやフィルタリングページが大量にありました。これらをrobots.txtでクロール制限しないと、クロールバジェットが無駄に消費され、本当にインデックスしてほしいページのクロール頻度が下がるという問題が起きていました。

robots.txtの書き方(基本ルールと記述例)

robots.txtの書き方はシンプルですが、ルールを間違えるとサイト全体のクロールに影響します。基本構文を押さえたうえで、サイトの規模や用途に合ったパターンを選びましょう。

基本構文(User-agent / Disallow / Allow / Sitemap)

robots.txtで使う主要なディレクティブは4つです。

ディレクティブ意味記述例
User-agent対象のクローラーを指定User-agent: Googlebot
Disallowクロールを禁止するパスを指定Disallow: /admin/
AllowDisallow内で例外的に許可するパスを指定Allow: /admin/public/
SitemapXMLサイトマップのURLを指定Sitemap: https://example.com/sitemap.xml

基本的な記述例を示します。

# すべてのクローラーに対する指示
User-agent: *
Disallow: /admin/
Disallow: /tmp/
Allow: /

# サイトマップの場所
Sitemap: https://example.com/sitemap.xml
書き方のルール
  • 大文字・小文字を区別する
    Disallow は正しいが disallow は仕様上は許容されるものの、統一を推奨
  • 各グループは空行で区切る
    User-agentとそのルールの間に空行を入れない。グループ間には空行を入れる
  • パスの末尾スラッシュに注意
    Disallow: /admin/admin-page もマッチする。ディレクトリ指定なら /admin/ とする
  • ファイルはUTF-8で保存
    BOM付きUTF-8やShift-JISだと正しく認識されない場合がある

よく使うパターン別の記述例

実務でよく使うrobots.txtのパターンをまとめます。

サイト全体をクロール許可(最小構成)

User-agent: *
Allow: /

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

WordPress向けの標準設定

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /search/

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

大規模サイト向け(クロールバジェット最適化)

User-agent: *
Disallow: /search/
Disallow: /filter/
Disallow: /tag/
Disallow: /page/
Disallow: /*?sort=
Disallow: /*?page=

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

配置場所とファイル作成方法

robots.txtは必ずドメインのルートディレクトリ直下に配置します。

配置場所のルール
  • 正しい: https://example.com/robots.txt
  • 間違い: https://example.com/blog/robots.txt(サブディレクトリは無効)
  • サブドメインは別ファイル: https://blog.example.com/robots.txt
  • HTTPSとHTTPは別: HTTPSサイトなら https:// のrobots.txtが参照される
作成手順
  1. テキストエディタで新しいファイルを作成
  2. ファイル名を robots.txt にする(拡張子を間違えない)
  3. UTF-8(BOMなし)で保存
  4. サーバーのルートディレクトリにアップロード
  5. https://あなたのドメイン/robots.txt にアクセスして表示を確認

WordPressの場合は、テーマやSEOプラグイン(Yoast SEO、All in One SEOなど)がrobots.txtを自動生成する機能を持っています。プラグインの管理画面から編集するのが安全です。

robots.txtの確認方法(無料ツールで構文チェック)

robots.txtを作成・変更したら、必ず構文に問題がないか確認しましょう。意図したとおりにクロール制御されているかを検証する方法を紹介します。

ブラウザで直接確認する(/robots.txt)

最もシンプルな確認方法は、ブラウザのアドレスバーに直接URLを入力することです。

https://あなたのドメイン/robots.txt

これで現在のrobots.txtの内容がテキストで表示されます。競合サイトのrobots.txtも同じ方法で確認できるので、上位サイトがどのような設定をしているかを参考にできます。

inSite robots.txtテスターで構文チェック

無料ツール inSite robots.txtテスター - 構文チェック&クロール判定

inSiteのrobots.txtテスターでは、robots.txtの内容を貼り付けるだけで以下を確認できます。

inSite robots.txtテスターの機能
  • 構文エラーの検出
    ディレクティブの誤記やフォーマットの問題を指摘
  • URL別のクロール判定
    特定のURLが「Allowed」か「Disallowed」かをシミュレーション
  • User-agent別の確認
    Googlebot、Bingbot、GPTBotなどクローラー別の挙動をチェック

Google Search Consoleで影響を確認する

Search Consoleでは、robots.txtの影響をインデックスの観点から確認できます。

URL検査ツール

Search Consoleの「URL検査」で特定のURLを入力すると、robots.txtによってブロックされているかどうかがわかります。「クロールを許可?」の項目で「いいえ: robots.txtによりブロック」と表示された場合は、robots.txtの設定を見直す必要があります。

インデックスカバレッジレポート

「ページ」レポート(旧カバレッジレポート)で「robots.txtによりブロック」というステータスが表示されるページがないかを確認しましょう。意図せずブロックしているページがあれば、robots.txtの修正が必要です。

その他の無料ツール

ツール名特徴用途
Screaming Frog(無料版)500URLまで無料でクロール可能robots.txtの影響を実際のクロールで確認
Google Rich Results Testレンダリング結果を表示robots.txtでリソースがブロックされていないか確認
Merkle robots.txt Testerオンラインで即チェックURLとrobots.txtを入力してクロール可否を確認

robots.txtとnoindexの違い・使い分け

robots.txtとnoindexは混同されやすいですが、目的と仕組みがまったく異なります。ここを間違えると、「ブロックしたはずのページが検索結果に出ている」といったトラブルが起きます。

比較項目robots.txtnoindex
目的クロールの制御インデックスの制御
仕組みクローラーのアクセス自体をブロッククロールは許可するが、インデックスに登録しない
設置場所ルートディレクトリのrobots.txtHTMLの<meta>タグ or HTTPヘッダー
検索結果への影響URLが検索結果に表示される可能性あり(外部リンク経由)確実に検索結果から除外
ページ単位の制御パス単位(ディレクトリ・ワイルドカード)ページ単位で個別に設定

robots.txt vs noindex 判断フロー

よくある勘違い
  • robots.txtでDisallowすれば検索結果に出なくなる → 間違い
    外部サイトからリンクされている場合、robots.txtでブロックしてもURL自体は検索結果に表示されることがある(タイトルやスニペットがない状態で表示される)
  • robots.txtでブロックしたページにnoindexを追加 → 効果なし
    クローラーがページにアクセスできないため、noindexタグを読み取れない。両方設定するのは矛盾する
判断の基本ルール
  • 検索結果から完全に消したい
    noindexを使う(robots.txtでブロックしない)
  • クロールバジェットを節約したい
    robots.txtでDisallow
  • 機密情報を守りたい
    そもそも認証(Basic認証等)を設定する。robots.txtはセキュリティ手段ではない

robots.txtでよくある間違い5つ

筆者が実務で見てきた、robots.txtの典型的な間違いを紹介します。

間違い1: インデックスを防げると思っている

最も多い間違いです。「このページを検索結果に出したくない」という理由でrobots.txtにDisallowを追加するケースですが、前述のとおりrobots.txtではインデックスを確実に防ぐことはできません

検索結果から除外したい場合は、noindexメタタグを使いましょう。

間違い2: CSS・JavaScriptをブロックしてしまう

WordPressなどで /wp-includes/ をまるごとDisallowすると、CSSやJavaScriptファイルへのクローラーのアクセスもブロックされます。Googleはページをレンダリングして内容を評価するため、レンダリングに必要なリソースがブロックされるとSEO評価に悪影響が出ます。

# NG例
User-agent: *
Disallow: /wp-includes/

# OK例(管理画面のみブロック)
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

間違い3: テスト環境の設定を本番に持ち込む

開発・ステージング環境では Disallow: / を設定するのが一般的ですが、本番公開時にこの設定を解除し忘れるケースがあります。

# 本番環境にこれが残っていると全ページクロール拒否
User-agent: *
Disallow: /

筆者も過去に、ステージング環境から本番にデプロイする際にrobots.txtの設定を元に戻し忘れ、数日間サイト全体のクロールが止まった経験があります。デプロイチェックリストにrobots.txtの確認を必ず入れておきましょう。

間違い4: User-agent: * の誤解

User-agent: * は「すべてのクローラー」を意味しますが、正確には**「個別にUser-agentが指定されていないクローラー」**に適用されます。

# Googlebotには個別ルールが適用される
User-agent: Googlebot
Disallow: /private/

# Googlebot以外のクローラーにはこちらが適用
User-agent: *
Allow: /

この例では、Googlebotは /private/ にアクセスできませんが、Bingbotは User-agent: * のルールに従い、/private/ を含むすべてのページにアクセスできます。

間違い5: サブドメインを制御しようとする

robots.txtはドメイン単位で機能するため、example.com/robots.txt の設定は blog.example.com には適用されません。

# example.com/robots.txt に書いても、blog.example.com には効果なし
User-agent: *
Disallow: /blog/  # これはexample.com/blog/のみに適用

サブドメインのクロールを制御する場合は、そのサブドメインのルートに別途robots.txtを配置する必要があります。

AIクローラーをrobots.txtで制御する方法【2026年最新】

2026年現在、GPTBot、ClaudeBot、PerplexityBotなどのAIクローラーへの対応は、robots.txt設定において避けて通れないテーマになっています。AI検索(ChatGPTの検索機能、Perplexity、Google AI Overview等)に自サイトの情報を引用してもらうか、AI学習に使わせないかを、robots.txtで制御できます。

主要AIクローラー一覧と設定例

クローラー名運営元目的
GPTBotOpenAIChatGPTの学習・検索用データ収集
ChatGPT-UserOpenAIChatGPTのリアルタイム検索
ClaudeBotAnthropicClaudeの学習用データ収集
PerplexityBotPerplexityPerplexityの検索・回答生成
Google-ExtendedGoogleGeminiの学習用データ収集(検索インデックスとは別)
BytespiderByteDanceTikTok関連のAI学習
cohere-aiCohereLLM学習用データ収集

AIクローラーをすべてブロックする例

# AI学習用クローラーをブロック
User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: cohere-ai
Disallow: /

AI検索に引用される設定 vs 学習拒否設定

AIクローラーへの対応は、サイトの戦略によって方針が分かれます。

方針robots.txt設定メリットデメリット
AI検索に引用されたいAIクローラーをAllow(またはブロックしない)ChatGPT・Perplexity等で引用されトラフィック増加の可能性AI学習にコンテンツが使用される
AI学習を拒否したいAIクローラーをDisallowコンテンツが無断でAI学習に利用されるのを防げるAI検索での引用機会を失う
検索は許可・学習は拒否ChatGPT-UserはAllow、GPTBotはDisallowAI検索での引用を維持しつつ学習利用を制限クローラーの区別が正確とは限らない
inSite inSite

OpenAIはGPTBot(学習用)とChatGPT-User(リアルタイム検索用)を公式に分けています。学習利用だけをブロックしたい場合はGPTBotのみDisallowにする方法がありますが、引用頻度への影響は未知数です。判断に迷う場合は、まず全許可で運用し、状況を見て制限を追加するのが安全です。

llms.txtとの違いと併用方法

2025年から注目されているllms.txtは、robots.txtとは異なるアプローチでAIとの関係を制御するファイルです。

比較項目robots.txtllms.txt
目的クロールの許可/拒否AIへの情報提供(サイト概要・構造の説明)
対象検索エンジンクローラー全般LLM(大規模言語モデル)
内容Disallow/Allowルールサイトの説明、主要ページのリスト、引用ポリシー
標準化RFC 9309で標準化済み提案段階(広く採用が進行中)

robots.txtが「入口の門番」だとすれば、llms.txtは「AIへの自己紹介状」です。両方を配置することで、クロール制御と情報提供の両面からAIとの関係をコントロールできます。

# robots.txt: AI学習クローラーはブロック、検索用は許可
User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Allow: /

# llms.txt: サイト概要と主要ページをAIに提供
# (llms.txtはrobots.txtとは別ファイルとして配置)
関連記事 コンテンツSEOとは?手順・メリット・成功のコツをわかりやすく解説

よくある質問

robots.txtがないとどうなりますか?
robots.txtが存在しない場合、クローラーはサイト内のすべてのページを自由にクロールします。小規模サイトでは問題になりませんが、大規模サイトではクロールバジェットの無駄遣いにつながる可能性があります。少なくともSitemapの指定だけでも記載しておくことを推奨します。
robots.txtの変更が反映されるまでどれくらいかかりますか?
Googleは通常24時間以内にrobots.txtの変更を検出しますが、最大で数日かかることもあります。Search Consoleの「設定」→「クロール」→「robots.txt」で、Googleが認識している最新のrobots.txtを確認できます。急ぎの場合は、Search ConsoleからURLの再クロールをリクエストしましょう。
robots.txtでブロックしたページが検索結果に表示されるのはなぜですか?
robots.txtはクロールを制御するだけで、インデックスを直接制御するものではありません。外部サイトからリンクされている場合、Googleはそのページの存在を認識し、URL・ページタイトル(外部リンクのアンカーテキスト等から推測)が検索結果に表示されることがあります。検索結果から完全に除外するには、robots.txtのブロックを解除してnoindexメタタグを設定しましょう。
WordPressでrobots.txtを編集するにはどうすればよいですか?
方法は主に2つあります。

1つ目は、SEOプラグイン(Yoast SEO、All in One SEOなど)の管理画面から編集する方法。プラグインの「ツール」や「ファイルエディター」からrobots.txtを直接編集できます。

2つ目は、FTPやファイルマネージャーでサーバーに直接robots.txtをアップロードする方法です。WordPressはデフォルトで仮想的なrobots.txtを生成しますが、実ファイルを配置するとそちらが優先されます。

まとめ

この記事のポイント
  • robots.txtはクローラーへの「指示書」。インデックス制御ではなくクロール制御が目的
  • 基本構文はUser-agent・Disallow・Allow・Sitemapの4つ。書き方のパターンを例付きで解説
  • 確認は/robots.txtへの直接アクセス、inSiteテスター、Search Consoleの3つが基本
  • robots.txtとnoindexは目的が違う。間違えるとSEOに悪影響が出る
  • 2026年はAIクローラー(GPTBot・ClaudeBot等)の制御とllms.txtとの併用が必須

robots.txtの設定は一度正しく行えば頻繁に変更するものではありませんが、サイトの構造変更やAIクローラーの登場など、環境が変わるタイミングで見直しが必要です。

まずは自サイトの https://あなたのドメイン/robots.txt にアクセスして、現在の設定内容を確認するところから始めましょう。構文に不安がある場合は、inSite robots.txtテスターで無料チェックできます。

関連記事 キーワード選定のやり方を7ステップで解説|失敗しない選び方とコツ 関連記事 検索意図とは?4つの分類と調べ方をインハウスSEO実務者が解説

\ テクニカルSEOの管理を自動化 /

inSite(インサイト)

robots.txtの影響確認からインデックス管理、内部リンク分析まで。テクニカルSEOの課題発見を自動化し、改善サイクルを加速させます。

inSiteのインデックス状態チェック機能のダッシュボード 無料で試してみる ↗