SEO

robots.txtとは?書き方・設定方法を解説

robots.txtとは?書き方・設定方法を解説
robots.txt(ロボッツ・テキスト)とは、特定ページへのクローラー巡回を禁止(または制御)するファイルです。

robots.txtファイルにクローラーの巡回をブロックする旨の構文を記述し、サイトにアップロードすることで、ページごとのクロール頻度をコントロールできるようになります。

robots.txtを活用することで、重要ではないコンテンツのクロールを制御し、重要なコンテンツを適切にクロールさせることができます。クロールを最適化することでSEOに良い影響をもたらします。

徐々に自社サイトの規模が大きくなってきたと感じているWeb担当者は、この機会にrobots.txtの意味や書き方、設定方法を覚えておきましょう。

robots.txtは、検索エンジンのクローラーに「どのURLを取得してよいか」を伝えるファイルです。1行の書き間違いでサイト全体がクロール対象から外れるため、仕様を正確に押さえてから設置する必要があります。

以下の手順と記述例は、2026年8月時点のGoogle公式ドキュメントとSearch Consoleヘルプに沿って整理しています。

基本の型、User-agent・Disallow・Allow・Sitemapの書き方、正規表現と優先順位、Search Consoleでの確認方法、GPTBotなど生成AIクローラーの制御まで、記述例つきで解説します。

robots.txtとは?

👉 このパートをまとめると!
検索エンジンにサイト内の特定ページをクロールさせないためのファイル

robots.txtとは、検索エンジンにWebサイトの特定ページをクロールさせないために設定するファイルです。

Webサイトのコンテンツには上位表示させる必要がないページも含まれているため、robots.txtでクローラーの巡回を制御し、クロール頻度を上げたいページに多く巡回してもらうことが重要となります。

robots.txtを設定することで個別ページのクロールをブロックできますが、ディレクトリを指定することで、ディレクトリ配下のクロールをブロックすることも可能です。

robots.txtとnoindexとの違い

noindexとは、指定したページが検索エンジンのクローラーにインデックスされないように指示を送るメタタグのことです。ページの <head> 内にnoindexタグを記述することで、検索結果画面に表示されないように指定することが可能です。

robots.txtを設定してクローラーの巡回を制御したページはユーザーが閲覧できますが、noindexタグが設置されたページはインデックスそのものが削除されるため、検索エンジンから評価されず、検索結果に表示されることはありません。

noindexとnofollowの使い分けはnoindexとnofollowの違い・書き方・同時設定・確認方法を解説で解説しています。

robots.txtとnoindexを使い分けるタイミング

robots.txtは、検索エンジンのクローラーの巡回を制御しますが、noindexはクロール自体を制御するものではありません。

全ページへのクローラーの巡回を特定ページにコントロールしたい場合は、robots.txtを使ってクロール範囲を狭め、検索上位を狙う必要がなく、かつ検索エンジンにインデックスされる必要もないページは、noindexタグを設置してクローラーのインデックスを拒否します。

noindexはクロールの制御をしないため、サイトの規模によってはクロールバジェットを無駄に消費することがあるため、robots.txtでの制御が必要となります。

クローラーの仕組みはGoogleクローラーとは?仕組み・種類とSEOで巡回を最適化する方法【2026年最新】、noindexの設定手順はnoindexとは?設定・確認方法・SEO注意点【2026年版】で解説しています。

robots.txt基本の型

👉 このパートをまとめると!
基本はUser-agent・Disallow・Sitemapの3要素で構成する

Webサイト内のクロール状況をコントロールできるrobots.txtですが、Google検索セントラル内でサンプルコードが公開されています。

robots.txtは3つの要素で構成されています。

  • User-Agent
  • Disallow
  • Sitemap

以下の型を参考にしてみてください。

User-agent: *
Disallow:
Sitemap: http://www.example.com/sitemap.xml

また、WordPressの場合は、以下のようなデフォルト設定となっています。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: http://www.example.com/sitemap.xml

WordPressは管理フォルダーを検索エンジンからインデックスされないようにするため、Disallowで一度クロールを制御した後、Allowで「特定ページだけ」をクロールするように指示を出しています。

DisallowよりはAllowの方が強く、以上のように記述することでDisallow配下のAllowで指定したページをクロールするようになります。

正確には、Googleは競合するルールのうちパスが最も長い(限定的な)ルールを使用し、同じ長さなら制限の緩いAllowを使用します(出典: Google による robots.txt の指定の解釈)。

