robots.txt作成ツール

信頼できる robots.txt を作成できます。各ルールを入力したそばから解説し、ファイルは当サイトのrobots.txtテスターが RFC 9309 と Google 自身の解釈に照らして読み直します。公開する前に、どのクローラーのどのパスについても、判定をその場で確認できます。

WordPress、Shopify、Next.js、Google のドキュメントをもとに作ったプリセット · 各運営元が公開しているクローラーを目的別に · 判定を決めたルールとその行 · お使いのブラウザ内で作成し、何もアップロードしません
ブラウザ内で作成・チェック

ファイルはホストとプロトコルごとに1つです。www.example.com と example.com には、それぞれ別のファイルが必要です。

プリセットから開始
行うこと
  • すべてのクローラーが、サイト上のすべてのURLを取得できます。
  • Sitemap: の行で、クローラーにサイトマップの場所を伝えます。
行わないこと
  • 何も非公開にはなりません。robots.txt は誰でも読める公開ファイルで、鍵ではなくお願いにすぎません。
  • 検索エンジンにページのインデックス登録を求めるものではありません。クロールとインデックス登録は別物です。

出典:RFC 9309(2026年10月26日に確認)

ルール

そのほかのすべてのクローラー

User-agent: *

専用のグループを持たないすべてのクローラーが読みます。

  • サイト全体を許可します。
Google は無視し、Bing は読み取ります。

目的別のクローラー

既知のクローラーごとに扱いを選んでください。専用のグループを持つクローラーは、そのグループだけを読みます。

検索エンジン8

検索インデックスを作るためにクロールします。ブロックしたページも、ほかのページからのリンクをもとに検索結果に載ることがありますが、ページの中身は何も読まれません。

  • GooglebotGoogleはい(運営元の説明)
  • Storebot-GoogleGoogleはい(運営元の説明)
  • BingbotMicrosoftはい(運営元の説明)
  • ApplebotAppleはい(運営元の説明)
  • Amzn-SearchBotAmazonはい(運営元の説明)
  • DuckDuckBotDuckDuckGoはい(運営元の説明)
  • YandexBotYandexはい(運営元の説明)
  • BaiduspiderBaidu運営元は明記していません
AI学習6

モデルを学習させるためにページを収集します。トークンが別なので、検索結果には表示されたまま、学習だけを拒否できます。

  • Google-ExtendedGoogleトークンのみ(リクエストでは送信されない)
  • GPTBotOpenAIはい(運営元の説明)
  • ClaudeBotAnthropicはい(運営元の説明)
  • Applebot-ExtendedAppleトークンのみ(リクエストでは送信されない)
  • meta-externalagentMetaはい(運営元の説明)
  • AmazonbotAmazonはい(運営元の説明)
AIの回答4

質問に答えるためにページを取得し、あなたのサイトへのリンクを添えます。

  • OAI-SearchBotOpenAIはい(運営元の説明)
  • Claude-SearchBotAnthropicはい(運営元の説明)
  • PerplexityBotPerplexityはい(運営元の説明)
  • meta-webindexerMetaはい(運営元の説明)
個人のリクエストで取得5

人に頼まれたときに1ページだけ取得します。そのため、robots.txt を無視する場合があると述べている運営元もあります。

これらを拒否すると、拒否されるのはクロールではなく人です。誰かがAIアシスタントにあなたのページを開くよう頼んでも、ファイルに従うアシスタントはその人のためにページを読みません。拒否したいのが学習なら、上の学習用クローラーを拒否してください。

  • ChatGPT-UserOpenAI常にではない(運営元の説明)
  • Claude-UserAnthropicはい(運営元の説明)
  • Perplexity-UserPerplexity常にではない(運営元の説明)
  • meta-externalfetcherMeta常にではない(運営元の説明)
  • Amzn-UserAmazon常にではない(運営元の説明)
プレビュー・広告・その他8

