1. MEO TOP
  2. Webマーケティングブログ
  3. SEO
  4. robots.txtとは?書き方から設置方法、SEOで重要な理由まで徹底解説

robots.txtとは?書き方から設置方法、SEOで重要な理由まで徹底解説

robots.txtとは?書き方から設置方法、SEOで重要な理由まで徹底解説

Webサイトを運営するうえで大切なのが、「robots.txt(ロボッツテキスト)」です。これは、Googlebotなどの検索エンジンのクローラーに対して「どのページをクロールして良いか」または「してはいけないか」を指示するためのファイルです。

正しく設定することで、不要なページのクロールを防ぎ、重要なページが効率よくインデックスされるようになります。一方で、設定を間違えると、すべてのページが検索結果に表示されなくなるリスクもあるものです。

この記事では、そんなrobots.txtの仕組みや設置方法、書き方を解説します。

robots.txtとは?

robots.txtとは、検索エンジンのクローラー(例:Googlebot、Bingbot など)に対して、サイト内のどの部分をクロールしてよいか、またはクロールを禁止すべきかを伝えるためのテキストファイルです。このファイルは、Webサイトの最上位ディレクトリ(ルートディレクトリ)に設置され、クローラーはページを訪れる前にまずこのファイルを確認します。

たとえば、「/admin/」や「/test/」など、検索結果に表示させたくないディレクトリをあらかじめ指定することで、不要なクロールを防ぐことができます。Googlebotは、robots.txtに記載されたルールを読み取り、「アクセスしてよいパス」と「制限されたパス」を判断します。これにより、サーバー負荷を軽減しながら、SEOにおいて重要なページを優先的にクロールさせることができます。

robots.txtはどこに設置する?

robots.txtは、「Webサイトのルートディレクトリ(トップ階層)」に設置します。たとえば、サイトのURLが「 https://example.com/ 」の場合、robots.txtのURLは「 https://example.com/robots.txt 」となります。この場所以外に設置してもクローラーは認識しません。検索エンジンはまずこのファイルを確認してからページをクロールするため、設置場所が正しくないと意図した制御が行なわれません。

また、複数のサブドメイン(例: https://shop.example.com/
など)がある場合、それぞれに個別のrobots.txtを設置する必要があります。ファイルは単なるテキスト形式で作成でき、エンコードはUTF-8が推奨されています。

robots.txtの基本構文と書き方

robots.txtは非常にシンプルなテキスト構文で構成されます。複雑なプログラムではなく、「クローラーの種類(User-agent)」と「アクセス制御ルール(Disallow/Allow)」をセットで指定します。以下では、Googleの公式ドキュメントに基づき、それぞれのディレクティブ(命令)の意味と使い方を解説します。

User-agent(対象クローラーの指定)

User-agentは、どの検索エンジンのクローラーに対してルールを適用するかを指定する項目です。たとえば、Googleのクローラーにだけ適用したい場合は「User-agent: Googlebot」と記載します。すべてのクローラーに共通のルールを適用したい場合は「User-agent: *」と記載します。

User-agent: *

この指定は「すべての検索エンジンに対して、以下のルールを適用する」という意味になります。複数のルールを設定する場合は、User-agent単位で区切り、対象ごとにDisallow/Allowを組み合わせます。

Disallow(クロールを禁止するパスの指定)

Disallowは、クローラーに対してアクセスを禁止するディレクトリやページを指定するための命令です。記述方法は「Disallow: /パス名」とし、ルートからの相対パスで指定します。もしサイト全体をクロールさせたくない場合は「Disallow: /」と書きます。一方で、特定のページのみをブロックしたい場合は、以下のように個別指定が可能です。

User-agent: *
Disallow: /admin/
Disallow: /private.html

この例では、「すべてのクローラーに対し、/admin/ フォルダと /private.html ページをクロール禁止」と指示しています。ただし、Disallowはクロールを止めるだけで、インデックス登録自体を完全に防ぐものではない点に注意が必要です。

Allow(許可するパスの指定)

Allowは、Disallowで制限された中でも「この部分はクロールを許可したい」と指定する際に使用します。主に、特定のフォルダ全体を禁止しつつ、一部のファイルのみ許可したい場合に利用されます。