通常「Allow」のコードは打ち込む必要がありませんが、WordPressを運用している方は以上のようなrobots.txtファイルがデフォルトで設定されていることを覚えておきましょう。

User-Agent

「User-Agent」とは、クロールを制御するクローラーを指定する項目です。

基本的には、全てのクローラーを対象とする「*(半角アスタリスク)」を打ち込みますが、特定のクローラーだけのクロールを制御したい場合は、特定のクローラーの「ユーザーエージェントトークン」を打ち込みます。

難しく聞こえるかもしれませんが、入力するコードは一文程度のものです。以下にGoogleが運用しているクローラーのユーザーエージェントトークンの例を記載していますので参考にしてください。

  • パソコン用 Googlebot:Googlebot
  • スマートフォン用 Googlebot:Googlebot
  • AdSense クローラー:Mediapartners-Google
  • 画像用 Googlebot:Googlebot-Image

Googleの検索エンジンからクロールされたくない場合は、パソコン・スマホ両方のクローラーを意味する「Googlebot」を記述しましょう。

トークンの全リストはGoogle の一般的なクローラーで公開されています。

Disallow

「Disallow」とは、クロールを制御するページを指定する項目を意味します。以下にrobots.txtの基本的なガイドラインからの記述例を記載します。

サイト全体のクロールを禁止する構文です。

Disallow: /

ディレクトリとそのコンテンツのクロールを禁止する構文です(「calendar」と「junk」を変更して使用します)。

Disallow: /calendar/
Disallow: /junk/

単一ページへのクロールを禁止する構文です(「private_file.html」をサイトの対象ページ名に変更して使用します)。

Disallow: /private_file.html

Allow

「Allow」とは、Disallowで指定しているディレクトリ配下のサブディレクトリ・特定ページのクロールを指示する項目です。

サブディレクトリを指定する場合は末尾に「/(スラッシュ)」を記述し、特定ページを指定する場合はブラウザで表示される完全なページ名にする必要があります。

ただし、クローラーはデフォルトでサイト内の全てのページにクロールするようにプログラムされているため、Disallow配下のページをクロールしたい時以外は使用しません。

Sitemap

「Sitemap」とは、robots.txtファイルの対象となるWebサイトのサイトマップの場所を教える項目です。省略も可能とされている項目ですが、記述することで指定したクローラーが早くサイトを巡回してくれる可能性があります。

自社サイトのクローラビリティを高めるためにも記述しておきましょう。サイトマップの例として以下を参考にしてください。

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

サイトマップの場所は、Sitemap行のほかSearch Consoleの「サイトマップ」レポートからも送信できます。かつてのping送信用エンドポイントは2023年6月に廃止され、現在は404を返します(出典: Sitemaps ping endpoint is going away)。作成と送信の手順はXMLサイトマップとは?作り方や更新の手順を解説で解説しています。

robots.txtの書き方

👉 このパートをまとめると!
User-agentから順に記述し、正規表現と優先順位を押さえる

以上の説明を踏まえて、robots.txtをUser-Agentから順に記述していきます。

なお、WordPressを使用している方は、以下のデフォルトの状態にコードを追記していく形で書いていきましょう。具体的な例としては以下のようになります。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /directory1/
Sitemap: https://gmotech.jp/semlabo/sitemap.xml

以上のように記述することで、①全クローラーを対象に、②「directory1」配下のページクロールを制御することができます。

正規表現(*と$)を使った指定

Googleがrobots.txtで解釈する記号は、*と$の2つだけです(出典: Google による robots.txt の指定の解釈)。

  • *:0文字以上の任意の文字列に一致する
  • $:URLの末尾に一致する

組み合わせると、拡張子やパラメータを条件に指定できます。

User-agent: *
Disallow: /*.pdf$
Disallow: /*?
Disallow: /private*/

/*.pdf$はURLが「.pdf」で終わるファイル、/*?は「?」を含むパラメータ付きURL、/private*/は「private」で始まるディレクトリをまとめて対象にします。

パラメータ付きURLの一括ブロックは、検索結果に出したい絞り込みページまで巻き込むことがあります。対象URLを洗い出してから適用してください。

ルールの優先順位

同じURLに複数のルールが当てはまる場合、Googleはパスが最も長い(限定的な)ルールを使用します。同じ長さで競合した場合は、制限の緩いルールが使われます。