リンクプレビュー、サイト所有者向けツール、広告の確認、アーカイブ、そして運営元が別の役割を説明しているか、何も説明していないクローラーです。

  • Google-InspectionToolGoogleはい(運営元の説明)
  • GoogleOtherGoogleはい(運営元の説明)
  • AdsBot-GoogleGoogleはい(運営元の説明)
  • OAI-AdsBotOpenAI運営元は明記していません
  • facebookexternalhitMeta常にではない(運営元の説明)
  • meta-externaladsMetaはい(運営元の説明)
  • BytespiderByteDance運営元は明記していません
  • CCBotCommon Crawlはい(運営元の説明)

サイトマップ

  • 上でサイトを入力すると、ここに自動で入ります。

ファイル

警告1件

あなたの robots.txt/robots.txt

2行
  1. User-agent: *
  2. Allow: /

エラー警告注記500 KiB中23 B

robots.txtテスターの指摘

警告1件

  • Sitemap の行がありません警告

    対処法 ファイルの中で最も手軽な行で、どのクローラーも読みます。サイトマップの完全なアドレスを付けて Sitemap: を追加してください。

公開前にテスト

クローラーとパスを選んでください。判定、それを決めたルール、クローラーが読むグループは、robots.txtテスター自身の照合ロジックで出しています。

パスを試す
クローラー
  • このクローラーはこのURLをリクエストできます。

    選ばれたグループ

    User-agent: *1行目から

    このクローラーを指定するグループが無いため、* のグループが適用されます。

    判定の根拠

    Allow: /2行目

    このルールがほかに一致するもの

    /any-page

    照合した部分

    /

    照合するのはパスとクエリだけで、パーセントエンコード後に1バイトずつ比較します。ホスト、スキーム、フラグメントはルールの対象になりません。

robots.txt ファイルの作成方法

ルールを書き、robots.txt という名前の UTF-8 のプレーンテキストファイルとして保存し、サイトの最上位にアップロードして、https://example.com/robots.txt で配信されるようにします。送信の手順はありません。クローラーは自分からそのアドレスを取得しに来ます。

Google はこれを3つの文にまとめています。「ファイル名は『robots.txt』にする必要があります。各サイトに配置できる robots.txt ファイルは 1 つだけです。robots.txt ファイルは、適用するサイトホストのルートに配置する必要があります」。ファイルは「UTF-8 でエンコードされたテキスト ファイル」でなければならず、アップロードすれば「Google のクローラーが自動的に検出して使用を開始します」。

上の作成ツールはプリセットから始まり、入力したそばから各ルールを解説し、コピーする前に当サイトのrobots.txtテスターのパーサーと照合ロジックで結果を読み直します。ダウンロードするファイルの名前は robots.txt です。バイトオーダーマークなしの UTF-8、改行は LF のみで、頼んでいない日付やコメントは入りません。

ルールを書いてから robots.txt が機能するまでの4ステップ
  1. 1ルールを書くプリセットから始め、サイトに必要なグループとパスを追加します。
  2. 2robots.txt として保存プレーンテキスト、UTF-8、バイトオーダーマークなし。
  3. 3ルートにアップロードホストの最上位で配信する必要があります:https://example.com/robots.txt
  4. 4テストする公開前はここで、公開後は robots.txtテスターで公開中のファイルを。

送信の手順はありません。Google のクローラーが自分でファイルを見つけます。