User-agent: *
Disallow: /images/
Allow: /images/brand-logo.png

この設定では、/images/ 以下は原則クロール禁止ですが、「brand-logo.png」だけはクロールを許可しています。Googlebotは、AllowとDisallowの両方がある場合、より具体的なパス指定を優先して処理します。つまり、詳細な指定が上書きルールのように機能する仕組みです。

Sitemap(サイトマップの記載方法)

Sitemapは、robots.txtの中でXMLサイトマップのURLを検索エンジンに知らせるための記述です。GooglebotやBingbotは、この記述をもとに効率的にサイト全体をクロールします。

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

複数のサイトマップを持つ場合は、1行ごとに複数記載します。この記述を追加することで、クローラーがサイトの全ページを把握しやすくなり、インデックスの効率化につながります。なお、Sitemapディレクティブは、User-agentセクションの外に記載しても問題ありません。robots.txtとサイトマップの併用は、クロール最適化とSEO効果の両立に役立ちます。

robots.txtとSEOとの関係について

robots.txtはSEOにおいて、検索エンジンのクローラー(Googlebotなど)がどのページを巡回・評価するかを制御する重要な役割を持ちます。

クローラーはまず、robots.txtを読み込み、アクセスが許可されているページのみをクロールします。したがって、不要なページをブロックすれば、クローラーのリソースを有効に使い、重要ページのクロール頻度を高めることができます。

一方で、robots.txtを誤って設定すると重大なリスクが発生します。たとえば、サイト全体を「Disallow: /」でブロックしてしまうと、Googleがどのページにもアクセスできず、検索結果からすべてのページが消える恐れがあります。また、意図せず商品画像やCSS、JSをブロックすると、Googleがページを正しくレンダリングできず、評価が下がるケースもあります。

robots.txtは「クロール制御の指示書」であり、「インデックスを直接操作するファイル」ではないため、noindexタグやSearch Consoleと組み合わせて適切に運用することが大切です。

robots.txtの活用例

この章では、robots.txtの活用例をご紹介します。

管理画面(/admin/)やテストページを制御する

管理画面やテストページなど、一般公開する必要のない領域はrobots.txtでクロールを制御します。 たとえば「/admin/」「/staging/」「/test/」などをDisallow指定することで、検索エンジンがこれらのページを巡回しなくなります。

ただし、認証が必要なエリアであっても、robots.txtでの制御を忘れるとURLが露出するリスクがあるため、注意が必要です。 運用中のサイトでは、開発用・本番用で異なるrobots.txtを用意し、誤って本番環境をブロックしないようにしましょう。

パラメータ付きURLや検索結果ページを制御する

