Web集客

robots.txtの書き方|記述例と置く場所・確かめ方、noindexとの違い

robots.txtの書き方 クロールさせない場所だけ書く 検索から外すならnoindex

検索結果に出したくないページを robots.txt の Disallow で止めたのに、検索結果に説明文の無い URL が表示されたままになることがあります。反対に、確認用の環境で使っていた Disallow: / が公開後も残り、サイト全体のクロールが止まる失敗もあります。robots.txt は数行のテキストですが、/ の1文字の有無でクロールの範囲が正反対になるファイルです。

株式会社メリルが運営する5つのドメインの robots.txt を取得して並べると、同じ WordPress のサイトでもプラグインによって書かれた行が違い、AI のクローラーを名指ししたドメインは1つもありませんでした。この記事では、robots.txt の書き方を記述例で示し、置く場所、確かめ方、noindex との違い、AI のクローラーの扱いを解説します。

記事を読めば、自社サイトの robots.txt を書き、公開した後に効いているかを確かめられます。robots.txt にはクロールさせたくない場所だけを書き、検索結果から外したいページには noindex を使うのが基本です。

robots.txtの書き方は4種類の行を組み合わせる

robots.txtのUser-agent・Disallow・Allow・Sitemapの書き方と、*と$でパターンを書くことを示した図解

robots.txt は、どのクローラーに、サイトのどのパスをクロールさせないかを書くテキストファイルです。Google が読む行は User-agent・Disallow・Allow・Sitemap の4種類で、crawl-delay などのほかの行は読みません。4種類の行の書き方は、以下のとおりです。

  • User-agentの行でルールを当てるクローラーを決める
  • DisallowとAllowでクロールさせないパスを書く
  • Sitemapの行にサイトマップの完全なURLを書く
  • *と$でパスのパターンを書く

User-agentの行でルールを当てるクローラーを決める

robots.txt のルールは、User-agent の行から始まるグループの単位で書きます。User-agent に * を書いたグループが当たるのは、名指しされていないクローラーすべてです。

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

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

上の例では、Googlebot だけが /nogooglebot/ から始まる URL をクロールできず、ほかのクローラーはサイト全体をクロールできます。User-agent の値は、大文字と小文字を区別しません。

1つのクローラーに当たるのは、名前が最も限定的に一致した1つのグループだけです。Googlebot を名指ししたグループがあれば、Googlebot は * のグループのルールを読みません。名指ししたグループにも、* のグループと同じ制限が要るかを確かめて書き足します。

DisallowとAllowでクロールさせないパスを書く

Disallow にはクロールさせないパスを書き、Allow には Disallow で止めた中でクロールを許すパスを書きます。パスはドメインより後ろの部分で、先頭は / です。フォルダを指すときは、末尾にも / を付けます。

WordPress が返す robots.txt は、Disallow と Allow を組み合わせた例です。

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

/wp-admin/admin-ajax.php は、2つのルールの両方に当てはまります。Google は当てはまったルールのうちパスの長いほうを使うため、admin-ajax.php だけがクロールでき、ほかの /wp-admin/ の下は止まります。長さが同じルールがぶつかったときに使われるのは、制限の少ない Allow です。

ルールのパスは、大文字と小文字を区別します。Disallow: /file.asp は /FILE.asp には効きません。

Sitemapの行にサイトマップの完全なURLを書く

Sitemap の行には、サイトマップの場所を https:// から始まる完全な URL で書きます。Sitemap の行はクローラーの名前と結び付かないため、複数の行をファイルの最後にまとめて書けます。

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

Google は、http と https の違いや www の有無を補って読みません。書く URL は、サイトで使っている形にそろえます。

*と$でパスのパターンを書く

ルールのパスには、0文字以上の任意の文字を表す * と、URL の末尾を表す $ の2つの記号を使えます。記号の使い方と、当てはまる URL の例は以下の表のとおりです。

