オンラインrobots.txtジェネレーターを使えば、ディレクティブを暗記したりサイト全体をサイレントにブロックする構文エラーのリスクを冒したりせずに、数秒で有効な robots.txt ファイルを作成できます。このファイルはドメインのルートに置かれ、他のURLに触れる前に検索エンジンクローラーが最初に読むものです。

robots.txtが実際にすること

robots.txtRobots Exclusion Protocolを実装したプレーンテキストファイルです。すべての準拠クローラーはクロール前に https://yourdomain.com/robots.txt を取得します。パスをブロックすると、行儀の良いボットはそれをスキップします。悪意のあるスクレイパーは完全に無視します — そのため robots.txt はセキュリティメカニズムではありません。

このファイルには2つの役割があります:

  1. クロールバジェットの保護 — 管理パネル、重複コンテンツ、検索結果ページを無駄にしないようクローラーに伝える。
  2. サイトマップの指示Sitemap: ディレクティブで手動送信なしにGoogleとBingにサイトマップの場所を正確に伝える。

robots.txtしないこと:他の場所からリンクされているページが検索結果に表示されるのを防ぐことはできません。ページのインデックス除外にはHTMLのmetaタグの noindexX-Robots-Tag ヘッダーを使ってください。

コアディレクティブの解説

User-agent

次のルールを適用するクローラーを指定します。* はすべてのクローラーにマッチします。

User-agent: *

現実のボット一覧:

ボット運営者
GooglebotGoogle(一般)
Googlebot-ImageGoogle画像
Googlebot-VideoGoogle動画
BingbotMicrosoft Bing
SlurpYahoo Search
DuckDuckBotDuckDuckGo
facebookexternalhitFacebookリンクプレビュー
TwitterbotTwitter/Xカード
GPTBotOpenAIトレーニングクローラー
Claude-WebAnthropic Webクローラー

Disallow

パスプレフィックスをブロックします。空の Disallow: 値は「すべてを許可」を意味します。

User-agent: *
Disallow: /admin/
Disallow: /private/
Disallow: /search?

ディレクトリの末尾スラッシュに注意 — なければ /admin/administrator にもマッチします。

Allow

より具体的なパスのために Disallow を上書きします。ディレクトリをブロックしながら内部の1ファイルを公開したい場合に便利です。

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

Sitemap

元の仕様にはありませんが、主要クローラーすべてがサポートしています。ファイルの末尾に置いてください。

Sitemap: https://yourdomain.com/sitemap.xml
Sitemap: https://yourdomain.com/news-sitemap.xml

Crawl-delay

クローラーにリクエスト間のN秒待機を依頼します。Googleはこのディレクティブを無視します(代わりにSearch Consoleでクロールレートを設定)。BingなどはBlacklistします。

User-agent: Bingbot
Crawl-delay: 5

よくあるrobots.txtパターン

すべてを許可(デフォルトの健全な設定)

User-agent: *
Disallow:

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

空の Disallow は「自由にクロールしてください」というシグナルです。ほとんどのマーケティングサイトの正しい出発点です。

管理・ステージングパスをブロック

User-agent: *
Disallow: /admin/
Disallow: /staging/
Disallow: /internal/
Disallow: /?preview=true

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

Eコマース:ファセットナビゲーションをブロック

/shop?color=red&size=M のようなファセットURLは、クロールバジェットを消耗する何千もの準重複ページを作ります。

User-agent: *
Disallow: /search
Disallow: /cart
Disallow: /checkout
Disallow: /account
Disallow: /wishlist
Allow: /search/landing-page

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

AIトレーニングクローラーをブロック

コンテンツをモデルトレーニングに使わせたくない場合:

User-agent: GPTBot
Disallow: /

User-agent: Claude-Web
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: *
Disallow:

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

WordPress固有のルール

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /xmlrpc.php
Disallow: /wp-json/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://yourdomain.com/sitemap.xml
Sitemap: https://yourdomain.com/post-sitemap.xml
Sitemap: https://yourdomain.com/page-sitemap.xml

robots.txtの検証

Google Search Console

Search Consoleの設定 → robots.txtに移動します。内蔵テスターは入力したURLにどのルールが適用されるかを表示し、構文エラーをフラグします。URLを送信すると、Googlebotがクロールするかどうかを教えてくれます。

手動チェック

curl -I https://yourdomain.com/robots.txt
# 期待値: HTTP/2 200 と Content-Type: text/plain

404が返る場合、Googleはサイトを完全にクロール可能として扱います。5xxが返る場合、Googleはリトライし、クロールを一時停止する可能性があります。

ルールに対する特定URLのテスト

# ファイルを取得して手動で確認
curl https://yourdomain.com/robots.txt

プログラムによるテストには、Googleが提供するrobots.txtパーサーライブラリ(Go製)を使ってください。これがGooglebotが実際に使用する実装です。

SEOを傷つける一般的なミス

1. CSSとJavaScriptをブロックする

古いSEOアドバイスではクロールバジェットを保護するために /wp-content/ をブロックすることを推奨していました。しかし現在GoogleはページのJavaScriptとCSSをレンダリングしてコンテンツを理解する必要があります。これらのファイルをブロックするとGooglebotは壊れたページを見ることになります。

2. ローンチ前にサイト全体をdisallowする

多くのCMSツールは開発モードで Disallow: / を含む状態で出荷されます。開発者はローンチ時に変更するのを忘れます。サイトが公開され、リンクされても、Googleがクロールできないためランキングされません。

3. 機密データを隠すのにrobots.txtを使う

robots.txt に記載されたディレクトリは公開されています。セキュリティ研究者や悪意のある人物は積極的に robots.txt を読んで隠れたパスを探しています。機密ルートはクローラーのルールではなく認証で保護してください。

4. ディレクトリの末尾スラッシュがない

Disallow: /admin/admin/administrator の両方をブロックします。Disallow: /admin/ を使ってルールを正確にスコープしてください。

5. サイトマップURLをブロックする

# 間違い — サイトマップ自体をブロックしてしまう
User-agent: *
Disallow: /sitemap.xml

6. 間違ったContent-Type

ファイルは text/plain として配信される必要があります。一部のサーバーは text/html として配信しており、一部のクローラーはこれを拒否します。

覚えておく構文ルール

  • 1行に1ディレクティブ
  • # で始まる行はコメント
  • 空行が異なる User-agent 値のルールグループを区切る
  • ディレクティブは大文字小文字を区別しない。パスはLinuxサーバーでは大文字小文字を区別する
  • 推奨される最大ファイルサイズは500KB(Googleの実際の制限)
  • UTF-8エンコーディングのみ

推測なしでファイルを作成

手動で robots.txt を書くとエラーが起きやすいです。スラッシュの欠落や Allow/Disallow ルールの順序の間違いが予期しない結果を生みます。同じパスに AllowDisallow の両方がマッチする場合の正しいルールは、長い方のマッチが勝つ — ファイル内の順序ではありません。

robots.txtジェネレーターを試す →

ジェネレーターを使えば、設定するボットを選択し、ブロックしたいパスにチェックを入れ、サイトマップURLを切り替えるだけで、正しい構文の即デプロイ可能なファイルが出力されます。サイトのルートに貼り付けて、5分以内にSearch Consoleで確認できます。