この記事のポイント
この記事でおさえておきたいポイントは以下です。
-
robots.txtとは
-
robots.txtとは、Webサイトの特定のページを、検索エンジンにクロールさせないためのファイルです。あくまでも巡回されないようにするもので、インデックスそのものを制御するnoindexとは別物です。robots.txtは「インデックスが必要のないページがあるとき」、noindexは「クローラーの巡回を特定ページに集中させたいとき」で、それぞれ使いわけましょう。
-
robots.txtの書き方
-
クローラーを指定する項目で、基本的にはすべてのクローラーを対象とする「*」をつけた書き方をします。Googleの検索エンジンでクロールを受けたくない場合は「Googlebot」と入力すればパソコンとスマートフォン共に巡回されなくなります。 クロールを禁止する「Disallow」、Disallowで指定したディレクトリ配下にある特定ページまたは、サブディレクトリのクロールを支持する「Allow」などのユーザーエージェントトークンを打ち込みます。
-
robots.txtを設定する際の注意点
-
ユーザーがページを閲覧する方法と同じページをレンダリングして表示しているため、JavaScriptやCSSなどのページを生成するためのリソースファイルをブロックしないようにしてください。robots.txtだけですべてのクロールをブロックできないため、外部リンクがないかもしっかりと確認するのが大切です。
Webサイトを運営するからには、どんな企業もSEO対策をしながらコンテンツの上位表示を目指し、適切なクローリングが行われる設計を心がけます。その中でも重要な役割をもつのが、robots txt(ロボッツ・テキスト)です。
robots.txtは、特定のページにクローラーが巡回しないよう、制御または禁止するファイルとして使用されます。そして、クローリングを最適化する方法としてもよく紹介されています。
しかし、評価が必要なコンテンツでなぜクローリングを禁止するのか、どのような時に設定すれば良いのか疑問を抱く方がいらっしゃるかもしれません。
そこでこの記事では、robots txtについて解説すると同時に、noindexとの違いや設定方法についてもまとめています。クローリングが正しく行われるよう対策をとり、コンテンツの上位表示を目指せるよう、ぜひ参考にしてください。
<無料>資料ダウンロード
【基礎編】サイト運営者様必見!SEO対策入門ガイド
〜SEO対策のポイントやメリット・デメリットを分かりやすく解説!〜
目次
robots.txtとは
robots.txtとは、Webサイトの特定のページを、検索エンジンにクロールさせないためのファイルです。コンテンツの中には会員限定ページのように、検索表示を必要としないものも存在します。
そのようなページのクロールを抑止することで、必要な部分にだけ集中して巡回するようにするのが大きな役割といえます。また、robots.txtにはディレクトリを指定して、ディレクトリ配下でブロックできる性質を持っています。
しかし、検索エンジンから非表示にできるnoindexタグが存在するため、「使い分けが分からない」という方がいらっしゃるかもしれません。そのため、次項では2つの違いを解説し、正しく活用できるようにまとめています。
間違った使い方をしてしまわないためにも、noindexとの違いを把握しておきましょう。
robots.txtとnoindexの違い
noindexは、検索エンジンのクローラーに指定したページが、インデックス(検索表示)されないように指示を届けるメタタグを指します。robots.txtの場合はあくまでも巡回されないようにするもので、インデックスそのものを制御するnoindexとは別物です。
巡回を止めても、ユーザーはページを閲覧できますが、インデックスそのものが削除されてしまえば検索結果からはたどり着けません。
さらに、検索エンジンからの評価もされなくなります。
robots.txtとnoindexの使い分け
robots.txtは「インデックスが必要のないページがあるとき」、noindexは「クローラーの巡回を特定ページに集中させたいとき」で、それぞれ使いわけましょう。
しかし、noindexにするとクロールの制御は行われないため、Webサイトの規模が変わるとクロールバジェットが無駄に消費される可能性があります。
一つのサイトに対するクロールの上限「クロールバジェット」がありますが、大規模サイトや、URLパラメーターでURLを自動生成しているサイトなどでない限り、あまり気にする必要はありません。
大半のWebサイトでは、上位表示にもあまり関係しないといわれていますが、サイトが大きくなり始めたらrobots.txtも使ったほうが良いでしょう。
クローラビリティとは?SEO対策で重要な理由と向上の方法を解説
robots.txtでクローリングを最適化する仕組み
ここでは、robots.txtでクローリングを最適化する仕組みについて、その意味とインデックスにつながる流れを解説します。
クローリングの意味
クローリングとは、検索エンジンに搭載されているクローラー(ロボット)が情報を集めることをいいます。
例えば、Webサイトがどのような構成で、どういったテーマを持っているのかなどを調べます。
その分析結果をもとにしながら、Webサイトがガイドラインに反していないかなどを調べるため、監視するための機能ともいえます。集められた情報は、検索エンジンを提供する会社のデータベースに登録され、独自のランキングアルゴリズムが適用されます。
ランキングアルゴリズムの結果、良質でユーザーに有益なサイトだと認められれば、対象のコンテンツが上位表示される仕組みです。
反対に巡回してもらえなければ評価されないため、上位表示を実現するには巡回されやすいサイト設計にしなければなりません。
クローリングとは?スクレイピングとの違いや検索エンジンに重要な対策方法を解説
クローラーの種類と特徴
検索エンジン | 使用するクローラー |
---|---|
Googlebot | |
Yahoo!(※日本を除く) | YahooSlurp |
Bing(マイクロソフト) | BingBingbot |
Safari(Apple) | AppleBot |
Naver | Yetibot |
クローラーは検索エンジンを提供している会社の数だけ種類が存在します。
Googleがモバイル検索時に使用するGooglebot-Mobile、画像検索時のGooglebot-Imageなどもクローラーです。基本的には、被リンクを経由してWebサイトに辿り着くよう設計されていますが、クローリングには上限があります。
上限やランキングアルゴリズムなどは種類ごとで異なりますが、Googleは前述したクロールハジェットと呼ばれる上限値をもとに巡回するのが特徴です。
クローリングを最適化させる意図
「最適化」とは、Webサイトの中で読み取って欲しい情報をクローラーに伝えられるようにすることです。そのほかにも、情報を蓄える作業を効率的にすることで、クローラビリティの向上を目指します。
クローラビリティが向上すれば、ページ全体を読み取るスピードも上がるため、検索結果の上位表示も目指せます。クローリングを最適化させる方法として活用されているのがrobots.txtです。
robots.txtを活用すれば、読み取ってもらう情報と読み取りを回避して欲しい情報を識別してもらえるようになります。そうすれば、不用意な情報をカットできるため、狙った通りにページ内を巡回してもらい、キーワード検索で上位表示を見込める可能性も高まります。
robots.txtで効率的なインデックスにつながる
インデックスとは、検索エンジンがクローラーで集めた情報をデータベースに登録することです。登録された情報は、ユーザーが検索した際に必要な情報を見つけ出し表示するのに活用されます。
もし、Webサイトのインデックスがなければ、検索結果に表示されることはありません。つまり、Webサイトの情報をインデックスできれば、検索結果に表示させやすくなります。
しかし、インデックスに不要な情報が紛れてしまっていては、情報が錯そうしユーザーが目的のページへたどり着かなくなる可能性があります。そのため、robots.txtを適切な場所に設置し、効率的にインデックスできるようにするのです。
robots.txtを設定するメリット
Webサイトにrobots.txtを設定するメリットとして、以下の3つがあげられます。
- 重要なコンテンツだけ集中的にクロールされる
- 画像・動画・音声ファイルなどのインデックスを拒否できる
- XMLサイトマップを伝えられる
1.重要なコンテンツだけ集中的にクロールされる
robots.txtは不要なページを除き、重要なコンテンツだけにクロールを集中させられます。
例えば、ユーザーニーズを満たした情報や、それに関係する問い合わせ、あるいは商品やサービスの購入を誘導する内容です。
企業によって重要な情報は異なりますが、ユーザーにアクセスしてもらう必要性のないページは巡回の妨げになってしまいます。少量であればさほど問題ありませんが、ページが多くなればなるほど、クロールの効率が下がります。
そうならないために、重要度が高いコンテンツを集中して巡回させる仕組みづくりが大切です。
2.画像・動画・音声ファイルなどのインデックスを拒否できる
robots.txtを設置すれば、画像や動画、音声ファイルなどのインデックスも拒否できるようになります。
特に、WebサイトをHTMLで作成する場合、noindexにすれば検索結果に表示されずに済みますが、画像、動画、音声ファイルではタグが設定できないため、robots.txtを必ず使います。
しかし、すでにデータベースに登録されてしまっているものに関しては適用されないため、構成段階で設定するようにしましょう。画像から音声ファイルに至るまで細かく設定し、クローラビリティを向上させられるのはrobots.txtならではの強みです。
3.XMLサイトマップを伝えられる
サイトマップとは、サイトの構造をリスト化して記述したページで、ユーザーの内容理解を促す役割を持っています。また、クローラーがサイトマップを認識できれば、サイト構造の理解を促せます。
例えリンクが設置されていないページであっても、サイトマップでページの存在を認識できるため、より正しい評価へとつながります。つまり、ユーザーとクローラーの両方の理解を高められるサイトマップは、同時に2つのメリットをもたらします。
さらに、便利で使いやすいサイト構造はユーザーファーストの実現にもつながりやすくなります。SEO施策としても、robots.txt内のサイトマップ設定はおすすめです。
サイトマップとは?2種類あるサイトマップの作り方とSEO効果
Webサイト運営者なら誰でも知っているサイトマップですが、何のために必要なのでしょうか?また、XMLサイトマップとHTMLサイトマップのどちらかがあればいいのでしょうか?サイトマップについて基本的なところから解説します。
robots.txtを設定する際のポイント
robots.txtを設定する際の判断ポイントはどこにあるのか、大きく4つに分けて紹介します。該当するコンテンツがあった場合は、robots.txtの設定を積極的に取り入れると良いでしょう。
ページが1万以上あるWebサイトはrobots.txtの設定がおすすめ
1万以上ものページがあるWebサイトの場合、クロールの上限を超えてしまい適切なインデックスが行われなくなる可能性があります。このような更新頻度の高いサイトは、クローラビリティの最大化を行いましょう。
そのため、まずはWebサイト内の情報に優先順位をつけ、重要度が低いと判断したコンテンツはrobots.txtでクロールされないように設定します。
どのようなページを設定すべきか悩む場合は、以下Googleヘルプの記述を参考にすると良いでしょう。
- 検索において重要でないページ
- 情報の並び方が違うだけの同一ページ
- 情報が重複する無限スクロールページ
この時、内容が被っているページがあると、「重複ページのあるサイト」として評価を悪くしてしまうので注意してください。
参考:大規模なサイト所有者向けのクロール割り当ての管理|Google 検索セントラル
重複コンテンツをチェックする方法は?基準や調べ方、対策方法も解説
ページ数が少なく、更新頻度の低いWebサイトはrobots.txtを設定しなくても良い
まだ作成したばかりでページ数が少ないWebサイトや、更新頻度が低いWebサイトであれば、robots.txtを設定しなくても問題ありません。あくまでも、クロール限度を超えてしまう可能性のあるサイトが行う対策です。
もちろん、巡回してほしくないコンテンツがあれば活用できますが、特に必要性もないのに設定していては、作業工程を増やすことになってしまいます。インデックスの範囲が狭まってしまって、サイト表示がされにくくなっては意味がないため、必要な時に活用するのが良いでしょう。
ページを少しずつ増やしていって、似たようなコンテンツが増えたり、情報量が多くなったりし始めたら導入を検討してください。
メディアファイルをインデックス拒否する際はrobots.txtを設定する
Webサイト内に、インデックスを拒否したいメディアファイルがあった場合は、robots.txtを設定しましょう。
メディアファイルとは画像や動画、音声ファイルのことで、前述のとおりこれらのファイルはタグ付けが行えません。
特にGoogleでは、robots.txtでしかメディアファイルのインデックス拒否ができないため、迷わずに使用しましょう。サイトの規模関係なく、必要のないものは早々に設定してしまっても影響はありません。
Search Consoleでエラーが多い場合はrobots.txtを設定する
Google Search Consoleでエラーが多く表示されてしまうページがある場合は、robots.txtの使用がおすすめです。Google Search Consoleでは、エラーが起きるページは「検出-インデックス未登録」と分類されてしまうため、検索結果にページが表示されなくなります。
また、クロールする際に何かしらの問題が発生しているケースもあるので、重要度の高いコンテンツを正しく認識してもらうためにも、クロールされないように設定しましょう。
もし、重要度の高いページがエラー表示されている場合は、改善した後にrobots.txtを外せばクローラーが再度巡回するようになります。
robots.txtの書き方
robots.txtを設定する際の書き方には、以下の5通りがあります。
- User-Agent
- Disallow
- Allow
- Sitemap
それぞれがどのような型なのか、まずは理解することから始めましょう。うまく使い分けられるようになれば、必要のないページのみを表示させないようにできます。
User-Agent
クローラータイプ | 該当する ユーザーエージェントトークン |
---|---|
Googlebot (パソコン・スマートフォン用) |
Googlebot |
Googlebot(画像用) | Googlebot-Image |
AdSense クローラー | Mediapartners-Google |
クローラーを指定する項目で、基本的にはすべてのクローラーを対象とする「*」をつけた書き方をします。
また、クローラーを特定したい場合は、対象のクローラーに該当する「ユーザーエージェントトークン」を打ち込まなければなりません。
ユーザーエージェントトークンとは、クローラータイプを指定する名前のようなもので、以下のような種類があります。
Googleの検索エンジンでクロールを受けたくない場合は、「Googlebot」と入力すればパソコンとスマートフォン共に巡回されなくなります。
Disallow
設定内容 | 記述 |
---|---|
サイト全体のクロールを禁止 | Disallow: / |
単一ページへのクロールを禁止 | Disallow: /[private_file.html] (※[private_file.html]の箇所を対象ページの名前に変更して記述) |
コンテンツのクロールとディレクトリを禁止 | Disallow: /calenda Disallow: /junk/ |
クロールを制御するページを指定する際に用いられる項目で、上記のような記述例を使い分けて使用します。
ページやコンテンツなど非表示にしたい対象にあわせた記述をしましょう。一見すると難しく感じますが、記述方法を覚えてしまえば簡単に設定できます。
Allow
Disallowで指定したディレクトリ配下にある特定ページまたは、サブディレクトリのクロールを支持するための項目です。
特定ページで指定する場合は、ブラウザで表示されるページ名をすべて記述しなければなりません。ディレクトリの場合は、末尾に「/」を記述すれば指定可能です。
しかし、クローラーはデフォルト設定ですべてのページをクロールするように設定されているため、Disallow配下のページをクロールしたいとき以外では使えません。
他のものに比べれば使用頻度も低くなりますが、設定を間違えないようにしましょう。
Sitemap
Webサイトにおいて、robots.txtファイルに該当する場所を教えるための項目です。省略しても問題ないとされていますが、明確に記述しておけば指定したクローラーが素早く巡回する可能性を高められます。
クローラビリティを強化する方法としても効果があるため、記述しておくと良いでしょう。サイトマップの例としては、以下のような書き方をします。
- Sitemap: https://○○○○.com/sitemap.xml
- Sitemap: http://www.○○○○.com/sitemap.xml
robots.txtを設定する際の注意点
最後に、robots.txtを設定する際に注意すべきポイントを4つ紹介します。間違った使い方をしてしまうと、重要な部分がクロールされなくなってしまったり、Webサイトの安全性を落としてしまったりするかもしれません。
1.CSSやJavaScriptはブロックしないようにする
Googlebotでは、ユーザーがページを閲覧する方法と同じページをレンダリングして表示しています。そのため、JavaScriptやCSSなどのページを生成するためのリソースファイルをブロックしないようにしてください。ブロックしてしまうと、ページがすべて表示されなくなってしまいます。
ブロックすべき場所と、してはいけない場所さえ間違えなければ、より自由に情報の取捨選択が行えます。
しかし、設置場所を間違えてしまうと正しく表示されなくなるため、場所を間違っていないか必ず確認するようにしましょう。
2.外部リンク経由でのクロールはブロック不可
ブロック設定しているページであっても、外部リンク経由でのクロールは完全にブロックできません。外部サイトがクロールされた結果、クローラーがそのままリンクをたどって巡回してしまうのが現状です。
そのため現場では、robots.txtだけですべてのクロールをブロックできないことは忘れずに覚えておきましょう。ブロック設定を完全にしたい場合は、外部リンクがないかもしっかりと確認するのが大切です。
3.ページのインデックスを削除することはできない
robots.txtでは、ページのインデックスを削除することはできません。あくまでもクローラーのアクセスを制御するのが目的であるため、インデックスを削除したい場合はnoindexタグを使用します。
前述のとおり「noindex」と「robots.txt」の2つの役割を理解して使い分ける必要があります。
混同して覚えてしまうと、思い通りに表示できず再確認する手間がかかってしまうため、2つの役割を理解しておきましょう。
4.robots.txtはセキュリティ対策にならない
robots.txtは、ページへのアクセスを遮断するものではありません。検索結果に表示されないようにするだけで、ファイルそのものは誰でも閲覧が可能です。
もし、個人情報を扱っているようなページだった場合、悪用されてしまう可能性があります。そのため、robots.txtの記述ではなくパスワード保護といったセキュリティ対策が必要です。
「検索結果に表示されない=誰にも見られない」という間違った考えは捨てて、ユーザーが安全に使えるサイト設計にしてください。情報が漏洩する事態になってしまった場合、ユーザーやその他企業からの信用を大きく失ってしまいます。
5.robotstxt役割はクローラーが巡回しないよう制御するだけ
robotstxtは、セキュリティ強化やインデックス削除は不可です。クローラーが巡回しないよう制御する設定するものであって、それ以上でも以下でもありません。
正しい使い方と記述で、重要なページと拒否するページを、クローラーがスムーズに判別できる設定を心がけてください。
使い方を間違ってしまえば正しく評価されなくなったり、情報が悪用されてしまったりする問題につながります。そのため、インデックス削除にはnoindexを使い、適切なセキュリティ対策をするなどさまざま方法を併用していくのが大切です。
robotstxtを最大限活かせる範囲で正しく活用しましょう。
robots txtとは?のまとめ
robots.txtは、クローラーの巡回効率を向上させられるため、Webサイトの評価が上がりやすくなります。
しかしその半面、JavaScriptやCSSなどのページをリソースファイルに使用してしまうと、ページが表示されなくなるなど、取り扱いが難しいファイルでもあります。
設定する際は紹介した注意点を確認しながら、robots.txtを必要に応じて活用し、Webサイトのパフォーマンスを管理していきましょう。
<無料>資料ダウンロード
【売上アップ】Webサイト改善コンサルティング
本物のプロが、集客と売上に繋がるWebサイトに改善!