User-agent: *
Disallow: /directory1/
Allow: /directory1/page1.html

「/directory1/」配下はクロールされませんが、「/directory1/page1.html」だけはAllowのパスが長いためクロールされます。

グループの扱いにも注意が必要です。1つのクローラーには、最も限定的に一致するグループが1つだけ適用されます。Googlebot向けのグループを個別に書くとUser-agent: *のグループは適用されないため、共通で禁止したいパスは両方に書きます。

よく使う記述例

目的別によく使う記述例です。

目的 記述例
サイト全体のクロールを禁止する User-agent: *
Disallow: /
特定ディレクトリ配下を禁止する Disallow: /private/
禁止ディレクトリ内の1ページだけ許可する Disallow: /private/
Allow: /private/open.html
PDFファイルをすべて禁止する Disallow: /*.pdf$
パラメータ付きURLを禁止する Disallow: /*?

テクニカルSEOの支援現場で最も多いのが、テスト環境のUser-agent: *+Disallow: /をそのまま本番へ公開してしまう事故です。リリース当日は本番のrobots.txtを開いて目視確認してください。

robots.txtの確認方法

👉 このパートをまとめると!
Search Consoleのrobots.txtレポートとURL検査ツールで確認する

確認方法は3つあります。

1. ブラウザでrobots.txtを直接開く

https://自サイトのドメイン/robots.txtにアクセスし、内容がそのまま表示されるかを確認します。別の内容が出る場合はCMS・プラグインの自動生成を疑います。

2. Search Consoleの「robots.txt」レポートで取得状況を確認する

Google Search Console(GSC)の「設定」から「robots.txt」レポート(ドメインプロパティでのみ利用可)に進むと、取得ステータス(取得済み/未取得 – 見つかりませんでした(404)/未取得 – その他の理由)、解析時のエラー・警告の数、前回クロールを試行した日時を確認できます。エラーが出た行のルールは適用されません(出典: robots.txt レポート)。

ファイル一覧横の「その他」アイコンから「再クロールをリクエスト」を選ぶと、更新後のファイルを再取得してもらえます。

3. 個別URLのブロック可否はURL検査ツールで確認する

Search Console上部の検索窓に対象URLを入力すると、Googleがそのページをクロールできているか、robots.txtでブロックされていないかがわかります。

かつての「robots.txtテスター」は、robots.txtレポートの提供に伴い2023年12月に提供を終了しました。

robots.txtの設定方法

👉 このパートをまとめると!
ルートドメイン直下にアップロードしないと機能しない

テストを終えた後は、FTPソフトを使用して、robots.txtファイルをサイトにアップロードします。

ここで注意したいのは、アップロード先をルートドメイン以外の場所に指定しないことです。robots.txtファイルは、ルートドメインにアップロードしなければ効果が発揮されないことを覚えておきましょう。

  • OK:http://example.com/robots.txt
  • NG:http://example.com/news/robots.txt

ファイル名は小文字のrobots.txt、文字コードはUTF-8、サブドメインやプロトコル(httpとhttps)が異なる場合はそれぞれに設置することも公式の要件です(出典: robots.txt ファイルを作成して送信する)。

robots.txt設定時の注意点

👉 このパートをまとめると!
ユーザーは閲覧でき、noindexとの併用はnoindexを無効化する

ここまでrobots.txtの意味や役割、書き方・確認方法などを解説してきましたが、最後にrobots.txtファイルを設定する上で注意したいことについて紹介していきます。

  • robots.txtで指定してもユーザーは閲覧できる
  • インデックス済みページは検索エンジン上に残り続ける
  • robots.txtを無視するUser-Agentも存在する
  • robots.txtの内容が反映されるまでに時間がかかる

robots.txtはあくまで検索エンジンのクローラーの巡回を制御するファイルで、ユーザーの閲覧をブロックするものではありません。

したがって、ユーザーの目に触れてはいけない非公開コンテンツは、パスワード保護やサーバー側のアクセス制御で対応します。検索結果からの削除が目的であれば「noindex」タグを使います。

ただし、robots.txtファイルで指定しているディレクトリ配下のページインデックスをnoindexで削除する場合は、先にrobots.txtファイルでの指定を外し、インデックスされているページにnoindexタグを設定しなければなりません。

なぜなら、robots.txtでクロールを制御していると、noindexを設定したページにクローラーが巡回しなくなるからです。Googleは、robots.txtでページがブロックされている場合、クローラーはnoindexルールを認識しないと明記しています(出典: noindex でインデックス登録をブロックする)。

検索エンジンにページを表示させないことが目的の場合は、robots.txtでブロックせずにクロールを許可し、noindexを検出させるのが正しい手順です。

また、robots.txtでブロックしても、他のページからリンクされていればURLだけがインデックスに残ることがあります。Search Consoleでは「robots.txt によりブロックされましたが、インデックスに登録しました」という警告で確認できます。

そして、検索エンジンのクローラーの中には、robots.txtのDisallowの内容を無視するクローラーも存在します。

robots.txtで指定しても効果が見られない場合は、別の方法でクロールをコントロールする必要があります。

なお、Google検索エンジンのクローラー「Googlebot」と、AdSenseクローラーの「Mediapartners-Google」は、robots.txtファイルで指定されたディレクトリ・ページにはアクセスしないことを明記しています。

ただし「Mediapartners-Google」はUser-agent: *のグローバル指定を無視するため、AdSenseクローラーを止めるにはUser-agent: Mediapartners-Googleと個別に指定します(出典: Googleのヘルプセンター)。

反映までの時間も押さえておきましょう。Googleは通常、robots.txtの内容を最大24時間キャッシュに保存します。更新を急ぐ場合は、robots.txtレポートから再クロールをリクエストします。

生成AIクローラー(AIボット)のクロールを制御する方法

👉 このパートをまとめると!
AIボットはUser-agent単位で制御。露出とのトレードオフで判断

生成AIの学習用クローラーやAI検索のクローラーも、robots.txtで制御できます。主要なトークンは以下のとおりです(各社公式ドキュメントで2026年8月時点の記載を確認)。

事業者 トークン 主な役割
OpenAI GPTBot 基盤モデルの学習用データ収集
OpenAI OAI-SearchBot ChatGPTの検索機能での表示用
Google Google-Extended Geminiの学習とグラウンディング
Anthropic ClaudeBot モデルの学習・開発用データ収集
Anthropic Claude-SearchBot 検索品質向上のためのインデックス作成
Common Crawl CCBot 公開データセット作成用のクロール
Perplexity PerplexityBot Perplexityの検索結果での表示用

出典: OpenAI/Google/Anthropic/Common Crawl/Perplexityの各公式ドキュメント

学習用クローラーをまとめてブロックする場合の記述例は以下のとおりです。

User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: CCBot
Disallow: /

「anthropic-ai」「Claude-Web」は現在のAnthropic公式のクローラー一覧に記載がありません。トークン名は変更されるため、追加・見直しの際は公式ドキュメントで最新の表記を確認してください。

GooglebotとGoogle-Extendedの違い

Googlebotは、Google検索のインデックスを作るためのクローラーです。一方のGoogle-Extendedは、Geminiモデルの学習とグラウンディングを制御するトークンで、Googleは「Google-Extended が Google 検索でのサイトの登録に影響したり、Google 検索でのランキング シグナルとして使用されたりすることはありません」と明記しています(出典: Google の一般的なクローラー)。

Google検索のAI Overviewsは検索インデックスを基に生成されるため、AI機能での見え方はnosnippet・data-nosnippet・max-snippetまたはnoindexで制御します(出典: Google 検索の AI 機能とサイト)。

AIボットをブロックすべきかを判断する軸

AIボットは「学習系」と「検索・回答系」に分けると判断しやすくなります。

  • 学習系(GPTBot・Google-Extended・ClaudeBot・CCBot): 学習データに使われることを避けたい場合にブロックする
  • 検索・回答系(OAI-SearchBot・PerplexityBot・Claude-SearchBot): ブロックするとAI検索の回答での引用・リンク露出を失う

一律にブロックすると、AI検索経由の流入導線を自ら閉じることになります。独自コンテンツの保護とAI検索での露出のどちらを優先するかを決め、トークン単位で選びます。

また、robots.txtに強制力はありません。記述を無視するボットもあるため、確実に遮断するならサーバー側のアクセス制御やWAFと組み合わせます。

クローリング診断の現場では、AIボットの制御方針を決める前に、重要ページがクローラーに到達できているかの確認をおすすめしています。階層が深いページや内部リンクのないページは、Googlebotにも届いていないケースが少なくありません。

自社サイトのクロールコントロールにはLumar(旧:DeepCrawl)がおすすめ

👉 このパートをまとめると!
サイトの階層構造と発見されにくいページを診断して改善する

robots.txtは検索エンジンのクロールを制御し、重要ページへのクローラー巡回頻度を高めることが目的ですが、自社サイトの階層構造が最適化されていなければ、いつまで経っても重要ページのクロール頻度は高めることができません。

そのような場合は、robots.txtファイルの設置前に、自社サイトの内部構造を内部SEOツールで調べる必要があります。

Lumar(旧:DeepCrawl)はサイト内のページの深さを診断し、ユーザーや検索エンジンが見つけにくいページ・コンテンツを発見して、再設置する機能を搭載しています。他にもパフォーマンスが優れている領域・セクションの判別を行い、自社サイトにおける重要ページを発掘することも可能です。

これから本格的に自社サイトの運用を行っていきたいWeb担当者は、内部SEOツールのサポートを受けることも検討してみてはいかがでしょうか。

尚、自社サイトの内部構造を最適化し、SEOで成果を出すための施策は「テクニカルSEO」と呼ばれています。詳細と対策はテクニカルSEOとは?コンテンツSEOとの違い・基本施策とチェックリストを解説【2026年版】で紹介していますので、ぜひご覧ください。


seo-dash!bygmo
seo-dash!bygmo

まとめ

👉 このパートをまとめると!
クロール制御の要点と、設定前に確認すべき点を整理

robots.txtの要点を整理します。

  • robots.txtはクロール制御用で、検索結果からページを削除する手段ではない
  • 基本の型はUser-agent・Disallow・Sitemapの3要素。例外指定にAllowを使う
  • 解釈される記号は*と$のみ。競合時はパスが長いルールが優先される
  • 確認はrobots.txtレポートとURL検査ツール(旧テスターは提供終了)
  • ルートドメイン直下にUTF-8で設置する。反映は通常最大24時間
  • robots.txtでブロックしたページはnoindexが読まれない
  • 生成AIクローラーは学習系と検索・回答系を分けて判断する

設置後もrobots.txtレポートで取得ステータスと意図しないブロックを定期的に確認します。クロール到達性の一括確認には、クローリング診断ツールLumarが有効です。

Lumarのクローリング診断

robots.txtの設定が意図どおりに効いているかを可視化する

Lumarはサイト全体をクロールし、robots.txtでブロックされたURL、階層が深く到達しにくいページ、孤立ページを一覧で検出します。実装中につまずいた場合もご相談ください。

robots.txtに関するよくある質問

👉 このパートをまとめると!
併用可否・noindex指定・AIボット制御の疑問に回答

robots.txtとnoindexは併用してよいですか?

同じページへの併用は避けます。robots.txtでクロールをブロックすると、クローラーはページを取得できず、noindexルールを認識しないためです。検索結果から確実に外したいページは、クロールを許可してnoindexを検出させます。

robots.txtに「noindex:」と書けばインデックスを防げますか?

防げません。Googleは、robots.txt内のnoindexを含む非公式ルールの処理コードを2019年9月1日で廃止しました。現在サポートされるフィールドはuser-agent・allow・disallow・sitemapの4つです。インデックスを防ぐ場合は、ページのメタタグまたはHTTPヘッダーでnoindexを指定します。

AIボットをブロックするとSEOに悪影響はありますか?

Google-Extendedは、Googleが「Google 検索でのサイトの登録に影響したり、Google 検索でのランキング シグナルとして使用されたりすることはありません」と明記しており、検索順位への直接的な影響はありません。ただし検索・回答系をブロックすると、AI検索の回答で引用・リンクされる機会は減ります。

SEO対策でビジネスを加速させる
seo-dash!bygmo

SEO対策でこんな思い込みしていませんか?

  • 大きいキーワードボリュームが取れないと売上が上がらない・・
  • コンサルに頼んでもなかなか改善しない
  • SEOはコンテンツさえ良ければ上がる

大事なのは自社にあったビジネス設計です。
御社の課題解決に直結するSEO施策をご提案します

無料資料請求はこちら

CONTACT US

デジタルマーケティングに関することならお気軽にご相談ください

メルマガ登録

メールマガジンはこちらからご登録ください。

デジタルマーケティングに関するホットな情報をお届けいたします。

フォームからのお問い合わせ

GMO TECHへの業務依頼、発注を希望される方はこちらよりご連絡ください。