robots.txt作成ツールの画面:WordPress のプリセット、各ルールの解説、行番号付きのファイルと指摘事項robots.txt作成ツールの画面:WordPress のプリセット、各ルールの解説、行番号付きのファイルと指摘事項プリセットが行うことそして行わないこと。どのプリセットもページを Google から除外するものではなく、それぞれがそう明記しています。各ルールの解説ルールがブロックするパスと取りこぼすパスを、すべての判定を決めるのと同じ照合ロジックで示し、例外を作る長いルールも表示します。ファイルと指摘事項行番号付きのファイルです。コピーする前に、robots.txtテスター自身の監査で読み直します。判定クローラーとパスを選ぶと、許可かブロックか、それを決めたルールとその行、クローラーが読むグループを表示します。
作成ツールで WordPress のプリセットを選んだ画面です。プリセットが行うことと行わないこと、照合ロジックによる各ルールの解説、公開するとおりのファイル、そしてクローラーとパスに対する判定を表示しています。番号を選ぶと、各部分に何が表示されているかを確認できます。

robots.txt ファイルに書く内容を1行ずつ解説

グループと Sitemap の行です。グループはクローラーを指定する1行以上の User-agent の行で始まり、そのクローラーが従う Allow と Disallow のルールが続きます。Sitemap の行はどのグループにも属さず、単独で置きます。

RFC 9309 はグループを「1行以上の user-agent 行と、それに続く1つ以上のルール」と定義しており、クローラーが従うグループはちょうど1つです。自分のプロダクトトークンを指定したグループか、それが無ければ * のグループです。Google が読むフィールドは user-agent、allow、disallow、sitemap の4つだけで、ほかは読みません。

フィールド名は大文字と小文字を区別しませんが、パスは区別します。Google 自身の例でも、disallow: /file.asp は /file.asp に適用されますが、/FILE.asp には「適用されません」。Sitemap: の行は、プロトコルとホストを含む完全なアドレスでなければなりません。このツールはそれ以外の書き方を受け付けず、その理由を表示します。

robots.txt を1行ずつ
robots.txt
  1. 1User-agent: *専用のグループを持たないすべてのクローラー向けのグループを開始
  2. 2Disallow: /cart/これらのクローラーが取得してはいけないパス
  3. 3Allow: /cart/help例外:Disallow より長いので優先される
  4. 4
  5. 5User-agent: GPTBot2つのクローラーを指定するグループを開始
  6. 6User-agent: ClaudeBot
  7. 7Disallow: /どちらもサイト全体を拒否される
  8. 8
  9. 9Sitemap: https://www.example.org/sitemap.xmlどのグループにも属さない:完全なアドレス

Allow と Disallow、* と $:ルールが一致する仕組み

1つのURLに複数のルールが一致した場合、種類にかかわらずパスが最も長いルールが優先され、同じ長さなら Allow が優先されます。* は任意の文字列を、$ はURLの末尾を表し、パスの中でほかに特別な意味を持つ文字はありません。

RFC 9309:「最も具体的な一致を使わなければならない(MUST)。最も具体的な一致とは、最も多くのオクテットを持つ一致である」、そして「allow ルールと disallow ルールが同等であれば、allow ルールを使うべきである(SHOULD)」。WordPress 自身のファイルもこの仕組みで動いています。Disallow: /wp-admin/ がフォルダを閉じ、より長い Allow: /wp-admin/admin-ajax.php がその中の1つのファイルを開けます。

$ の無いルールは前方一致なので、Disallow: /admin は /administrator もブロックします。フォルダを指すときはスラッシュを付けてください(/admin/)。上のエディターは各ルールの下に、そのルールが一致するパスと一致しないパスの例を、すべての判定を決めるのと同じ照合ロジックで表示し、ほかのルールに常に負けるルールには印を付けます。