ECサイトや大規模メディアでは、「?sort=」「?filter=」などのURLパラメータによって類似ページが大量に生成されます。 これを放置するとクローラーが無限ループのように巡回し、重要ページのクロールが遅れる「クロールバジェット浪費」が起きます。robots.txtで、「Disallow: /*?」と指定すれば、パラメータ付きURLのクロールを制限できます。

また、サイト内検索結果ページ(/search/など)もブロックの候補にするか検討すべきページと言えます。 不要ページのクロールを防ぐことで、検索エンジンが本来評価すべきページを効率的に処理できます。

大規模サイトやECサイトにおけるrobots.txtの運用ポイント

数千〜数万ページを抱える大規模サイトやECサイトでは、robots.txtをクロール最適化の設計ツールとして活用することが大切になります。

まず、膨大な商品ページやカテゴリページ、検索結果ページをすべてクロールさせると、クローラーのリソースが分散し、重要ページが見逃される可能性があります。そのため、robots.txtを用いて「クロールさせたい領域」と「制限すべき領域」を明確に分けることが重要です。

たとえば、在庫切れ商品ページやフィルタ付きURLなどはDisallowで制御し、主要カテゴリや人気商品、特集ページなどのクロール優先度を高めます。また、サイトマップ(Sitemap:)をrobots.txtに記載することで、Googlebotが全体構造を正確に把握しやすくなります。

robots.txt設定後は、Search Consoleを活用して「クロールされたURL」と「除外されたURL」を定期的に確認し、設定が正しく反映されているかをチェックしましょう。大規模なサイトほど、robots.txtの設置は重要になります。

ECサイトのSEO完全ガイド!売上を伸ばす対策のポイントを解説

ECサイトのSEO完全ガイド!売上を伸ばす対策のポイントを解説

ECサイトは商品点数やページ構成が複雑で、SEOの難易度が高いジャンルのひとつです。 検索エンジンに正しく評価されるためには、構造設計からコンテンツ制作…

robots.txtの確認方法

robots.txtを確認する際は、Google Search Consoleの「クロール」メニュー内にあるrobots.txtテスターを利用します。

ここではGoogleが認識しているrobots.txtの内容を直接確認でき、誤った記述やクロールブロックを即座に発見できます。

また、テスト機能を使えば、特定のURLがブロック対象になっているかどうかもチェック可能です。

robots.txtを設定する際の注意点(よくあるミス)

robots.txtを設定する際は、次の点に注意が必要です。

Disallowとnoindexを混同しない

robots.txtのDisallowは「クローラーにアクセスさせない」指示であり、「検索結果から除外する」ための指示ではありません。

もし特定のページを検索結果に表示させたくない場合は、robots.txtではなくページ内に「noindex」タグを設置する必要があります。

Disallowでブロックしてしまうと、クローラーがページにアクセスできず、noindexタグも認識されないため、意図した除外ができなくなります。

全ディレクトリを誤ってブロックしてしまう

robots.txtで最も多いミスが、「Disallow: /」の記述です。これはサイト全体のクロールを禁止する設定です。誤って記載すると全ページが検索エンジンからインデックスされなくなります。

特にテスト環境から本番環境へ移行する際、この記述を削除し忘れるケースが多いです。 robots.txtの変更後は必ずGoogle Search Consoleやブラウザで確認し、公開環境でクロールを妨げていないかチェックしましょう。

WordPressやCMS更新時にrobots.txtが意図せず上書きされてしまう

WordPressなどのCMSでは、プラグインやテーマの更新時にrobots.txtの内容が自動的に上書きされることがあります。 特に「検索エンジンのインデックスを許可しない」設定を誤って有効にすると、Disallowルールが追加され、全ページが非公開扱いになることもあります。

定期的にrobots.txtを確認し、意図した内容が保持されているかを確認することで、知らぬ間にクロールブロックが発生するリスクを防げます。

robots.txtのよくある質問

robots.txtを設定しないとどうなるか?

robots.txtを設置していない場合、Googlebotはすべてのページをクロール対象として扱います。

そのため、管理画面やテストページなどがある場合、それらのページまでクロールされ、クロールバジェット(クロールできる上限リソース)が無駄に消費される可能性があります。

結果的に、重要ページの巡回頻度が低下することもあるため、robots.txtを設置して必要な制御を行なうことが推奨されます。

robots.txtはSEOにどのくらい影響するか?

robots.txt自体は直接的に検索順位を上げるものではありません。しかし、クローラーが適切に巡回できる環境を整えることで、SEO全体の効率を大幅に改善できます。

特に大規模サイトでは、不要ページのブロックや優先URLの整理によってクロール効率を高めることが、結果的に上位表示の安定化につながります。

正しい設定が「間接的なSEO効果」を支える重要なポイントと言えます。

noindexタグとrobots.txtの使い分けは?

noindexタグは「検索結果に表示しない」ための命令であり、robots.txtのDisallowとは目的が異なります。

たとえば、「ページをクロールさせたいがインデックスさせたくない」場合はnoindexを使用します。 逆に、「クロールそのものを制限したい」場合はrobots.txtを使用します。

両者を誤って組み合わせるとnoindexタグが認識されないため、使い分けを明確に理解して設定することが重要です。

まとめ

robots.txtは、検索エンジンのクローラーに対してサイトの巡回範囲を伝える重要なファイルです。適切に設定すれば、SEO効果を高め、不要なページのクロールを防ぐことができますが、しかし、誤設定は全ページの除外など重大な影響を及ぼすこともあります。基本構文と設置場所をきちんと理解し、Search Consoleなどで定期確認を行ないながら、安全で効率的なSEO運用を行ないましょう。