robots.txtとは?SEOへの影響や使用する場面、設置方法などをわかりやすく解説
robots.txtは、検索エンジンのクローラーをコントロールすることで、クローラビリティを向上させたり、サーバーの負荷軽減を図ったりする際に使用します。
サイト運営者なら知っておきたいrobots.txtの使い方や、作り方、書き方、設置方法についてご紹介します。
目次
robots.txtとは
robots.txtは、クローラーを制御するためのファイルです。クローラーにアクセスして欲しくないページを、robots.txtを用いてクロールされないようにすることで、重要なページへの巡回を優先させたいときに使用します。
また、クローラーに対してsitemap.xmlの場所を伝えることもできます。
クローラーがサイトにアクセスした際に、最初に読み込むのがrobots.txtになるため、記述を間違えると、サイト内のページがクロールされず、検索結果にページが表示されなくなるなどのリスクがあります。
robots.txtは設置が必須というわけではないので、使い方が不明瞭な場合や、クローラーをブロックする必要がない場合は、無理に設置をする必要はありません。
robots.txtを使う主な場面
robots.txtは設置が必須ではないと言いましたが、それでは、どんな状況のときに使用するとよいのかを見ていきましょう。
ログインが必要なページのクロールを拒否する
IDやパスワードを入力してログインが必要となるような会員向けページは、インデックスをさせる必要がないため、robots.txtで対象ディレクトリのクロールをブロックしておくとよいでしょう。
また、同様にWordpressの管理画面のログインURLなども、検索エンジンにクロールさせる必要はないので、あらかじめブロックしておくと、無駄なクロールを省くことができます。
ショッピングカード内のページ
ショッピングカート内の決済プロセスで、毎回URLが変わる場合などは、クローラーの巡回によってサーバー負荷が増えてしまうことが考えられるため、robots.txtでクローラーを制御します。
動画や画像、PDFファイル等のインデックス拒否
noindexを目的にrobots.txtを使用することはGoogleから推奨されていませんが、noindexの設定ができない動画や画像、音声、PDFファイルなどをインデックスさせたくないときに、robots.txtを使用します。
参考:robots.txt の概要とガイド | Google 検索セントラル
robots.txtを適切に設定するとSEOに良い影響を得られる
robots.txtの適切な設定はSEOに良い影響を得られます。前述したとおり、robots.txtを用いると、重要なページへ効率的に巡回を優先させることが可能です。
サイト運営をしていると、ユーザーやクローラーに対して見てもらう必要のないページも出てきてしまいます。そのようなコンテンツをクロールしてもらうよりは、重要なコンテンツを優先的にクロールしてもらう方が早くインデックスしてもらえたり、評価してもらえたりと効率的な運用が可能になります。
とくにページ数が1万から100万、それ以上の中規模・大規模サイトにおいてはクロールの制御が必要不可欠です。Googlebotが1つのサイトをクロールできる時間には限りがあるため、robots.txtの設定が役立ちます。
なお、robots.txtの実装を一歩間違えると、SEOに多大なダメージを与えることにもなりかねない為、注意しながら設定を行いましょう。
>>>コンテンツSEOとは?取り組むメリットと事例に見る効果を出す対策内容
robots.txtの型
robots.txtにはいくつかの型(種類)があります。それぞれ制御できるものが異なるため、理解しておくとよいでしょう。型は以下の4種類に分けられます。
- User-Agent
- Disallow
- Allow
- Sitemap
それぞれくわしく解説していきます。
User-Agent
User-Agentは、特定のクローラーの動きを制御したいときに使用します。たとえば、Googlebotにはサイトを認識してほしいが、bingには認識してほしくないというときにrobots.txt内でUser-Agentを指定すると、制御することが可能です。
ただ、特定の検索エンジンに認識しないよう設定をすることはほとんどないため、何かしら特別な理由がない限りは全ての検索エンジンのクロールを指定することが一般的でしょう。
User-Agentの記述例は以下を参考にしてください。
【例】
User-agent: * (すべてのクローラーを対象)
User-agent:User-agent: Googlebot (Google検索のクローラーを対象)
また、ユーザーエージェントの一覧は以下のとおりです。
- Google:Googlebot
- Yahoo!Japan:Y!J
- Bing:bingbot
- MSN:msnbot
- Baidu:Baidu
- Twitter:Twitterbot
- Facebook:facebookexternalhit
Disallow
Disallowは、クローラーが特定のファイルやフォルダにアクセスしないよう制限するために使用します。検索エンジンの検索結果に表示してほしくないコンテンツがある場合は、Disallowを設定するとよいでしょう。
また、検索結果に表示させないという指示は、Disallow以外にmetaタグのNoindexがあります。両者の違いは以下のとおりです。
Disallow | Noindex | |
検索結果 | 表示されない | 表示されない |
クローラー | クロールする | クロールしない |
ページランク(※)の譲渡 | 譲渡しない | 譲渡する(一定期間) |
クロールの制限をしたい場合はDisallow、そうではない場合はNoindexと使い分けるようにしましょう。
Disallowの記述例は以下を参考にしてください。
【例】Wordpressの管理画面のURLをクロール拒否する場合
User-agent: *
Disallow: abc.com/wp-admin/
【例】すべてのPDFファイルを拒否する場合
User-agent: *
Disallow: /*.pdf
Allow
Allowは、Disallowと反対にクロールを許可するページを指定するために使用します。基本的に、アクセス拒否の記述がなければ、クロールされるので記述する必要はありません。
一部のディレクトリ全体を拒否し、そのディレクトリ内の1部のページだけはクロールさせたい場合などに、Allowを使用します。
Allowの記述例は以下を参考にしてください。
【例】/abc/はクロールをブロックし、/abc/manual/のみクロール許可する場合の記述
User-agent: *
Disallow: /abc/
Allow: /abc/manual/
Sitemap
Sitemapの役割は、クローラーがクロールしやすいように、サイト内の構造を伝える役割を担っています。必ずしも、記述する必要はありませんが、クローラーが早くサイトを巡回してくれるため、デメリットも無いことから記述しておくとよいでしょう。
Sitemapの記述例は以下を参考にしてください。
【例】
User-agent: *
Sitemap: https://abc.com/sitemap.xml
記述は絶対URLで指定するようにしましょう。
robots.txtの書き方・確認方法
ここまで、robots.txtがどういう役割を担っているのか、基本的な型について紹介をしてきました。ここからは、robots.txtを記述する際の順番や、記述を確認する方法、ファイルの設置方法をそれぞれ解説していきます。
1.robots.txtファイルの書き方
robots.txtをUser-Agentから順に記述していきましょう。具体的な例としては以下のような形となります。
User-agent: *
Disallow: /wp-admin/
Allow:/wp-admin/admin-ajax.php
Disallow: /directory1/
Sitemap: https://www.example.co.jp/sitemap.xml
・解説
User-agent: *:すべての検索エンジンのクロールを許可
Disallow: /wp-admin/:Wordpressの管理フォルダ内のクロールは不可
┗Allow:/wp-admin/admin-ajax.php:ただし、admin-ajax.phpは許可
Disallow: /directory1/:さらにこのコンテンツへのクロールは不可
Sitemap: https://www.example.co.jp/sitemap.xml:最後にサイトマップの場所を記述
2.robots.txtの記述を確認する方法
robots.txtの記述を確認する方法は2通りあります。まずひとつめは「Google Search Console」を使用する方法です。
Google Search Consoleには、robots.txt ファイルを確認できる項目が用意されています。確認方法は以下のとおりです。
- Search Consoleにアクセス
- 設定をクリック
- クロール欄「robots.txt」のレポートを開くをクリック
Search Consoleでは、前回のクロール日、発生した警告やエラーを確認することができるため、robots.txtの設定後はこちらを確認するとよいでしょう。
もうひとつの確認方法が、URLの末尾に「robots.txt」と入力しそのまま検索する方法です。Search Consoleのようにクロール日やエラーなどは確認ができませんが、記述された内容を手っ取り早く確認するならこの方法がよいでしょう。
「https://example.co.jp/robots.txt」このような形で検索すると、robots.txtの記述内容を確認することが可能です。
3.ファイルの設置方法
メモ帳などで、robots.txtという名前でファイルを保存し、FTPソフト等でルートディレクトリ(TOPページと同じ階層)にアップロードすれば、検索エンジンから認識されるようになります。
- ファイル名は「robots.txt」※robot.txtではありません。
- UTF-8でエンコードされた書式なしのプレーンテキスト
- BOMは無し(BOMを設定しても無視されます)
- 改行文字はCR、CR/LF、LFのいずれかを使用
- 最大ファイルサイズは500KiB(512KB)
robot.txt はアップロード後、すぐに修正が反映されるわけではありません。なるべく早く反映させたい場合は前述した「robots.txtテスター」から、更新をリクエストするようにしましょう。
robots.txtの注意点
robots.txtは使い方を誤ると、検索結果に表示されなくなるなど、致命的な問題となることもあります。ここではrobots.txtを使ううえでの注意点を取り上げています。
全てのクロールをブロックしないように注意
robots.txtの記述で最もやってはいけないことは、全ての検索エンジンのロボットに対して、全ページのクロールを拒否することです。
特定のクローラーがサーバーに負荷をかけている場合は、そのクローラーに対して巡回拒否をすることはありますが、全てのクローラーをブロックしてしまわないように注意しましょう。
インデックスを拒否する目的で使用しない
robots.txtは、クローラーを制御するためのファイルです。検索エンジンに表示させない(インデックスさせない)目的で、robots.txtを使用してはいけません。
検索エンジンに表示させたくないページは、noindexタグを用いて、インデックスをブロックします。
noindexしているページへのクロールを拒否しない
noindexを設定しているページへのクロールを拒否してしまうと、クローラーがnoindexの設定を確認しにいくことができません。
すでに、インデックスされているページを、noindexに設定したとしても、robots.txtでクローラーを拒否していると、クローラーがnoindexに気が付かず、いつまでも検索結果に表示され続けることになります。
CSSやJavaScriptはブロックしない
現在のGoogleはCSSやJavaScriptを読み込んで、ページをレンダリングするので、ページの生成に必要なファイルはブロックしないようにします。
robots.txtの指示は絶対ではない
GoogleやYahoo!などのクローラーは、基本的にrobots.txtの指示を守ってくれますが、そうではないロボットもたくさんあります。robots.txtで拒否したから絶対にクロールされないというわけではないことは覚えておきましょう。
robots.txtを使用してクローラビリティを向上させる
robots.txtを設置することで、クロールの必要のないページや、重要度の低いページへのクロールを制御し、重要なページを優先してクロールさせるように促すことができます。
ページ数の多いサイトであれば、クローラビリティを向上させる一環として、robots.txtの設置が効果的です。
クロールの最適化が、直接検索エンジンのランキング要因にはなりませんが、クロールされ、ページがインデックスされて、はじめて検索結果に表示されるようになります。そして、間接的にSEOにプラスに働く可能性はあるので、ある程度規模の大きなサイトであれば、クローラビリティのためにrobots.txtを活用していきましょう。
RANKING ランキング
- WEEKLY
- MONTHLY
UPDATE 更新情報
- ALL
- ARTICLE
- MOVIE
- FEATURE
- DOCUMENT