* と $、それぞれのパターンが実際に一致するもの
パターン一致する一致しない
/admin/admin/ · /administrator · /admin-tools/wp-admin
/admin//admin/users/administrator
/*.pdf$/files/report.pdf/report.pdf?v=2
/*?/search?q=x/search

?、.、[、+ はただの文字です。robots.txt に正規表現はありません。

1つのURLに2つのルールが一致:パスが長いほうが優先
/admin/report.pdf
  • Disallow: /admin/7文字
  • Allow: /admin/report.pdf17文字

Allow が優先:パスのより多くの部分に一致しているため。

完全に同じ長さ
Disallow: /files/7文字Allow: /files/7文字

長さが同じなので Allow が優先。Google の言う「制限が最も少ないルール」です。

例のファイルは架空のサイト www.example.org のものです。実在する robots.txt を壊れた例として載せることはありません。

WordPress・Shopify・Next.js の robots.txt

3つとも最初から robots.txt を配信しており、上のプリセットは各プラットフォーム自身のドキュメントが説明する内容を書き出します。WordPress は管理画面を拒否しつつ admin-ajax.php を許可し、Shopify はカート、チェックアウト、絞り込みや並べ替えをしたコレクションを拒否し、Next.js は app/robots.txt に置いたファイルを配信します。

WordPress はファイルをコードで、do_robots() の中で書き出します。User-agent: *、管理画面のパスへの Disallow、admin-ajax.php への Allow、そして公開サイトでは WordPress 5.5以降、/wp-sitemap.xml を指す Sitemap: の行です。「検索エンジンがサイトをインデックスしないようにする」をオンにすると、WordPress 5.3以降は Disallow: / を書かなくなり、代わりに robots の meta タグを使います。

Shopify は、既定のファイルは「ほとんどのストアで問題なく機能する」と述べています。アップロードするファイルは無く、変更するにはテーマの robots.txt.liquid テンプレートを編集する必要があり、Shopify はこれを「サポート対象外のカスタマイズ」と呼んでいます。Next.js は app/robots.txt を書かれたとおりに配信するか、app/robots.ts からファイルを生成します。

WordPress・Shopify・Next.js が配信するファイルと、その変更場所
WordPress
  1. 1User-agent: *
  2. 2Allow: /wp-admin/admin-ajax.php
  3. 3Disallow: /wp-admin/
  4. 4
  5. 5Sitemap: https://example.com/wp-sitemap.xml

WordPress 自身が書き出します。プラグインか robots_txt フィルターで変更します。

Shopify
  1. 1User-agent: *
  2. 2Allow: /
  3. 3Disallow: /admin
  4. 4Disallow: /cart/
  5. 5Disallow: /checkout
  6. 6Disallow: /checkouts/
  7. 7Disallow: /account
  8. 8Disallow: /orders
  9. 9Disallow: /collections/*+*
  10. 10Disallow: /collections/*sort_by*
  11. 11
  12. 12Sitemap: https://example.com/sitemap.xml

Shopify の既定のファイルです。テーマの robots.txt.liquid テンプレートで変更します。

Next.js
  1. 1User-agent: *
  2. 2Allow: /
  3. 3
  4. 4Sitemap: https://example.com/sitemap.xml

app/robots.txt に置いた自分のファイル、または app/robots.ts から作るファイル。/robots.txt で配信されます。

どのファイルも、同じ名前のプリセットが example.com 用に書き出す内容です。

AIクローラーのブロック:本当に効く方法

クローラーを指定したグループの下に Disallow: / を書けば、robots.txt に従うと運営元が述べているクローラーには効きます。効くのはそれらだけです。これはクローラーが尊重するお願いであって鍵ではなく、ファイルを無視するクローラーはどのページでも取得できます。

ほとんどのAI企業は複数のクローラーを運用しているので、役割ごとに決めてください。GPTBot や ClaudeBot のような学習用クローラーを拒否すれば、モデルのためにページを収集するクローラーを拒否できます。OAI-SearchBot や PerplexityBot のような回答用クローラーを拒否すると、それらのアシスタントが表示するリンクからも外れます。Google の学習用トークンは Googlebot ではありません。「Google-Extended が Google 検索でのサイトの登録に影響したり、Google 検索でのランキング シグナルとして使用されたりすることはありません」。

3つ目の種類は性質が違います。ChatGPT-User、Claude-User、Perplexity-User、Amzn-User は、人がアシスタントにページを開くよう頼んだために1ページを取得するので、拒否するとその人を拒否することになります。しかも、これらの取得はいずれにしても robots.txt を無視する場合があると述べている運営元もあります。上のクローラー一覧でこれらを独立したセクションにしているのは、そのためです。

AIクローラーの3つの役割と、各運営元が robots.txt について述べていること
運営元学習AIの回答個人のリクエスト
OpenAIGPTBot従うOAI-SearchBot従うChatGPT-User無視する場合あり
AnthropicClaudeBot従うClaude-SearchBot従うClaude-User従う
Perplexity該当クローラーなしPerplexityBot従うPerplexity-User無視する場合あり
GoogleGoogle-Extendedトークンのみ該当クローラーなし該当クローラーなし
AppleApplebot-Extendedトークンのみ該当クローラーなし該当クローラーなし
Metameta-externalagent従うmeta-webindexer従うmeta-externalfetcher無視する場合あり
AmazonAmazonbot従う該当クローラーなしAmzn-User無視する場合あり
  • 学習モデルの学習用にページを収集する。
  • AIの回答質問に答えるためにページを取得し、通常はあなたのサイトへのリンクを添える。
  • 個人のリクエスト誰かに頼まれて1ページを取得する。robots.txt を無視する場合があると述べている運営元もある。

robots.txt ではページを Google から除外できない:noindex を使う

robots.txt はクローラーにページを取得しないよう求めるもので、検索エンジンに掲載しないよう求めるものではありません。ほかのページからリンクされていれば、Google は「URL をインデックスに登録して、スニペットなしで検索結果に表示することはできます」。ページを除外するには noindex を使い、そのタグを読めるよう、ページはクロール可能なままにしてください。

Search Console ではこれを「robots.txt によりブロックされましたが、インデックスに登録しました」と呼びます。そして Google ははっきり述べています。「noindex ディレクティブを有効にするためには、robots.txt ファイルでページやリソースをブロックせず、クローラがページにアクセスできるようにする必要があります」。Disallow したページ自身の noindex は決して読まれません。クローラーがそのページを取得しないからです。

だから上のどのプリセットも、行わないことを明記しています。ステージング用プリセットの Disallow: / はルールを守るクローラーを締め出しますが、どこかからリンクされたステージングのURLは掲載されることがあります。ステージング環境はパスワードで保護し、その行を本番サイトには決して持ち込まないでください。

Disallow されたページが Google に表示される理由と、その noindex が読まれない理由
  1. クローラー
  2. robots.txt を読む
  3. URLは Disallow されている
  4. ページを取得しない
ページそのもの<meta name="robots" content="noindex">読まれない
検索インデックスURLのみ、説明文なし
Search Console での呼び方robots.txt によりブロックされましたが、インデックスに登録しました

ページを除外するには:クローラーを入れて noindex を使うか、ログインを必須にする。

robots.txt ファイルを置く場所

適用するホストのルートに /robots.txt として、ホストとプロトコルごとに1つ置きます。https://example.com/robots.txt は https://www.example.com についても https://shop.example.com についても何も定めません。それぞれに専用のファイルが必要で、フォルダの中の robots.txt は決して読まれません。

Google:「robots.txt ファイルは、サイトの最上位ディレクトリに配置し、サポート対象プロトコルでアクセスできるようにする必要があります」。Search Console の robots.txt レポートは、プロパティの上位20ホストのファイルを個別に一覧表示し、HTTP と HTTPS も別々に数えます。

作成ツールの一番上にサイトを入力すると、ファイルを配信すべき正確なアドレスを示し、そのホスト用の Sitemap: の行を入力し、robots.txtテスターへのリンクを表示します。ファイルを公開したら、テスターで公開中のファイルを読み取れます。

robots.txt はホストとプロトコルごとに1つ
このファイル適用範囲
https://example.com/robots.txthttps://example.com 上のすべてのURL
https://www.example.com/robots.txtwww.example.com のみ:別のホスト
http://example.com/robots.txthttp:// のサイトのみ:別のプロトコル
https://shop.example.com/robots.txtshop.example.com のみ
https://example.com/blog/robots.txtなし:フォルダ内の robots.txt は決して読まれない

Crawl-delay・Host・Clean-param・Content-Signal

Google はどれも読みません。Crawl-delay は Bing が、Clean-param は Yandex が読み、Host は標準にも Google の一覧にも無く、Cloudflare の Content-Signal はクロールしてよい範囲ではなく、コンテンツの利用目的を表明するものです。

Google は4つのフィールドを挙げ、「crawl-delay などの他のフィールドはサポートしていません」と付け加えています。Bing 自身のブログによると「crawl-delay ディレクティブに指定できる値は、正の整数だけ」なので、このエディターは小数を書き出さずに受け付けません。現在の Bing のヘルプページは読めず、値の範囲や単位を確認できなかったため、このページではどちらも記載していません。

どれもファイルを壊しはしません。RFC 9309 は、ほかのレコードの解析が「明示的に定義されたレコードの解析を妨げてはならない(MUST NOT)」と定めています。4つのうち、このツールが書き出すのは Crawl-delay だけで、誰が読むかを明記します。

どの検索エンジンがどのディレクティブを読むか
ディレクティブGoogleBingYandex
User-agent読む読む読む
Allow読む読む読む
Disallow読む読む読む
Sitemap読む読む読む
Crawl-delay無視する読む未確認
Clean-param無視する無視する読む
Host無視する無視する未確認
noindex無視する未確認未確認
Content-Signal無視する未確認未確認
  • Google は4つのフィールドをサポートすると明言しています:user-agent、allow、disallow、sitemap。
  • Crawl-delay は Bing 自身のブログで確認できます。現在の Bing のヘルプページを一次情報として読めなかったため、値の範囲や単位は掲載していません。
  • Google が2019年に廃止。標準に含まれたことも一度もありません。
  • Cloudflare の Content Signals Policy:コンテンツの利用方法についての表明で、クロールのルールではありません。

作成した robots.txt ファイルをテストする方法

テストは2回です。公開する前に、上の公開前にテストでクローラーとパスを選び、判定を決めるルールを確認します。アップロードした後は、公開中のファイルを robots.txtテスターでチェックします。サーバーが何を返すかは、ファイルに何が書いてあるかと同じくらい重要だからです。

404を返すファイルはファイルが無いものとして読まれ、どのクローラーもすべてを取得できます。500や503を返す場合、標準に従うクローラーは何も取得してはいけません。RFC 9309 §2.3.1.4:クローラーは「完全な禁止を想定しなければならない(MUST)」。Google はこれを独自の段階的な対応で和らげており、その内容は図に示しています。

Google 自身の robots.txt テスターは終了しました。Google 検索セントラルが2023年11月15日に終了を告知し、その代わりとなった robots.txt レポートは Google が取得したファイルを表示するだけで、URLをルールに対してテストすることはできません。そのテストを行うのが、上の作成ツールにある公開前にテストとrobots.txtテスターです。

GET /robots.txt への各応答が、サイト全体にとって意味すること
サーバーの応答クローラーの動作
200ファイルのルールに従う。
301, 302少なくとも5ホップたどり、そこで止まる。その後 Google はファイルを404として扱う。
403, 404ファイルが無いものとして、すべてクロールする。
429何もクロールしない。Google はこれを4xxではなく5xxの側に数える。
500, 503標準に従い、一切クロールしない。
存在しない名前読み取るサイトが無いため、判定も無い。
5xx に対する Google の対応、時系列で
  1. 1最初の12時間サイトのクロールを止め、ファイルの取得を再試行し続ける
  2. 230日まで最後に取得できた正常な robots.txt のコピーを使う
  3. 330日経過後サイトが稼働していれば、robots.txt が無いものとして扱う

トラフィックを失う robots.txt の間違い

致命的な間違いは、どれも短い1行です。ステージングから残った Disallow: /、意図より広く一致する前方一致、パスで書かれた Sitemap: の行、先頭のスラッシュが無いパス、そして Google が2019年に読まなくなった noindex の行です。

どれも、ファイルをコピーする前にここで見つかります。robots.txtテスター自身の監査が入力に合わせて実行され、その指摘はファイルの下に並びます。クローラーが受け付けない行はそもそも書き出さず、その理由はエディターの該当する行に表示します。

1行ではなく、組み合わせの間違いもあります。ここで Disallow したURLが、ページ側でも noindex を付けている場合です。クローラーはページを取得しないので noindex を目にすることがなく、URLは検索結果に残り続けることがあります。どちらか1つを選んでください。クロールをブロックするか、クロールさせたうえでインデックスに登録しないよう伝えるかです。

出典

robots.txt の6つの間違いと、それぞれが実際に引き起こすこと
書かれている行実際に起きること
Disallow: /ステージングの名残:公開中のサイト全体が、すべてのクローラーに閉じている。
Disallow: /admin/administrator や /admin-tools もブロックする。末尾にスラッシュを付ける。
User-agent: * の下の Allow: /ファイル内のどこかに専用のグループがあるクローラーには読まれない。
Sitemap: /sitemap.xmlSitemap の行は、ホストを含む完全なアドレスでなければならない。
Disallow: adminパスは / から始まる。このルールは何にも一致しない。
noindex: /private/2019年以降は無効。ページはクロールもインデックス登録もされたまま。

robots.txt作成ツール:よくある質問

robots.txt ファイルはどうやって作成しますか?

上でプリセットを選ぶか自分でルールを書き、ファイルをコピーまたはダウンロードします。robots.txt という名前の UTF-8 のプレーンテキストとして保存し、サイトのルートにアップロードして、https://your-site/robots.txt で配信されるようにします。送信の手順はなく、Google のクローラーが自分でファイルを見つけます。その後、公開中のアドレスを robots.txtテスターでチェックし、サーバーが200を返すことを確認してください。

robots.txt ファイルはどこに置けばよいですか?

適用するホストのルートに /robots.txt として置きます。フォルダの中に置いてはいけません。クローラーはそこを探さないからです。ホストとプロトコルごとに専用のファイルが必要なので、example.com、www.example.com、shop.example.com はそれぞれ別の robots.txt を配信します。Shopify ではアップロードするファイルは無く、テーマの robots.txt.liquid テンプレートを編集します。Next.js ではファイルを app フォルダに置きます。

そもそも robots.txt ファイルは必要ですか?

必須ではありません。サイトに robots.txt が無く、そのアドレスが404を返す場合、クローラーはすべてを取得してよく、RFC 9309 もそれを認めています。それでも Sitemap の行のためだけでもファイルを置く価値があり、カート、サイト内検索の結果、際限なく増える絞り込みURLからクローラーを遠ざけるのにも役立ちます。最も大切なのは、そのアドレスが決してサーバーエラーを返さないことです。5xx は、標準に従うクローラーに何も取得しないよう伝えてしまいます。

robots.txt でページを Google から削除できますか?

できません。robots.txt が止めるのはクローラーによるページの取得で、Google による掲載ではありません。ほかの場所からリンクされた Disallow のURLは、インデックスに登録されて説明文なしで表示されることがあり、Search Console では「robots.txt によりブロックされましたが、インデックスに登録しました」というステータスになります。ページを除外するには、Google にクロールさせたうえで noindex の meta タグか X-Robots-Tag ヘッダーを返すか、ログインの内側に置いてください。同じURLに Disallow と noindex を両方使ってはいけません。

AIクローラーをブロックすると Google の検索順位に影響しますか?

AI学習を拒否するだけなら影響しません。Google がモデルの学習用に読むトークンである Google-Extended は Googlebot とは別物で、Google はそれが Google 検索へのサイトの登録に影響せず、ランキングシグナルでもないと述べています。GPTBot や ClaudeBot などの学習用クローラーを拒否しても、検索エンジンにとっては何も変わりません。各クローラーは自分を指定したグループだけを読むからです。

ChatGPT-User と Claude-User はブロックすべきですか?

人を拒否するつもりがある場合だけです。これらは、誰かが ChatGPT や Claude にページを開くよう頼んだために1ページだけ取得するもので、ブロックするとその人のアシスタントがあなたのページを読めなくなります。クロールを止めることにはなりません。しかも、これらの取得はいずれにしても robots.txt を無視する場合があると述べている運営元もあります。反対したいのが学習なら、代わりに GPTBot と ClaudeBot を拒否してください。「AI学習を拒否」のプリセットが、まさにそれを行います。

サブドメインごとに別の robots.txt が必要ですか?

はい。robots.txt が適用されるのは、それを配信しているホストとプロトコルだけです。そのため blog.example.com、shop.example.com、www.example.com にはそれぞれ専用のファイルが必要で、example.com/robots.txt のルールはそれらには及びません。Search Console の robots.txt レポートがホストごとにファイルを一覧表示するのも、同じ理由です。各ホストを順に作成ツールに入力すれば、それぞれに正しい Sitemap の行が入ります。

Google は Crawl-delay に対応していますか?

いいえ。Google はサポートする4つのフィールド、user-agent、allow、disallow、sitemap を挙げ、crawl-delay などのフィールドはサポートしていないと述べています。Bing は読み取り、Bing 自身のブログによると値は正の整数でなければなりません。そのためこのツールは小数を受け付けません。Crawl-delay の行に害はありませんが、Googlebot のクロールが遅くなることはなく、Search Console にもクロール頻度の設定はもうありません。

WordPress の既定の robots.txt には何が書かれていますか?

3行と、公開サイトでは Sitemap の行です。User-agent: *、/wp-admin/ への Disallow、/wp-admin/admin-ajax.php への Allow、そして WordPress 5.5以降は /wp-sitemap.xml を指す Sitemap の行です。これは WordPress 自身の do_robots() 関数が書き出す内容です。より長い Allow が Disallow に優先するので、admin-ajax.php はクロール可能なままになります。WordPress のプリセットを選べば、まさにそのファイルから始められます。

robots.txt ファイルをテストするには?

公開する前は、このページの公開前にテストを使います。クローラーとパスを選ぶと、許可かブロックか、それを決めたルールとその行、クローラーが読んだグループが表示されます。ファイルをアップロードした後は、公開中のサイトを robots.txtテスターでチェックしてください。実際のファイルを取得するので、サーバーのステータスコードが各クローラーにとって何を意味するかもわかります。

Allow のルールが効かないのはなぜですか?

たいていは、より長い Disallow が同じURLに一致しているからです。種類にかかわらずパスが最も長いルールが優先され、Allow が勝つのは同じ長さのときだけです。あるいは、そのクローラーに専用のグループがあり、Allow が書かれた * のグループをまったく読まない場合です。上のエディターはほかのルールに常に負けるルールに印を付け、公開前にテストは判定を決めたルールとクローラーが読んだグループを表示します。

この作成ツールは無料ですか?ファイルはアップロードされますか?

無料で、登録も1日の回数制限もありません。すべてお使いのブラウザ内で行われます。ファイルの作成、解析、チェックはこのページの中で行い、入力した内容はどこにも送信しません。外部へのリンクは、プリセットの出典と robots.txtテスターだけです。robots.txtテスターが公開中のファイルを当サイトのサーバーから取得するのは、テスターを開いてチェックを求めたときだけです。