ルールのパス 当てはまる URL 当てはまらない URL
/fish /fish・/fish.html・/fishheads /Fish.asp・/catfish
/fish/ /fish/・/fish/salmon.htm /fish・/fish.html
/*.php /index.php・/folder/filename.php?parameters /windows.PHP
/*.php$ /filename.php・/folder/filename.php /filename.php?parameters
/$ トップページだけ トップページより下の URL

末尾の * は無視されるため、/fish* は /fish と同じ意味になります。$ を付けたルールが当たらないのは、パラメータ付きの URL です。たとえば /cats.xls?personality=loki は、Disallow: /*.xls$ では止まりません。

目的別のrobots.txtの記述例

目的別のrobots.txtの書き方として、全体の許可・管理画面の停止・1つのクローラーの停止の3つと、/の1文字で意味が反対になる注意を示した図解

robots.txt に書く中身は、クロールを止めたい場所によって変わります。3つの場面の書き方は、以下のとおりです。

  • サイト全体のクロールを許可する
  • 管理画面などのフォルダとページのクロールを止める
  • 特定のクローラーだけクロールを止める

サイト全体のクロールを許可する

止めたい場所が無いサイトは、サイト全体のクロールを許可する2行で足ります。値を空にした Disallow の行は、何も止めません。

User-agent: *
Disallow:

上の2行は、Allow: / を書いた場合とも、robots.txt を置かない場合とも同じ働きをします。Disallow: と Disallow: / は / の1文字の違いですが、Disallow: / はサイト全体のクロールを止める行です。

メリルの自社ドメインでも、両方の書き方が使われていました。WordPress で動く bfb-plugin.com は、プラグインの Yoast SEO が書き込んだ空の Disallow の形です。Astro で作った meril.co.jp は、Allow: / の形です。

管理画面などのフォルダとページのクロールを止める

クロールさせる必要の無いフォルダは、フォルダ名の後ろに / を付けて Disallow に書きます。1ページだけ止めるときに書くのは、ファイル名までのパスです。

User-agent: *
Disallow: /calendar/
Disallow: /junk/other_useless_file.html

メリルが運営する WordPress のドメインのうち3つ(blog-soudan.com・blogrank.jp・meril-theme.com)も、Disallow で止めているのは管理画面の /wp-admin/ のフォルダだけです。

特定のクローラーだけクロールを止める

1つのクローラーだけを止めるときは、止めたいクローラーの名前のグループに Disallow: / を書き、* のグループでほかのクローラーを許可します。

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

複数のクローラーに同じルールを当てるときは、User-agent の行を続けて書けば1つのグループにまとめられます。

robots.txtを置く場所はドメインのルート

robots.txtはドメインのルートに置くと読まれ、サブディレクトリに置くと読まれず、サブディレクトリのサイトはルートのものに従うことを示した図解

robots.txt は、置く場所を間違えるとクローラーに読まれません。置く場所について押さえることは、以下の3つです。

  • robots.txtはドメインのルートに1つだけ置く
  • サブディレクトリに置いたサイトはルートのrobots.txtに従う
  • WordPressとAstroではrobots.txtの作られ方が違う

robots.txtはドメインのルートに1つだけ置く

robots.txt は、robots.txt という名前のテキストファイルにして、ドメインのいちばん上のフォルダ(ルート)に置きます。https://example.com/ のサイトなら、URL は https://example.com/robots.txt です。

robots.txt が効く範囲は、置いたファイルと同じプロトコル・ホスト・ポートの URL だけです。https://example.com/robots.txt のルールは、http://example.com/ や https://m.example.com/ には効きません。サブドメインを使うサイトでは、サブドメインごとに robots.txt を置きます。

ファイルは、ワープロソフトではなくテキストエディタで作り、UTF-8 で保存します。

サブディレクトリに置いたサイトはルートのrobots.txtに従う

https://example.com/folder/robots.txt のようにサブディレクトリに置いたファイルは、robots.txt として読まれません。サイトをドメインのサブディレクトリに置いている場合、クロールのルールを決めるのはドメインのルートの robots.txt です。ルートのファイルを書き換える権限が無ければ、ドメインの管理者に変更を頼みます。

メリルが運営するメディアのうち、次の3つはドメインのサブディレクトリに置いた Astro のサイトです。

  • WWS メディア(wwstd.jp/media/)
  • Web集客ブック(hands-plus.com/media/)
  • オウンドメディア相談室(blog-soudan.com/owned-media/)

オウンドメディア相談室のクロールのルールは、blog-soudan.com のルートの robots.txt で決まります。ルートの robots.txt は掲示板の WordPress が返すもので、止めているのは /wp-admin/ だけです。2026年10月30日に確かめると、/owned-media/ の下はクロールが許可されていました。

ルートの robots.txt に Sitemap の行を足せないサイトは、サーチコンソールのサイトマップ レポートからサイトマップを送信します。メリルは2026年10月30日に、Web集客ブックのサイトマップをサーチコンソールから送信しました。

WordPressとAstroではrobots.txtの作られ方が違う

robots.txt は、ファイルを置くか、CMS などが作って返すかで、書き換える場所が変わります。メリルが運営する5つのドメインの robots.txt を2026年10月30日に取得すると、User-agent の行はどれも * の1行で、Disallow と Allow の行は以下の表のとおりでした。

ドメイン サイトの作り Disallow Allow
blog-soudan.com WordPress 1行(/wp-admin/) 1行
blogrank.jp WordPress 1行(/wp-admin/) 1行
meril-theme.com WordPress 1行(/wp-admin/) 1行
bfb-plugin.com WordPress(Yoast SEO) 1行(値は空) なし
meril.co.jp Astro なし 1行(/)

WordPress は、User-agent: *・Disallow: /wp-admin/・Allow: /wp-admin/admin-ajax.php の3行を robots.txt として返し、プラグインが行を書き足したり書き換えたりできる作りになっています。

Astro で robots.txt を作る方法は、public フォルダにファイルを置くか、src/pages/robots.txt.ts のコードで作るかの2つです。meril.co.jp はコードで作っており、公式のドメイン向けにビルドしたときだけ Allow: / と Sitemap の行を出し、それ以外のビルドでは Disallow: / を出します。

» サイトリニューアルのSEOは転送の対応表で守る|注意点と前後の比べ方

robots.txtが効いているかの確かめ方

robots.txtが効いているかを、ブラウザ・robots.txtレポート・URL検査ツールの3つで確かめ、5xxならすぐ直すことを示した図解

robots.txt は、アップロードしただけでは、意図どおりに読まれているかがわかりません。公開した後に確かめる方法は、以下の3つです。

  • ブラウザでrobots.txtのURLを開いて応答を見る
  • サーチコンソールのrobots.txtレポートで取得の状態を見る
  • URL検査ツールでページが止まっていないかを見る

ブラウザでrobots.txtのURLを開いて応答を見る

アップロードした robots.txt は、ブラウザのシークレット ウィンドウで https://(ドメイン)/robots.txt を開いて中身を確かめます。中身と一緒に見ておきたいのが、サーバーが返す応答の番号です。Mac のターミナルなら、次の1行で応答の番号と中身を表示できます。

blog-soudan.comのルートのrobots.txtをブラウザで開いた画面。User-agent・Disallow・Allow・Sitemapの行が並ぶ

blog-soudan.com のルートの robots.txt(https://blog-soudan.com/robots.txt)をブラウザで開いた画面(2026年10月31日)。ドメインのルートで動いている掲示板(WordPress)が出しているファイルです。

curl -i https://example.com/robots.txt

Google の扱いは、robots.txt の応答の番号ごとに次のとおりです。

  • 200: 書かれたルールを読む
  • 429 以外の4xx(404 など): robots.txt が無いものとして、クロールを制限しない
  • 5xx: 最初の12時間はサイトのクロールを止め、その後は30日まで前回取得できた版を使う

5xx を返す状態は、早く直す必要があります。robots.txt を返すサーバーのエラーが続くと、ページそのものに問題が無くてもサイトのクロールが止まるためです。

サーチコンソールのrobots.txtレポートで取得の状態を見る

サーチコンソールの robots.txt レポートでは、Google が見つけた robots.txt と前回のクロールの日時、警告やエラーを確かめられます。取得ステータスが「取得済み」なら、Google が robots.txt を読めている状態です。

サーチコンソールのrobots.txtレポート。blog-soudan.com/robots.txt のステータスが「取得済み」、サイズが208バイト

出典:Google Search Console の robots.txt レポート(オウンドメディア相談室が使っている blog-soudan.com のプロパティ。2026年10月31日の画面)。Google Search Console は Google LLC の商標です。オウンドメディア相談室は、Google が推奨・提携しているものではありません。

オウンドメディア相談室が置かれている blog-soudan.com では、2026年10月31日の時点で、Google が前回 robots.txt を確かめたのは10月28日16時18分でした。ステータスは「取得済み」で、サイズは208バイトと、サーバーが返す robots.txt の大きさ(208バイト)と同じでした。

robots.txt レポートを使えるのは、ドメイン プロパティと、パスの無い URL プレフィックス プロパティだけです。https://example.com/media/ のようにパスを含むプロパティでは使えません。メリルが Web集客ブックで登録したのもパスを含む https://hands-plus.com/media/ のプロパティで、robots.txt レポートの対象外です。

Google は、robots.txt のキャッシュを24時間おきに更新しています。重要な URL のブロックを外したときや、取得のエラーを直したときは、レポートの「再クロールをリクエスト」から読み直しを頼めます。リクエストしても、ブロックを外した URL がすぐにクロールされるとは限りません。

URL検査ツールでページが止まっていないかを見る

1つのページが robots.txt で止まっているかは、サーチコンソールの URL 検査ツールで確かめます。ページの URL を入れて調べ、「クロールを許可?」の欄が「いいえ」なら、robots.txt のルールでクロールが止まっています。

URL検査ツールの「ページのインデックス登録」の欄。「クロールを許可?」が「はい」になっている

出典:Google Search Console のURL 検査ツール(オウンドメディア相談室が使っている blog-soudan.com のプロパティ。2026年10月31日の画面)。調べたのはこのメディアの記事の URL です。Google Search Console は Google LLC の商標です。オウンドメディア相談室は、Google が推奨・提携しているものではありません。

robots.txt を書き換えた後は、止めたいページと、止めてはいけないページの両方を検査しましょう。ルールが広すぎると、止めてはいけないトップページや記事のページまで止まっていることがあります。

» サーチコンソールのインデックス登録リクエスト手順|読み込まれたかの確かめ方

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

robots.txtはクロールを止めてもURLが検索に出ることがあり、noindexは登録を止めることを比べ、非公開のページは認証で守ることを示した図解

robots.txt はクロールを止めるファイルで、ページを検索結果から外すしくみではありません。robots.txt と noindex の違いは、以下の表のとおりです。

項目 robots.txt noindex
止めるもの クロール インデックスへの登録
書く場所 ドメインのルートのファイル ページの meta タグか HTTP のレスポンス ヘッダー
単位 パス(フォルダごとにも書ける) ページ
検索結果 URL が表示されることがある Google がページを読んだ後は表示されない

robots.txt と noindex を使い分けるときに押さえることは、以下の3つです。

  • 検索結果から外したいページにはnoindexを使う
  • 非公開のページはrobots.txtではなく認証で守る
  • ページの表示に要るCSSやJavaScriptは止めない

検索結果から外したいページにはnoindexを使う

検索結果に出したくないページには、robots.txt ではなく noindex を使います。robots.txt で止めたページでも、ほかのページからリンクされていれば、Google はクロールせずに URL をインデックスに登録することがあります。その場合に検索結果に出るのは、説明文の無い URL です。

noindex は、ページの head に書く meta タグか、HTTP のレスポンス ヘッダーで伝えます。meta タグの書き方は、次の1行です。

<meta name="robots" content="noindex">

noindex を書いたページは、robots.txt で止めてはいけません。robots.txt で止めると Google がページを読めず、noindex を見つけられないからです。robots.txt の中に noindex の行を書く方法にも、Google は対応していません。

非公開のページはrobots.txtではなく認証で守る

robots.txt は、アクセスを制限するしくみではありません。robots.txt に従うかどうかを決めるのは、クローラーの側です。Googlebot などの信頼できるクローラーは従いますが、ほかのクローラーも従うとは限りません。

robots.txt は、だれでもブラウザで読めるファイルです。見られたくないページのパスを Disallow に書くと、かえってページの場所を知らせることになります。会員向けのページや作業中のページは、パスワードなどの認証で守ります。

ページの表示に要るCSSやJavaScriptは止めない

画像やスクリプト、スタイルのファイルも robots.txt で止められますが、ページの表示に要るファイルは止めないようにします。止めると、Google がページを正しく読み取れず、適切に分析できなくなるためです。

Disallow にフォルダを書くときは、止めるフォルダの中にページの表示に使うファイルが入っていないかを確かめます。

AIのクローラーをrobots.txtで扱う方法

AIのクローラーは学習用・検索用・利用者の操作で動くものに名前が分かれていることと、メリルの5ドメインで名指しが0件だったことを示した図解

検索エンジンに加えて、生成 AI を提供する会社も robots.txt で扱えるクローラーの名前を公開しています。AI のクローラーを robots.txt で扱うときに確かめることは、以下の3つです。

  • AIのクローラーの名前と用途を確かめる
  • AIのクローラーを止めるときは用途ごとに名前を書く
  • メリルの5ドメインでAIのクローラーを止めているかを数えた

AIのクローラーの名前と用途を確かめる

AI のクローラーは、学習に使うものと、検索や利用者の操作で動くもので名前が分かれています。2026年10月30日に各社の公式ページで確かめた名前と用途は、以下の表のとおりです。

会社 robots.txt に書く名前 用途
Google Google-Extended Gemini のモデルの学習と、Gemini アプリなどのグラウンディングへの利用
OpenAI GPTBot 生成 AI の基盤モデルの学習
OpenAI OAI-SearchBot ChatGPT の検索の結果への表示
OpenAI ChatGPT-User ChatGPT の利用者の操作に応じたページの閲覧
Anthropic ClaudeBot AI のモデルの学習
Anthropic Claude-SearchBot 検索の結果の質の向上
Anthropic Claude-User Claude の利用者の質問に応じたページの閲覧

Google-Extended は個別のクローラーを持たない名前で、Google 検索へのサイトの登録や検索の順位には影響しません。OpenAI の GPTBot と OAI-SearchBot の設定はそれぞれ独立しているため、ChatGPT の検索には表示させつつ、学習には使わせない設定もできます。

AIのクローラーを止めるときは用途ごとに名前を書く

AI のクローラーを止めるときは、止めたい用途のクローラーの名前でグループを作り、Disallow: / を書きます。GPTBot・ClaudeBot・Google-Extended の3つに Disallow: / を書き、ほかのクローラーには /wp-admin/ の下だけを禁止する場合の例は、次のとおりです。

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
Disallow: /

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

名指ししたクローラーには * のグループのルールが当たらないため、3つのクローラーが読むのは Disallow: / のグループだけです。

設定の反映と効き方は、クローラーによって違います。

  • OAI-SearchBot は、robots.txt を更新してから ChatGPT の検索に反映されるまで24時間ほどかかる
  • ChatGPT-User は利用者の操作で動くため、robots.txt のルールが当たらない場合がある
  • Anthropic のクローラーを止めるときは、止めたいサブドメインごとの robots.txt に書く

メリルの5ドメインでAIのクローラーを止めているかを数えた

メリルが2026年10月30日に、運営する5つのドメインの robots.txt を調べると、AI のクローラーを名指ししたドメインは0件でした。5つのドメインは、どれも User-agent: * のグループだけで書かれています。

robots.txt のルールに沿って判定すると、Google-Extended・GPTBot など7つの AI のクローラーは、5ドメインすべてでトップページ(/)のクロールを許可されています。

この集計は robots.txt の中身だけを見たもので、サーバーや CDN の設定での遮断は含みません。

AI のクローラーを止めるかどうかは、会社としての方針で決めることです。方針が決まったときにすぐ書けるよう、自社の robots.txt に今あるグループを確かめておきましょう。

robots.txtの書き方はクロールさせない場所だけを書き、公開後に確かめる

robots.txt は、User-agent のグループごとに、クロールさせないパスを Disallow で書くファイルです。検索結果から外したいページには noindex を使い、非公開のページは認証で守ります。

記事の要点は、以下のとおりです。

  • robots.txtはドメインのルートに1つだけ置き、プロトコルとホストごとに効く
  • 名指ししたクローラーには * のグループのルールが当たらない
  • パスが最も長く一致したルールが使われ、同じ長さならAllowが使われる
  • 検索結果から外すページはrobots.txtで止めずにnoindexを使う
  • 公開後はブラウザ・robots.txtレポート・URL検査ツールで確かめる
  • AIのクローラーは学習用・検索用など用途ごとの名前で書く

robots.txt は、ブラウザで URL を開くだけで中身を確かめられます。まずは自社のドメインのルートの robots.txt を開き、止めている場所が今のサイトに合っているかを確かめましょう。

この記事の数字の出どころ

  • 株式会社メリルが運営する5つのドメインの robots.txt2026年10月30日14時00分〜14時01分に、5つのドメインの robots.txt を1回ずつ取得し、行の種類と数・AI のクローラーの名指しをスクリプトで数えた。AI のクローラー7種のクロールの可否は、RFC 9309 の決まりで判定した
  • メリルのサイトの robots.txt の作りの記録meril.co.jp(Astro)の robots.txt を作るコードと、WWS メディア・Web集客ブックをドメインのサブディレクトリに置いたときの社内の作業記録
  • blog-soudan.com の robots.txt レポートの画面2026年10月31日に Search Console(blog-soudan.com のプロパティ)の robots.txt レポートを開き、確認日時・ステータス・サイズを画面で読んだ。サーバーが返す robots.txt の大きさは同じ日に取得して測った

参考にしたページ

株式会社メリルのサービスSEOコンサルティングサイトの診断と改善の優先順位づけを行います(資料請求)。

運営:株式会社メリル(このメディアについて)。相談の内容を記事にするときは、ご本人の許可を取り、社名と数字を伏せます。