robots.txtは、特定のWebページへのクロールを禁止するテキストファイルです。重要度の低いページへのクロールを拒否することで、SEOの最適化を促せます。
しかし、robots.txtについて、あまり馴染みがない方もいるでしょう。
本記事では、robots.txtの基本的な機能や活用方法、注意点について解説します。SEOの最適化を図りたいWeb担当者は、ぜひ参考にしてください。
目次
robots.txtとは?
robots.txtは、クローラーの動作を制限するテキストファイルのことです。
クローラーとは、インターネット上のWebページを巡回して情報を取得するプログラムを指します。クローラーの目的は、高品質なページをランク付けすることです。
サイト内を巡回して、インデックス登録をしたり、検索順位を決定したりするための情報を収集します。
しかしrobots.txtを設定することで、指定されたページやサイトにクローラーが訪れなくなります。
robots.txtの仕組み
robots.txtの役割は、検索エンジンに対し、クロールしてよいWebページを伝えることです。クローラーは、定期的にWeb上を巡回してサイトにアクセスします。
しかし、robots.txtが設定されているサイトやページに対しては、クローラーが訪れなくなります。
なぜなら、検索エンジンがサイト上のルートディレクトリにアップロードされているrobots.txtから、アクセス可否に関する指示を読み取るためです。
このようにrobots.txtファイルを通して、クロールへのアクセス制限ができるのです。
robots.txtを使用する目的
robots.txtを使用する主な理由は、Webサイトにページが増えてきた際、重要度の低いページへのクロールを制限するためです。Webサイトの規模が大きくなるにつれリンクの階層も深くなり、末端のページがクロールされにくくなる問題があります。
しかし、robots.txtを使うことで特定のページが見つけやすくなり、クローラービリティの向上が図れるようになります。
またサイトの評価を下げないための施策として、低品質なコンテンツやユーザーにとって有益でないページにrobots.txtが使われることも。必要に応じてrobots.txtを活用することで、評価させたいページへのクロールを促し、SEOの最適化につなげられるのです。
noindexとの違い
robots.txtと類似の概念に、noindexが挙げられます。
noindexとは、特定のページのインデックスを拒否するメタタグのことです。noindexを設定すれば、クローラーの巡回はされるものの、インデックスされなくなります。
それに対し、クローラーの来訪そのものを拒否するのがrobots.txtです。補足として、いずれの場合もURLをアクセスバーに入力すれば、ページの閲覧は可能です。
閲覧を拒否したい場合は、パスワード認証などの設定が必要となります。
robots.txtを設定する手順
robots.txtは、下記の手順で設定します。
- ベースとなる形式を記述
- 制限するクローラーを記述
- 動作を確認
- サーバーにアップロードして設定完了
それぞれの手順を確認していきましょう。
ベースとなる形式を記述
Webサイトでは、下記の要素が基本構成となります。
- User-agent
- Disallow
- Allow
User-agentで制御の対象となるクローラーを指定し、Disallowがクロールを拒否するWebページのURLを記述します。
Allowを使用することで、Disallowで拒否したディレクトリ内のWebページからクロールさせたいURLを設定可能です。
また、サイトマップに対象のWebサイトのURLを記載すれば、クロール速度の向上が図れます。
制限するクローラーを記述
User-agentを活用して、クロール制御に用いるクローラーを指定します。
ほとんどのWebサイトの場合、全てのクローラーを対象とする「User-agent:*」のようなアスタリスク表記がされています。
特定のクローラーを指定する場合は、「User-agent:Googlebot」と記述しましょう。検索媒体の指定は、下記のように個別で設定できます。
- Google:Googlebot
- Bing:Bingbot
- 百度(Baidu):Baidu
次にDisallowで、クローラーがアクセスできないページやディレクトリを指定します。
たとえば「Disallow: /private/」は、”/private/”ディレクトリへのアクセスを禁止するコードです。これにより、指定したクローラーがディレクトリにアクセスできなくなります。
動作を確認
コードの記述が完了したら、動作確認を行います。
Google Search Console内の「robots.txtテスター」を利用して、コードの成否やクロールが拒否されているか確認しましょう。
入力したコードとクロール拒否したいURLを記述し、「ブロック済み」という表示が出ていれば作成コードが正しいと判断できます。
サイトにアップロードして設定完了
動作が確認できたら、robots.txtをWebサイトにアップロードして設定完了です。
正しくアップロードするために、ファイル名を「robots.txt」として忘れずに拡張子をつけてください。またアップロードする際は、ルートドメインとサブドメインの違いに注意しましょう。
ルートドメインとは、Webページの階層の内の最上位に位置するものを指します。たとえば、「example.com」のようなドメインがルートドメインで、サブドメインとは「example.xxx.com」のようなイメージです。
サブドメインは、運営元は同一であるものの、ルートドメインから派生した別のコンテンツのドメインであることが特徴です。
間違ってアップロードしてしまうと、robots.txtファイルが正しく機能しないため、注意してください。
robots.txtの基本の書式
robots.txtで使用される書式は、下記3つがデフォルト設定として記述されています。
- User-agent
- Disallow
- Allow
それぞれ詳しく解説します。
User-agent
User-agentは、Webサイトをクロールするクローラーを指定するコードです。
デフォルトの状態では「User-agent:*」と記載されていますが、これはすべてのクローラーに対してクロールを許可しているという意味です。
指定するクローラーには、GoogleやBingなどの検索媒体による違いと、Google検索の中でAdSense用や画像用などのサービスによる違いがあります。Googleを例にすると、下記の通りです。
- パソコン用・スマートフォン用:Googlebot
- 画像用:Googlebot-Image
- AdSenseクローラー:Mediapartners-Google
Googleからのクロールをすべて拒否したい場合は、「Googlebot」と記載すれば、完全にブロックできます。
Disallow
Disallowは、クロールを制御するページを指定するコードです。指定するページは、下記のように粒度を調整できます。
- Disallow:/(サイト全体を指定)
- Disallow:/xxx/(ディレクトリを指定)
- Disallow:/xxx/yyy.com(特定のページを指定)
デフォルト設定では、すべてのページがクロールされてしまうため、上記のように制限する必要があります。
Allow
Allowは、Disallowにより拒否したディレクトリの中から、クロールさせたいページを指定するために利用します。Allowの活用例は下記の通りです。
- Disallow:/
- Allow:/xxx/
上記のコードの場合、「/xxx/」以降のページはすべてクロールされ、その他のページは拒否される設定となります。制限したい内容にもとづいて、適切にコードを記述しましょう。
robots.txtの注意点
robots.txtを活用する上で、注意しておきたい点が下記の3つです。
- ユーザーは指定ページにアクセス可能
- サイト全体のクロールを拒否しないように設定する
- 内容反映までに時間がかかる
注意点を踏まえて、robots.txtを活用しましょう。
ユーザーは指定ページにアクセス可能
robots.txtは、クロールを制御するためのテキストファイルです。したがって、どのユーザーでもページの閲覧自体は可能です。
ページの閲覧も制限したい場合は、ブラウザの設定を活用したりアクセス制限をかけたりするなど、別途対応が必要となります。
サイト全体のクロールを拒否しないように設定する
クロールを制限する際、サイト全体を対象としないように注意が必要です。
サイト全体のクロールを拒否してしまうと、インデックス登録が行われなくなり、訪問者のアクセス数が減少する恐れがあります。
robots.txtの目的は、あくまで重要性の低いページへのクロール制限です。そのため、上述のDisallowやAllowを使い、クローラービリティを向上させたいWebサイトに絞って設定しましょう。
内容反映までに時間を要する
robots.txtは、アップロードしてから反映までに時間を要します。
たとえばGoogleの場合は、24時間おきにrobots.txtの内容を更新します。即時に反映されるわけではないため、時間軸も念頭に置いて設定しましょう。
まとめ:検索エンジンのクローラーを制御して最適なSEOを実現しよう
robots.txtの設定は、運営するWebサイトの規模が大きくなってきた際に役立ちます。機能や目的を理解し、クローラーを適切に制御することで、サイト改善につながるでしょう。
最適なSEOを実現するために、robots.txtを上手く活用してみてください。
弊社のSEOサービス「ランクエスト」では、お客様ごとに専任のコンサルタントがつき、戦略立案からコンテンツ制作、効果測定まで、すべて対応いたします。SEO対策にお悩みの方は、お気軽にご相談ください。