robots.txtファイルは、検索エンジンのクローラー(ボット)にWebサイトのクロールに関する指示を出すための重要なファイルです。適切に設定することで、WebサイトのSEO効果を高めるだけでなく、クローラーによる無駄なクロールを防ぎ、サーバーの負荷を軽減することもできます。
特に、大規模サイトと言われるポータルサイトやアグリゲーションサイトを運用している場合、クローラーは全てのページを回り切ることができません。クローラーにもサイトを読み込むことができる範囲にも限界(=クロールバジェット)があります。
そうした際に、robots.txtファイルは役に立ちます。具体的には以下のような狙いがある際に
この記事では、以下の内容について解説していきます。
- robots.txtファイルの基本的な役割と書き方
- Google公式が推奨する書き方と記述例
- robots.txtファイルを使用する具体的なシーン
- 作成したrobots.txtファイルの確認方法
この記事を読むことで、robots.txtファイルの重要性を理解し、適切に設定することで、WebサイトのSEO対策をさらに効果的に進めることができるでしょう。
robots.txtファイルとは?
robots.txtファイルは、Webサイトのルートディレクトリに設置されるテキストファイルで、検索エンジンのクローラー(ボット)に対して、Webサイト内のどのページをクロールしても良いか、またはクロールしてはいけないかを指示するためのものです。

