robots.txtの書き方完全ガイド|2026年の正しい設定とやってはいけない例
robots.txtの設定を何年も放置していませんか? 2026年現在、AI OverviewやChatGPT検索の登場により、robots.txtは「検索エンジン向けの古い設定ファイル」から「AIクローラーへのアクセス制御の要」に変わりました。
設定を間違えると、Googleのインデックスから消えるだけでなく、ChatGPTやPerplexityの回答にも表示されなくなります。逆に正しく設定すれば、従来の検索エンジンとAI検索の両方で可視性を確保できます。
この記事では、robots.txtの基本構文から2026年に追加すべきAIクローラー設定まで、コピペ可能なテンプレート付きで解説します。
自社サイトのrobots.txt設定が正しいか不安な方は、無料診断ツールで自動チェックできます。
robots.txtとは何か
robots.txtは、Webサイトのルートディレクトリに配置するテキストファイルです。検索エンジンやAIのクローラーに対して「どのページをクロールしてよいか」を伝えます。
技術的にはRFC 9309(Robots Exclusion Protocol)で標準化されており、https://あなたのドメイン/robots.txtに配置します。
重要な前提: robots.txtはクローラーへの「お願い」であり、技術的な強制力はありません。主要な検索エンジンやAIクローラーはこれを尊重しますが、悪意あるボットは無視する可能性があります。機密情報の保護にはrobots.txtではなく認証を使ってください。
robots.txtの基本構文
robots.txtで使えるディレクティブは5つです。RFC 9309に基づいて解説します。
User-agent(対象クローラーの指定)
User-agent: Googlebot
どのクローラーに対するルールかを指定します。*(アスタリスク)は全クローラーを意味します。
Disallow(クロール禁止)
Disallow: /admin/
Disallow: /private/secret.html
指定したパスへのクロールを禁止します。空のDisallow:は「何も禁止しない(全て許可)」を意味します。
Allow(クロール許可)
Allow: /admin/public/
Disallow: /admin/
Disallowで禁止した範囲の中で、特定のパスだけ許可する場合に使います。RFC 9309では、より具体的(長い)パスが優先されます。
Sitemap(サイトマップの場所)
Sitemap: https://example.com/sitemap.xml
サイトマップのURLを指定します。User-agentブロックの外に記述します。複数指定可能です。
Crawl-delay(非標準)
Crawl-delay: 10
クロール間隔を秒数で指定します。RFC 9309には含まれていない非標準ディレクティブです。Googleは無視しますが、Bing・Yandex等は尊重します。サーバー負荷が心配な場合のみ使用してください。
構文ルールまとめ
| ルール | 説明 |
|---|---|
| 大文字小文字 | ディレクティブ名は大文字小文字を区別しない。パスは区別する |
| パスの指定 | /で始まる。*(ワイルドカード)と$(末尾一致)が使える |
| 優先順位 | 同じUser-agentに複数ルールがある場合、より具体的(長い)パスが優先 |
| グループ | 1つのUser-agentに対するルールは連続して記述する |
| コメント | #以降はコメント |
| 文字コード | UTF-8 |
| ファイルサイズ | 500KB以下(Google推奨) |
実際の書き方:コピペ可能なテンプレート3パターン
パターン1: 標準的な企業サイト
管理画面と内部検索結果を除外し、それ以外は全て許可する基本パターンです。
# 標準企業サイト向け robots.txt
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /search?
Disallow: /tmp/
Disallow: /*?sessionid=
# AIクローラー: 検索表示を許可
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
# AIクローラー: 学習利用を拒否(任意)
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
Sitemap: https://example.com/sitemap.xml
パターン2: ECサイト
商品ページは許可しつつ、カート・決済・会員ページを保護します。フィルタ付きURLの重複クロールも防止します。
# ECサイト向け robots.txt
User-agent: *
Allow: /
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /order-confirmation/
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*&page=
# 商品ページ・カテゴリは明示的に許可
Allow: /products/
Allow: /categories/
# AIクローラー: 商品情報の検索表示を許可
User-agent: OAI-SearchBot
Allow: /products/
Allow: /categories/
Allow: /blog/
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
User-agent: Claude-SearchBot
Allow: /products/
Allow: /categories/
Allow: /blog/
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
User-agent: PerplexityBot
Allow: /products/
Allow: /categories/
Allow: /blog/
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap-products.xml
パターン3: ブログ・メディアサイト
記事コンテンツを最大限公開し、管理画面とプレビューのみ除外します。
# ブログ・メディアサイト向け robots.txt
User-agent: *
Allow: /
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /*?preview=true
Disallow: /tag/
Disallow: /author/
# 全AIクローラーに記事を公開(検索表示 + 学習)
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Googlebot
Allow: /
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/news-sitemap.xml
プラットフォーム別の設定方法
WordPress
WordPressはデフォルトで仮想的なrobots.txtを生成します。カスタマイズするには物理ファイルを作成します。
方法1: 物理ファイルを配置
# WordPressルートディレクトリに作成
nano /var/www/html/robots.txt
物理ファイルが存在すると、WordPressの仮想robots.txtより優先されます。
方法2: プラグインを使用
Yoast SEO、Rank Math等のSEOプラグインでGUIから編集できます。
- Yoast SEO: ツール → ファイルエディター → robots.txt
- Rank Math: 一般設定 → robots.txt を編集
WordPress固有の推奨設定:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /*?replytocom=
Disallow: /trackback/
/wp-admin/admin-ajax.phpはフロントエンドのAjax処理に使われるため、許可が必要です。
Shopify
Shopifyはrobots.txtを自動生成します。2021年以降、robots.txt.liquidテンプレートでカスタマイズ可能です。
設定手順:
- Shopify管理画面 → オンラインストア → テーマ → アクション → コードを編集
- Templatesフォルダに
robots.txt.liquidを作成 - 以下のコードを記述:
{% comment %}
Shopify robots.txt カスタマイズ
{% endcomment %}
User-agent: *
Disallow: /admin
Disallow: /cart
Disallow: /orders
Disallow: /checkouts/
Disallow: /checkout
Disallow: /*?q=*
Disallow: /search?*
Allow: /collections/
Allow: /products/
Allow: /pages/
Allow: /blogs/
User-agent: OAI-SearchBot
Allow: /products/
Allow: /collections/
Allow: /blogs/
Allow: /pages/
User-agent: PerplexityBot
Allow: /products/
Allow: /collections/
Allow: /blogs/
Allow: /pages/
Sitemap: {{ shop.url }}/sitemap.xml
静的サイト(HTML/Hugo/Jekyll等)
ルートディレクトリにrobots.txtファイルを直接配置します。
# プロジェクトルートに作成
echo "User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml" > public/robots.txt
Hugo の場合はstatic/robots.txt、Jekyll の場合はルートに配置すればビルド時にコピーされます。
Next.js(App Router)
Next.js 13以降のApp Routerでは、app/robots.tsで動的に生成できます。
// app/robots.ts
import type { MetadataRoute } from 'next'
export default function robots(): MetadataRoute.Robots {
return {
rules: [
{
userAgent: '*',
allow: '/',
disallow: ['/api/', '/admin/', '/_next/'],
},
{
userAgent: 'OAI-SearchBot',
allow: '/',
},
{
userAgent: 'Claude-SearchBot',
allow: '/',
},
{
userAgent: 'PerplexityBot',
allow: '/',
},
{
userAgent: 'GPTBot',
disallow: '/', // 学習利用を拒否する場合
},
],
sitemap: 'https://example.com/sitemap.xml',
}
}
Pages Routerの場合はpublic/robots.txtに静的ファイルを配置します。
2026年に追加すべきAIクローラー設定
2026年現在、主要なAIクローラーは12種類以上存在します。「検索表示用」と「学習用」を区別して設定することが重要です。
許可/拒否の判断表
| クローラー | 役割 | 検索表示したい場合 | 学習拒否したい場合 |
|---|---|---|---|
| OAI-SearchBot | ChatGPT検索表示 | ✅ Allow | ✅ Allow(検索のみ) |
| GPTBot | OpenAI学習用 | どちらでも | ❌ Disallow |
| Claude-SearchBot | Claude検索表示 | ✅ Allow | ✅ Allow(検索のみ) |
| ClaudeBot | Anthropic学習用 | どちらでも | ❌ Disallow |
| PerplexityBot | Perplexity検索 | ✅ Allow | ✅ Allow |
| Googlebot | Google検索+AI Overview | ✅ Allow | ブロック不可(検索も消える) |
| Google-Extended | Gemini学習用 | どちらでも | ❌ Disallow |
| Meta-ExternalAgent | Meta AI学習用 | どちらでも | ❌ Disallow |
| Applebot-Extended | Apple AI学習用 | どちらでも | ❌ Disallow |
| Bytespider | ByteDance学習用 | どちらでも | ❌ Disallow |
各クローラーの詳細な役割と設定方法はAIクローラー完全ガイドで解説しています。
最低限追加すべき設定
既存のrobots.txtに以下を追加するだけで、AI検索への対応が完了します。
# === AI検索対応(2026年追加分) ===
# ChatGPT検索に表示
User-agent: OAI-SearchBot
Allow: /
# Claude検索に表示
User-agent: Claude-SearchBot
Allow: /
# Perplexityに引用
User-agent: PerplexityBot
Allow: /
# 学習利用を拒否する場合(任意)
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: Meta-ExternalAgent
Disallow: /
User-agent: Bytespider
Disallow: /
やってはいけない設定例:よくある間違い5つ
間違い1: 全クローラーを一括ブロック
# ❌ これをやると検索結果から完全に消える
User-agent: *
Disallow: /
問題: Googlebot含む全クローラーがブロックされ、検索インデックスから削除されます。AI検索にも一切表示されなくなります。
正しい対処: ブロックしたいクローラーを個別に指定してください。
間違い2: Allow と Disallow の順序を間違える
# ❌ 順序に意味があると思い込む(実際はパスの長さで決まる)
User-agent: Googlebot
Disallow: /blog/
Allow: /blog/public/
事実: RFC 9309では、**パスの長さ(具体性)**で優先順位が決まります。上記の例では/blog/public/(より具体的)が優先されるため、結果的に正しく動作します。ただし同じ長さの場合はAllowが優先されます。
間違い3: noindexの代わりにDisallowを使う
# ❌ Disallowはインデックス削除の指示ではない
User-agent: Googlebot
Disallow: /old-page/
問題: Disallowはクロールを禁止するだけで、既にインデックスされたページは削除されません。外部リンクがあれば、クロールせずにインデックスに残り続ける場合があります。
正しい対処: インデックスから削除したい場合はnoindexメタタグまたはHTTPヘッダーを使い、robots.txtではクロールを許可してください。クロールできないとnoindexを読み取れません。
間違い4: ワイルドカードの誤用
# ❌ 意図しないページまでブロックしてしまう
User-agent: *
Disallow: /*?
問題: クエリパラメータ付きの全URLがブロックされます。ページネーション(?page=2)やフィルタ(?category=shoes)も含まれ、重要なページがクロールされなくなります。
正しい対処: ブロックしたいパラメータを具体的に指定してください。
# ✅ 具体的に指定
User-agent: *
Disallow: /*?sessionid=
Disallow: /*?utm_
間違い5: robots.txtをサブディレクトリに配置
# ❌ /blog/robots.txt は無効
https://example.com/blog/robots.txt
問題: robots.txtはドメインのルート(/robots.txt)にのみ配置できます。サブディレクトリに置いても無視されます。
正しい配置: 必ずhttps://example.com/robots.txtに配置してください。サブドメイン(blog.example.com)の場合は、そのサブドメインのルートに別途配置が必要です。
設定後の確認方法
robots.txtを作成・変更したら、必ず以下の3ステップで確認してください。
1. ブラウザで直接確認
https://あなたのドメイン/robots.txt
ブラウザでアクセスし、意図した内容が表示されることを確認します。HTTPステータスが200であることも重要です(404だと「制限なし」と解釈されます)。
2. Google Search Consoleで検証
Google Search Consoleの「設定」→「クロール」→「robots.txtレポート」で、Googlebotがどのページをクロールできるかを確認できます。
特定のURLを入力して、Allow/Disallowの判定結果をテストできます。
3. AEO Checkで総合診断
AEO Check無料診断ツールでは、robots.txtの設定に加えて以下を自動チェックします:
- 各AIクローラー(OAI-SearchBot、ClaudeBot、PerplexityBot等)の許可状況
- 構造化データの実装状況
- llms.txtの有無
- AI検索対応度の総合スコア
robots.txtの設定だけでなく、AI検索対応の全体像を把握できます。
よくある質問
robots.txtがないとどうなりますか?
robots.txtが存在しない場合(404を返す場合)、全てのクローラーがサイト全体をクロール可能と解釈します。Googleの公式ドキュメントでも「robots.txtがない場合、すべてのウェブクローラーがサイト上のすべてのコンテンツにアクセスできる」と明記されています。意図的に全許可する場合でも、Sitemapディレクティブのために作成することを推奨します。
robots.txtとnoindexの違いは?
robots.txtは「クロール(アクセス)の制御」、noindexは「インデックス(検索結果への登録)の制御」です。目的が異なります。ページを検索結果から消したい場合はnoindexを使い、robots.txtではそのページへのクロールを許可してください。Disallowするとnoindexタグを読み取れず、逆にインデックスに残り続ける場合があります。
robots.txtの変更はどのくらいで反映されますか?
Googleの場合、robots.txtのキャッシュは通常24時間以内に更新されます。ただしクロール頻度が低いサイトでは数日かかる場合があります。OpenAI(OAI-SearchBot)も約24時間で反映されます。急ぎの場合はGoogle Search Consoleから再クロールをリクエストできます。
Disallow: / と Disallow: の違いは?
Disallow: /は「ルート以下の全パスをブロック」、Disallow:(空)は「何もブロックしない(全て許可)」です。スラッシュ1つの有無で意味が正反対になるため、注意が必要です。
複数のUser-agentに同じルールを適用したい場合は?
RFC 9309では、複数のUser-agent行を連続して記述し、その後にルールを書くことで同じルールを適用できます。
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Bytespider
Disallow: /
まとめ
| やるべきこと | 具体的な設定 |
|---|---|
| 基本設定 | User-agent: * + Allow/Disallowで全体方針を定義 |
| AI検索対応 | OAI-SearchBot、Claude-SearchBot、PerplexityBotをAllow |
| 学習拒否(任意) | GPTBot、ClaudeBot、Google-ExtendedをDisallow |
| サイトマップ | Sitemap:ディレクティブで場所を明示 |
| 確認 | Search Console + AEO Checkで検証 |
| やってはいけないこと | リスク |
|---|---|
User-agent: * / Disallow: / |
検索結果から完全に消える |
| noindexの代わりにDisallow | インデックスに残り続ける |
| サブディレクトリに配置 | 完全に無視される |
| ワイルドカードの乱用 | 意図しないページがブロックされる |
| 設定後の確認を怠る | 問題に気づかないまま放置 |
robots.txtは一度正しく設定すれば、頻繁に変更する必要はありません。ただし2026年はAIクローラーの追加・変更が続いているため、半年に一度は見直すことを推奨します。
自社サイトのrobots.txt設定とAI検索対応状況を確認したい方は、無料診断ツールで7カテゴリの自動診断ができます。スコアと改善ポイントをMarkdown形式でダウンロード可能です。
関連記事
AIクローラー一覧表【2026年最新】ChatGPT・Perplexity・Geminiのrobots.txt設定
ChatGPT・Perplexity・Gemini・Claude等のAIクローラーのUser-Agent名、robots.txtでの制御方法、公式ドキュメントへ...
ChatGPTに表示されるrobots.txt設定|GPTBotではなくOAI-SearchBotが重要【2026年版】
ChatGPT検索に表示されたいなら、robots.txtで許可すべきはGPTBotではなくOAI-SearchBotです。OpenAI・Google・Anth...
FAQPageスキーマはもう効かない?2026年に残すべき構造化データと代替策
2023年8月のGoogle変更でFAQPageリッチリザルトは政府・医療サイト限定に。しかしAI検索では依然有効です。残すべきケース・代替策・2026年に優先...