
「robots.txtでSEO対策ができるってどういうこと?」「robots.txtとはそもそも何?」とサイトの内部対策に関する悩みを持っていませんか。
robots.txtを活用することで、重要でないページのクロールを制御して、インデックスさせたいページを効率よくクロールさせることができます。
本記事では、robots.txtの意味やSEO効果、設定方法について解説します。
目次
robots.txtとは?

robots.txtファイルは、Webサイトのどのページを検索エンジンのクローラー(ボット)にクロール(アクセス)させないかを指示するテキストファイルです。Webサイトのルートディレクトリ(「https://example.com/robots.txt」のような最上位の階層)に配置されます。
このファイルは、主に「サーバーの過負荷防止」「クロール最適化(クロールバジェットの効率化)」「意図しないページのインデックス登録回避」を目的として使用されます。
ここで重要なのが「クロール」と「インデックス」の違いです。
・クロール:クローラーがページを訪れ、内容を読み取ること。
・インデックス:クローラーが持ち帰った情報を、検索エンジンがデータベースに登録し、検索結果に表示できるようにすること。
robots.txtは、このうち「クロール」を制御するファイルです。Googleなどの主要な検索エンジンは、サイト訪問時にまずこのファイルを確認し、記載された指示に従います。
robots.txtが必要な具体的ケース
robots.txtは、サイト運営において特定のアクセスを制御したい場合に実務的な役割を果たします。以下に具体的なケースを示します。
・ステージング(テスト)環境のブロック:サイトリニューアル中などに使用するテスト環境(例:staging.example.com)が、本番環境とは別にインデックスされるのを防ぐために使用します。ただし、パスワード保護(Basic認証など)と併用することが推奨されます。
・重複・低品質コンテンツのクロール制御:ECサイトの検索結果ページや、パラメータによって自動生成される内容が重複するページは、クロールさせる必要性が低くなります。これらのページへのクロールをrobots.txtやnoindexで制限し、重要なページ(商品ページや記事)にクローラーのリソースを集中させます。
・AIボット・特定ボットのブロック:サイトの情報をAIの学習データとして利用されたくない場合、User-Agentを指定して特定のAIボット(例:GPTBot)のクロールのみを拒否できます。
robots.txtのSEO効果
robots.txtによって、クロール不要なコンテンツを制御し、クロールさせたいページにだけ効率よくクローラーを誘導することができます。
それにより、サイト内で評価してほしいコンテンツのクロールの頻度が上がり、SEO評価をスピーディに得られる効果があります。
自サイトにとって重要なコンテンツを優先してクロールさせるよう設定し、効率よくインデックスさせましょう。
robots.txtとnoindexタグの違い
noindexとは、Googleなどの検索エンジンにサイトやページをインデックスさせないようにするためのメタタグです。
ページ内の<head>部分にnoindexタグを記述すると、検索画面に表示されないように設定できます。
noindexタグとの違いは下記の通りです。
・noindex:クロールはされるがインデックスされない
・robots.txt:クロール自体をブロック
robots.txtでクローラーの巡回を制御しますが、noindexを設定したページにクローラーは巡回します。
▼こちらのタグもチェック
『noindexタグとは?SEO効果や設定方法、注意点ついて解説』
『nofollow属性とは?SEOにおける意味と使い方を解説』
robots.txtとnoindexタグの違いはクロールされるか否かです。
よって、両者の使い分けは下記の観点で実施しましょう。
・特定ページのインデックスを拒否したい場合→noindexタグ
noindexタグを設定してもクローラーの巡回は制御できないので、無駄にクロールされてしまうことがあります。
クローラーに巡回されたくないページを制御し、効率的にクロールさせたい場合にrobots.txtを使用しましょう。
しかし、robots.txtはクローラーの巡回を制御するファイルであり、ユーザーの閲覧はブロックできないため、ユーザーの目に触れさせたくない非公開コンテンツは、検索エンジン上でnoindexタグでコンテンツを削除する必要があります。
robots.txtの記述ルールと優先順位
robots.txtのルールは、クローラー(User-Agent)ごとに記述されますが、特にGooglebotはルールの「優先順位」を明確に定めています。
まず、クローラーは自身に最も具体的に一致するUser-Agentのブロック(指示のまとまり)を探します。例えば、User-Agent: Googlebot-NewsとUser-Agent: Googlebot、User-Agent: *(全般)がある場合、Googlebot-Newsは自身の専用ブロックのみを参照します。
次に、同じブロック内でDisallow(禁止)とAllow(許可)のルールが競合した場合、Googleは「パス(Disallow:やAllow:の後に続く文字列)の文字数がより長い方」のルールを優先します。
例えば、Allow: /blog/ Disallow: /blog/private/ と記述した場合、/blog/private/page.htmlへのアクセスは、より文字数が長いDisallowのルールが優先され、ブロックされます。
robots.txtの注意点
robots.txtの3つの注意点を確認し、正しくrobots.txtを設定しましょう。
robots.txtを指定してもユーザーは閲覧可能
「robots.txtとnoindexタグの使い分け」でも説明したように、robots.txtを指定してもユーザーは閲覧可能です。
ユーザーの目に触れてほしくないコンテンツはnoindexタグを使用しましょう。
ただし、既にrobots.txtでクロールを拒否しているページにnoindexタグを設置したとしても、クローラーが巡回しないため「インデックスしないでほしい」という指示が伝わりません。
そのため、まずはrobots.txtの指定を外し、クローラーが巡回できる状態にしてからnoindexタグを設定し、その後robots.txtを設定してクロールを拒否します。
ユーザーの閲覧をブロックするにはこの手順を踏む必要があります。
robots.txtで制御できないUser-Agentもある
一部の検索エンジンのクローラーはrobots.txtのDisallowの記述を無視するため、なかにはrobots.txtで制御できないクローラーもあります。
その場合は、.htaccessなど別の方法を試す必要があります。
robots.txtの内容が反映されるまで時間がかかる
robots.txtの内容が反映されるまでに最大24時間かかります。
記述してアップロードしてもすぐに反映されるわけではなく、Googleがキャッシュをクリアするまで待たなければなりません。
ブロックしてもインデックスされる場合がある
robots.txtでDisallow(クロール禁止)設定をしても、そのページが検索結果に表示(インデックス)されてしまうことがあります。 これは、robots.txtが「クロール」を防ぐだけで、「インデックス」を直接防ぐものではないためです。
もし、クロールを禁止しているページ(例:/private/)に対して、サイト内外の別ページからリンクが張られていると、クローラーはページ内容を読み取れないまま「そのURLの存在」だけを認識し、結果としてURLのみがインデックスされる場合があります(※Google Search Consoleでは「robots.txtによりブロックされましたが、インデックスに登録しました」と報告されます)。
記述ミスとSEOへの影響
robots.txtの記述ミスは、サイトのSEOに深刻な影響を与える可能性があります。 例えば、ワイルドカード(*)や終了記号($)の使い方を誤ると、意図しない広範囲のURLをブロックしてしまうことがあります。
Disallow: /blog のように末尾のスラッシュ(/)を忘れると、/blog/だけでなく /blog-test.html などもブロック対象となり得るのです。また、Disallow: / という記述はサイト全体のクロールを禁止するため、サイトが検索結果から完全に消えてしまう原因になります。
robots.txtの設定ミスを防ぐチェックポイント
robots.txtの設定ミスは影響が大きいため、設置・更新時には入念なチェックが必要です。以下の項目を確認することで、代表的なミスを防ぐことができます。
| チェック項目 | 確認内容 |
|---|---|
| Disallow: / の有無 | サイト全体をブロックする「Disallow: /」が誤って記述されていないか。 |
| ファイルの設置場所 | ファイルがサイトのルートディレクトリ(https://example.com/robots.txt)に正しく設置されているか。 |
| パス(Path)の記述 | DisallowやAllowで指定するパスが、対象のURLと正確に一致しているか。特に末尾の/やワイルドカード(*)の扱いに注意する。 |
| JS/CSSのブロック | サイトの表示に必要なCSSやJavaScriptファイルをブロックしていないか(これらをブロックすると、Googleがページを正しく評価できません)。 |
| テストツールの活用 | Google Search Consoleの「robots.txtテスター」や、他の検証ツールを使い、意図した通りにURLがブロック(または許可)されているかを確認する。 |
robots.txtの書き方(基本編)

robots.txtの基本の型とWordpressのデフォルト表記は異なるため注意してください。
robots.txtの基本の書き方は、以下の通りです。
User-agent: * Disallow: Sitemap: http://www.example.co.jp/sitemap.xml
WordPressで設定する場合、デフォルト表記は以下の通りです。
User-agent: * Disallow: /wp/wp-admin/ Allow: /wp/wp-admin/admin-ajax.php Sitemap: http://www.example.co.jp/sitemap.xml
WordPressにはrobots.txtファイルがデフォルトで設定されています。
Disallowでクロールを制御したあと、Allowで許可したページだけがクロールの巡回対象となります。
robots.txtを構成する4つの要素については、以下で詳しく解説します。
User-Agent
User-Agentは、クロールを制御するクローラーを指定する項目です。
基本的に、全てのクローラーを対象とする「*(半角アスタリスク)」を打ち込みますが、特定のクローラーの巡回を制御したい場合は、対象クローラーの「ユーザーエージェントトークン」を入力します。
ユーザーエージェントトークンの例は以下の通りです。
・スマートフォン用Googlebot:Googlebot
・APIs-Google:APIs-Google
・AdSense:Mediapartners-Google
参照:Google検索セントラル「Google クローラの概要(ユーザー エージェント)」
Googleの検索エンジンのクロールを拒否したいときは「Googlebot」を記述して、パソコン・スマホ両方を設定しましょう。
Disallow
Disallowは、クロールを制御するページを指定する項目です。
パターン別に記述例を確認しましょう。
・サイト全体のクロールを禁止する構文
Disallow: /
・特定ディレクトリのコンテンツのクロールを禁止する構文
Disallow: /calendar/ Disallow: /junk/
・単一ページへのクロールを禁止する構文
Disallow: /private_file.html
参照:Google検索セントラル「robots.txt ファイルを作成する」
Disallowにページやディレクトリのファイル名を記述することで、クロールを制限したいファイルを限定します。
Allow
Allowは、Disallowで指定しているディレクトリ配下のサブディレクトリ・特定ページのクロールを指示する項目です。
既にDisallowでクロールの制限をかけているものの、特定のページやディレクトリへのクロールを許可するためにAllowを使います。
記述例は、以下の通りです。
Allow: /example/sample.html
Disallowで指定したフォルダの配下のページをクロールしたいときに使うため、使う機会は少ないでしょう。
Sitemap
Sitemapは、robots.txtファイルの対象となるWebサイトの場所を教える項目です。
書かなくても問題ありませんが、クローラーがサイトマップにアクセスしやすくなり、スピーディにクローラーが巡回しやすくなります。
記述例は、以下の通りです。
Sitemap : https://sample.co.jp/sitemap.xml
SEO対策に影響を与えるので、設定することをおすすめします。
robots.txtの書き方(応用編)
基本的な書き方に加え、特定のクローラーを指定したり、特定のファイル形式を制御したりする応用的な記述方法も存在します。ここでは、実務で役立ついくつかのパターンを見ていきましょう。
Googleの検索クローラーだけをブロック
全てのクローラー(*)ではなく、Googleの検索クローラー(Googlebot)だけを対象にクロールを制御したい場合は、User-agentにGooglebotと指定します。
例えば、サイト全体をGooglebotにクロールさせたくない場合(ステージング環境などで使用)は、以下のように記述します。他のクローラー(Bingbotなど)は、この指定の影響を受けません。
User-agent: Googlebot Disallow: /
GPTBotなどAIボットを制御する記述例
ChatGPTの学習に使われる「GPTBot」や、GoogleのAI検索(AIによる概要)などに使われる「Google-Extended」など、特定のAIボットのクロールを制御することも可能です。
例えば、GPTBotによるサイト全体のクロールを拒否する場合は、以下のように記述します。
User-agent: GPTBot Disallow: /
GoogleのAI検索機能での利用を拒否する場合は、Google-Extended を指定します。
User-agent: Google-Extended Disallow: /
PDFファイルのクロール制御
特定のファイル形式、例えばPDFファイル(.pdf)のクロールを一括で制御したい場合、ワイルドカード(*)と終了文字($)を組み合わせて使用します。
サイト内の全てのPDFファイルをGooglebotにクロールさせたくない場合は、以下のように記述します。$ は「その文字列で終わる」ことを意味するため、URLの末尾が .pdf であるファイル全てが対象となります。
User-agent: Googlebot Disallow: /*.pdf$
パラメータ付きURLを制御
ECサイトの並び替え機能や計測用パラメータなど、URLの末尾に?以降のパラメータが付く動的URLのクロールを制御したい場合があります。
?を含む全てのURLのクロールを拒否するには、ワイルドカード*を使って以下のように記述します。これにより、パラメータが付いた重複コンテンツへのクロールを避け、クロールバジェットを最適化できます。
User-agent: * Disallow: /*?*
robots.txtの設定方法
テストで正しく記述できていることを確認したら、FTPソフトを使ってrobots.txtファイルをサイトにアップロードしましょう。
robots.txtファイルは、ドメインのルートディレクトリに設置します。
ルートドメインにアップロードしなければ、記述が正しくてもコントローラーを制御できないため注意してください。
robots.txtの確認方法
robots.txtを設置しても、記述に間違いがあるとクローラーを意図通りに制御することはできません。誤った記述(例えば Disallow: / の誤用など)は、サイト全体のインデックス消失など重大な事故につながる恐れがあります。
そのため、必ずアップロード前に記述内容を確認し、アップロード後にも正しく機能しているかチェックすることが重要です。
以前は「robots.txtテスター」というシミュレーションツールが提供されていましたが、新バージョンのGoogle Search Consoleへの移行に伴い、現在はメニューから削除され、利用できなくなっています。
現在は、それに代わる以下の新しい標準機能を使って確認を行います。
現在の確認手順(robots.txtレポートとURL検査ツール)
現在、Google Search Consoleでは、以下の2つのツールを組み合わせて確認するのが公式の推奨手順です。
1. robots.txtレポート(ファイルの設置確認):まず、Googleがrobots.txtファイルを正しく読み込めているかを確認します。 Search Consoleの「設定」>「robots.txt」を開くと、Googleが認識しているファイルの内容と、取得状況(ステータス)が表示されます。「取得済み」となっていれば、ファイル自体は正しく設置されています。
2. URL検査ツール(ブロックの動作確認):特定のページが記述通りにブロックされているか(または許可されているか)を確認するには、「URL検査ツール」を使用します。Google Search Console上部の検索窓に確認したいURLを入力して検査を実行し、結果画面から’robots’ メタタグが効いているかどうか確認できます。
「robots.txt」に関するよくある質問
noindexとrobots.txtを併用してもいい?
noindexタグとrobots.txtでのDisallowの併用は推奨されません。
robots.txtでページをDisallow(クロール拒否)に設定すると、クローラーはそのページにアクセスできなくなります。その結果、ページ内に設定されているnoindexタグ(インデックス拒否の指示)をクローラーが読み取ることができません。
もしページが既にインデックスされている場合、robots.txtでブロックすると、クローラーがnoindexを確認できないため、インデックスされた状態が検索結果に残り続ける可能性があります。
ページをインデックスから確実に削除したい場合は、まずrobots.txtのブロックを解除(またはAllow)してクローラーがnoindexタグを認識できるようにし、インデックスから削除されたことを確認した後で、必要に応じてrobots.txtでクロールをブロックする、という手順を踏む必要があります。
AIボットをブロックするとSEOに悪影響?
現時点(2025年11月)で、GPTBotのようなAIチャットボットのクロールをブロックすることが、従来のGoogle検索(オーガニック検索)の順位に直接的な悪影響を与えるという事実は確認されていません。
ただし、注意点があります。Googleは「AIによる概要」など、検索結果自体にAIを組み込んでいるため、AIによる概要の生成に使われるGoogle-Extendedボットをブロックした場合、これらのAI検索結果に自社サイトの情報が表示される機会を失う可能性があります。
将来的にAI検索が主流となった場合、AIボットをブロックしていると露出機会が減少し、結果としてサイトへのトラフィックに影響が出る可能性は否定できません。現時点では、AI学習データとしての利用を防ぎたいか、将来のAI検索での露出を優先するか、サイトの目的に応じて判断する必要があります。
robots.txtを更新したらすぐ反映される?
robots.txtファイルをサーバー上で更新しても、すぐには反映されません。
Googleのクローラーは、robots.txtの内容を一定期間(最大24時間)キャッシュ(一時保存)しています。そのため、ファイルを更新しても、Googleがキャッシュを更新するタイミング(通常1日に1回程度)まで、古い指示が参照され続ける可能性があります。
もし緊急でrobots.txtの変更をGoogleに認識させたい場合は、Google Search Consoleの「robots.txtレポート」から「再クロールをリクエスト」機能を使用することで、キャッシュの更新を促すことができます。
まとめ
本記事では、robots.txtの意味や設定方法、記述の仕方について解説しました。
戦略的にクローラーの巡回を制御することで、優先してインデックスさせたいページを巡回させられます。
robots.txtの設定を見直し、不備があった場合には正しく設定しましょう。
「TACT SEO」は、キーワード調査や日々の順位計測、サイト内のSEO課題の発見などSEO対策を行うために必要な機能が一つになったツールです。 自社サイトが上位表示できていない要因を網羅的に分析することが可能です。 入力時間は30秒!無料版をぜひお試しください。
SEOに関して、何から着手すべきかわからない、なかなか成果がでないなどのお悩みがございましたら SEO無料相談も受け付けておりますので、お気軽にお問合せください。
資料ダウンロード
SEO無料相談




