ポータルサイトやアグリゲーションサイトのような大規模サイトなでは、ページ数が多くクローラーが回りきれません。このクローラーが回ることができる上限をクロールバジェットと言います。
そうした際に、クローラーをコントロールできるrobots.txtは役に立ちます。例えば、サイト上で重要ではないページや重複コンテンツに対して設定をしておけば、クロールバジェットを節約することができます。
Google のクローラーからのリクエストによってサーバーが過負荷になっていると考えられる場合に、ウェブページ(HTML や PDF など、メディア以外の Google が読み取れる形式)に対して robots.txt ファイルを使用することで、クロール トラフィックを管理できます。また、サイト上の重要でないページや類似したページのクロールを防ぐこともできます。
引用元:robots.txt の概要|Google検索セントラル
クローラーは、Webサイトを訪問する際に、まずrobots.txtファイルを読み込み、その指示に従ってクロールを行います。robots.txtファイルに適切な指示を記述することで、クローラーの行動を制御し、WebサイトのSEO効果を高めることができます。
robots.txtファイルを使用する目的
robots.txtファイルは、WebサイトのSEO対策において重要な役割を果たします。robots.txtファイルを使用する主なシーンは以下の通りです。
目的①|クロール負荷の軽減
大規模なWebサイトでは、すべてのページをクロールさせるのは非効率です。robots.txtファイルで特定のディレクトリやファイルをクロール対象外にすることで、クローラーの負荷を軽減し、重要なページのクロールを優先させることができます。
例えば、以下のような検索結果に表示する必要のないページをクロール対象外にすることができます。
- 管理画面
- 会員限定ページ
- 重複コンテンツ
これにより、クローラーはより効率的にWebサイトをクロールし、重要なページのインデックスを促進することができます。
目的②|サイトマップの場所を伝える
robots.txtファイルでSitemapディレクティブを使用することで、サイトマップの場所をクローラーに伝えることができます。
サイトマップは、Webサイトの構造を検索エンジンに伝えるためのファイルであり、クロール効率を向上させるために役立ちます。例えば、以下のように記述することで、クローラーにサイトマップのURLを伝えることができます。
Sitemap: https://www.example.com/sitemap.xml
目的③|特定のコンテンツへのアクセス制限
robots.txtファイルでDisallowディレクティブを使用することで、特定のファイル(画像、PDFなど)やディレクトリへのクローラーのアクセスを制限することができます。
例えば、以下のように記述することで、すべてのクローラーに対して、/images/
ディレクトリ以下の画像ファイルへのアクセスを拒否するように指示できます。
User-agent: *
Disallow: /images/
目的④|インデックス制御
robots.txtファイルでnoindexディレクティブを使用することで、特定のページを検索エンジンのインデックスから除外することができます。インデックスから除外されたページは、検索結果に表示されなくなります。
例えば、以下ように記述することで、すべてのクローラーに対して、/private-page.htmlへのアクセスを拒否し、インデックスさせないように指示できます。
User-agent: *
Disallow: /private-page.html
ただし、noindexディレクティブは、ページをインデックスから除外するための指示ですが、ページが既にインデックスされている場合は、削除されない場合があります。
【Google公式】robots.txtの書き方
Googleは、robots.txtファイルの書き方について、公式ガイドラインを公開しています。ここでは、Google公式が推奨するrobots.txtファイルの書き方について解説します。
- 項目①|ファイル名
- 項目②|設置場所
- 項目③|ファイル形式
- 項目④|ディレクティブ
項目①|ファイル名
robots.txtファイルのファイル名は、必ず robots.txt
とする必要があります。これは、検索エンジンのクローラーがWebサイトを訪問した際に、最初に探すファイル名だからです。ファイル名に大文字や小文字を使用することはできません。必ずすべて小文字で記述しましょう。
また、ファイル名は1つに統一する必要があります。複数のrobots.txtファイルが存在すると、クローラーが混乱し、意図した通りにクロールされない可能性があります。
項目②|設置場所
robots.txtファイルは、Webサイトのルートディレクトリ(トップページと同じ階層)に配置する必要があります。ルートディレクトリとは、Webサイトのファイルが保存されている最上位のディレクトリのことです。
例えば、https://www.example.com/
というWebサイトの場合、robots.txtファイルは https://www.example.com/robots.txt
に設置します。サブディレクトリにrobots.txtファイルを配置しても、正しく認識されないため、必ずルートディレクトリに設置しましょう。
項目③|ファイル形式
robots.txtファイルは、UTF-8エンコードのテキストファイル形式で保存する必要があります。UTF-8は、世界中で広く使われている文字コードであり、日本語の文字も問題なく表示できます。
BOM(Byte Order Mark)付きのUTF-8は使用しないようにしましょう。BOMは、テキストファイルの先頭に付加される数バイトのデータで、一部のクローラーが正しく認識できない場合があります。
項目④|ディレクティブ
robots.txtファイルにおいて、ディレクティブとは、検索エンジンのクローラーに対する具体的な指示のことです。
robots.txtファイルは、ディレクティブを記述することで、クローラーの行動を制御し、Webサイトのクロールやインデックスを管理することができます。robots.txtファイルは、以下のディレクティブで構成されます。
ディレクティブ | 説明 |
---|---|
User-agent | どのクローラーにルールを適用するかを指定します。「*」を指定すると、すべてのクローラーに適用されます。 |
Allow | クロールを許可するURLパターンを指定します。 |
Disallow | クロールを拒否するURLパターンを指定します。 |
Sitemap | サイトマップのURLを指定します。 |
それぞれのディレクティブは、以下のように記述します。
User-agent: [クローラー名]
Allow: [許可するURLパターン]
Disallow: [拒否するURLパターン]
Sitemap: [サイトマップのURL]
robots.txtの記述例
robots.txtファイルの記述例を紹介していきます。
例①| 全てのクローラーに対して特定のディレクトリへのアクセスを拒否する
このrobots.txtファイルは、WordPressサイトの管理画面(/wp-admin/)とCGIスクリプトのディレクトリ(/cgi-bin/)を、全ての検索エンジンのクローラーがクロールしないように指示するものです。
「User-agent: *」は、全てのクローラーが対象であることを意味し、「Disallow: /wp-admin/」と「Disallow: /cgi-bin/」は、それぞれのディレクトリとその配下へのアクセスを禁止する指示です。
これらのディレクトリには、一般公開する必要のない情報やセキュリティ上重要な情報が含まれている可能性があるため、クロールを拒否することで、情報漏洩やセキュリティリスクを軽減できます。
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
例①|例2: 特定のクローラーに対して、特定のページへのアクセスを拒否する
このrobots.txtファイルは、Googleのクローラー「Googlebot」に対してのみ、/secret-page.html
という特定のページへのアクセスを禁止する指示です。
他の検索エンジンのクローラーは、このルールに影響を受けずアクセス可能ですが、Googlebotは /secret-page.html
をクロールせず、Googleの検索結果に表示されなくなります。
会員限定ページや公開準備中のページなど、Google検索結果に表示したくない特定のページがある場合に有効な設定です。
User-agent: Googlebot
Disallow: /secret-page.html
例③|特定のファイル形式へのアクセスを拒否する
このrobots.txtファイルは、全ての検索エンジンのクローラーに対して、サイト内のPDFファイル(.pdf)へのアクセスを禁止する指示です。
「User-agent: 」は全てのクローラーが対象であることを、「Disallow: /.pdf$」はURL末尾が.pdfのファイルへのアクセスを拒否する指示を意味します。
この設定により、PDFファイルは検索エンジンのインデックスから除外され、検索結果に表示されなくなります。サーバー負荷の軽減や、検索結果に表示させたくないPDFファイルがある場合に有効です。
ただし、robots.txtはあくまでクローラーへの「お願い」であり、全てのクローラーが必ずしもこのルールに従うとは限りません。
User-agent: *
Disallow: /*.pdf$
例④|クロール遅延を設定する
このrobots.txt
ファイルは、Bing検索エンジンのクローラー「Bingbot」に対して、Webサイトのクロール間隔を10秒に設定するよう指示しています。
つまり、Bingbotは1ページを読み込むごとに10秒間待機してから次のページへ移動します。
この設定は、主に大規模なWebサイトやサーバーの処理能力が低い場合に、クローラーのアクセス集中によるサーバー負荷を軽減するために利用されます。
注意点として、GooglebotはCrawl-delayディレクティブをサポートしていないため、Googleのクロール速度を制御したい場合は、Google Search Consoleで設定する必要があります。
User-agent: Bingbot
Crawl-delay: 10
この例では、Bingbotに対して、クロール間隔を10秒空けるように指示しています。
例⑤|サイトマップのURLを指定する
このrobots.txtファイルは、全ての検索エンジンのクローラー(*)に対して、サイトマップのURL(https://www.example.com/sitemap.xml)を通知するものです。
「User-agent: *」は全てのクローラーが対象であることを示し、「Sitemap: https://www.example.com/sitemap.xml」はサイトマップの場所を明示しています。
サイトマップは、Webサイトの構造を検索エンジンに伝えるためのファイルであり、クローラーが効率的にページを巡回するのに役立ちます。この設定により、クローラーはサイトマップを参照し、Webサイト内のページを漏れなくクロールできるようになります。
User-agent: *
Sitemap: https://www.example.com/sitemap.xml
robots.txtファイルの確認方法
作成したrobots.txtファイルが正しく機能しているかを確認するには、いくつかの方法があります。ここでは、代表的な3つの確認方法をご紹介します。
- 項目①|ファイル名
- 項目②|設置場所
- 項目③|ファイル形式
- 項目④|ディレクティブ
確認法①|直接URLにアクセス
最も簡単な確認方法は、ブラウザで直接robots.txtファイルのURLにアクセスする方法です。
確認したいWebサイトのURLの末尾に「/robots.txt」を追加してアクセスします。例えば、https://www.example.com/
というWebサイトのrobots.txtファイルを確認したい場合は、https://www.example.com/robots.txt
にアクセスします。
robots.txtファイルが正しく設置されていれば、ブラウザ上にファイルの内容が表示されます。
確認法③|Google Search Consoleを利用
Google Search Consoleに登録しているWebサイトであれば、「URL検査」ツールを使ってrobots.txtファイルの内容を確認できます。
- Google Search Consoleにログインし、対象のWebサイトを選択します。
- 上部の検索バーに「/robots.txt」と入力し、Enterキーを押します。
- 「URL検査」の結果ページが表示され、robots.txtファイルの内容を確認できます。
また、「カバレッジ」レポートの「除外」タブで、「robots.txt でブロックされたページ」として表示されているページを確認することもできます。
確認法③|FTPソフトを利用
FTPソフトを使ってWebサーバーに接続し、ルートディレクトリにあるrobots.txt
ファイルを直接開いて確認することもできます。FTPソフトは、FileZillaやWinSCPなど、様々な種類があります。
FTPソフトでサーバーに接続し、ルートディレクトリ(通常はpublic_html
)を開くと、robots.txt
ファイルを見つけることができます。この方法では、robots.txtファイルの内容を直接編集することも可能です。
まとめ
robots.txtファイルは、検索エンジンのクローラーにWebサイトのクロールに関する指示を与えるためのファイルです。
robots.txtファイルは、SEO対策において重要な役割を果たします。この記事で紹介した内容を参考に、robots.txtファイルを適切に設定し、WebサイトのSEO効果を高めていきましょう。
また、robots.txtファイルの設定は、検索エンジンのガイドラインに準拠している必要があります。ガイドラインに違反する設定を行うと、Webサイトの評価が下がる可能性があるため、注意が必要です。
もし、robots.txtファイルの設定に不安がある場合は、SEO専門家やWebサイト制作会社に相談することをおすすめします。