「robots.txtを正しく設定できていますか?」
この質問に自信を持って「Yes」と答えられるWeb担当者は意外と少ないかもしれません。robots.txtは、SEOの内部対策の中でも特に重要なファイルでありながら、その役割や正しい設定方法が曖昧なまま放置されがちです。
この記事では、robots.txtの基本から、SEO効果を高めるための実践的な使い方まで、日本一のマーケターが徹底的に解説します。
1. robots.txtとは?SEOにおける重要な役割を理解する
1-1. robots.txtの基本:検索エンジンの「通行許可証」
robots.txtは、検索エンジンのクローラー(Googlebotなど)に対して、サイト内のどのページをクロールして良いか、どのページをクロールしてはいけないかを指示するテキストファイルです。Webサイトのルートディレクトリに配置されます。
人間で例えるなら、サイトを訪れたクローラーに対して「ここは入っていいですよ」「ここは立ち入り禁止です」と伝える**「通行許可証」**のようなものです。
1-2. なぜrobots.txtが必要なのか?クロールバジェットの最適化
検索エンジンは、クロールできるページ数に限りがあります。これを**「クロールバジェット」**と呼びます。
特にページ数の多い大規模サイトでは、クローラーがサイト内のすべてのページをすぐにクロールすることはできません。もしrobots.txtで不要なページ(管理画面、会員情報、検索結果ページなど)をブロックしないと、クローラーはこれらの無駄なページにクロールバジェットを消費してしまいます。
その結果、本当に重要なページ(商品ページ、コラム記事など)のクロールが後回しになり、インデックスに時間がかかるといった事態が起こり得ます。
robots.txtを正しく設定することで、このクロールバジェットを最適化し、重要なページにクローラーのリソースを集中させることができます。
1-3. robots.txtとnoindexタグ(meta robots)の決定的な違い
robots.txtとよく混同されるのが、HTMLの<head>
セクションに記述するnoindexタグです。これら二つは似て非なるものです。
robots.txt | noindexタグ | |
指示対象 | クローラー | クローラー |
指示内容 | クロールを許可/拒否 | インデックスを許可/拒否 |
効果 | クロールさせないことで、インデックスもされにくくなる | クロールは許可し、インデックスさせない |
主な用途 | サーバー負荷軽減、クロールバジェット最適化 | インデックスさせたくないページ |
記述場所 | Webサイトのルートディレクトリ | ページのHTMLファイル <head> セクション内 |
robots.txtは「ここに入らないでください」と指示するものであり、noindexタグは「ここは入っていいですが、インデックスしないでください」と指示するものです。
誤ってrobots.txtでページをDisallow
(クロール拒否)設定すると、noindexタグがクローラーに認識されなくなり、結果としてインデックスが削除できなくなるという致命的な問題が発生します。
不要なページをインデックスから除外したい場合は、noindexタグを使用するのが原則です。
2. robots.txtのSEO効果|正しく設定して評価を高める
robots.txtを正しく設定することで、以下のようなSEO効果が期待できます。
2-1. 重要なページへのクロールを促進し、インデックスを早める
robots.txtで不要なページへのクローラーのアクセスをブロックすることで、クロールバジェットが節約され、本当に重要なページにクローラーが頻繁に訪れるようになります。これにより、新規ページのインデックス登録が早まり、検索結果に表示されるまでの時間が短縮されます。
2-2. 不要なページのクロールを制限し、サーバー負荷を軽減
クローラーはサーバーに一定の負荷をかけます。特に、更新頻度が高く、ページ数の多い大規模サイトでは、クローラーによるアクセスがサーバー負荷の原因となることがあります。robots.txtでクローラーのアクセスを制御することで、サーバーへの無駄な負荷を軽減し、サイトの表示速度を安定させることができます。
2-3. クロールバジェットを最適化する具体的なメリット
- 無駄なクロールを削減し、重要なページへのクロールを優先できる。
- サイトのインデックス状況を改善し、SEOパフォーマンスを向上させる。
- サーバー負荷の軽減につながり、サイト全体のパフォーマンスが向上する。
3. robots.txtの正しい書き方と基本ルール
robots.txtファイルは、いくつかの「ディレクティブ」と呼ばれる命令文で構成されています。
3-1. 必須ディレクティブ「User-agent」と「Disallow」
- User-agent: どのクローラーに対して指示を出すかを指定します。
*
はすべてのクローラーを意味します。 - Disallow: クロールを拒否するディレクトリやファイルパスを指定します。
記述例:
User-agent: *
Disallow: /wp-admin/
これは「すべてのクローラーに対して、/wp-admin/
ディレクトリ以下をクロールしないでください」という指示になります。
3-2. 知っておくべきディレクティブ「Allow」と「Sitemap」
- Allow:
Disallow
で指定したディレクトリ内の一部をクロールさせたい場合に利用します。 - Sitemap: XMLサイトマップの場所をクローラーに伝えます。この記述があると、クローラーはサイトマップに記載されたURLを効率的に見つけやすくなります。
3-3. 記述例から学ぶ実践的な書き方
サイト全体のクロールを許可する場合
最も一般的な形で、サイト全体をクロールさせたい場合に記述します。
User-agent: *
Disallow:
管理画面やテストページをクロールさせない場合
WordPressの管理画面など、インデックスされたくないディレクトリをブロックします。
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /test/
特定のファイルをクロールさせない場合
個人情報を含むファイルやPDFなどをインデックスさせたくない場合に有効です。
User-agent: *
Disallow: /private.pdf
複数のサイトマップを記述する場合
サイトの規模が大きく、複数のサイトマップを運用している場合に役立ちます。
User-agent: *
Disallow:
Sitemap: https://www.example.com/sitemap_1.xml
Sitemap: https://www.example.com/sitemap_2.xml
4. robots.txtを設定・確認する際の注意点
4-1. robots.txtを設置する場所とファイル名
ファイル名は必ずrobots.txtとし、Webサイトのルートディレクトリに設置します。
誤った設置例:
https://www.example.com/blog/robots.txt
https://www.example.com/robtos.txt
4-2. robots.txtテスターで設定ミスを防ぐ方法
Google Search Consoleの**「robots.txtテスター」**を利用すれば、設定した内容が正しく機能するかを事前に確認できます。
- Google Search Consoleにログイン
- 「設定」>「robots.txtテスター」を選択
- robots.txtの内容を貼り付け、テスト
4-3. 誤った設定がもたらす致命的な影響
robots.txtの設定ミスは、深刻なSEOペナルティを引き起こす可能性があります。
Disallow: /
と設定すると、サイト全体がクロールされなくなり、検索結果からすべてのページが消えてしまいます。- 重要なCSSやJavaScriptをブロックしてしまうと、ページの描画が正しく行われず、Googleにコンテンツの質を低く評価される可能性があります。
設定を更新した後は、必ずテスターで確認する習慣をつけましょう。
4-4. robots.txtとnoindexの使い分けを再確認
使用するケース | robots.txt | noindex |
クロールさせたくない | ◯ | ✕ |
インデックスさせたくない | ✕(noindexタグが認識されないため) | ◯ |
クロール負荷を軽減したい | ◯ | ✕ |
一時的に非公開にしたい | ✕ | ◯ |
インデックスさせたくないがクロールは許可するべきページ(例:サンクスページ、会員登録ページなど)には、robots.txt
ではなくnoindex
タグを使用しましょう。
5. まとめ:robots.txtは大規模サイトのSEOに不可欠な内部対策
robots.txtは地味な存在かもしれませんが、大規模サイトを効率的にクローラーに評価してもらうための必須のSEO内部対策です。
この記事の内容を参考に、robots.txtの役割を正しく理解し、ご自身のサイトに最適な設定を見直してみてください。