今回は、SEOに大切なクロールの制御に関して、robots.txtの必要性と項目の書き方についてご紹介します。
ここでは、
- robots.txtとは
- robots.txtの必要性
- robots.txtの書き方
という流れで解説しています。
robots.txtとは
まずは「robots.txt」について解説していきます。
robots.txtとは
robots.txtとは、サイトを巡回しているクローラーの動作をコントロールしたい場合に、クローラーに対しての命令を記載するテキストファイルです。
多くの場合、クローラーにサイト内のページ(404ページなど)やディレクトリへの巡回を制限するための命令を記述する際に robots.txtを使用します。
robots.txtの役割
後述しますが、クローラーの巡回を制限するためには、「User-Agent」という項目にてクローラーの種類の指定し、「Disallow」という項目にて、クローラーに巡回させたくないファイルを指定する必要があります。
基本的に、ページが極端に多い大規模サイトでない場合はクロールを特別に制限する必要はありません。
その場合は、下記を記述した「robots.txt」ファイルを、Webサイトのトップディレクトリ直下にアップロードしましょう。
User-Agent:* ※すべてのクローラーが対象
Disallow: ※ブロック対象なし
⇒「すべてのクローラーのサイト内巡回を許可する」という意味の命令(書き方は後述)
クローラーへの命令はほかにも
robots.txtには他にも、画像やCSSをはじめとした不要なファイルへのクロールを制限してリソースを軽減させたり、サイトマップの存在をクローラーへ知らせたりなどといった命令の記述もできます。
robots.txtの効果的な使い方
また不動産のサイトなど、ページがどんどん増えていくような大規模サイトでは、robots.txtによるクロール制限をすることによって、重要なページからクロールさせる「クロールの最適化」を行う方法もあります。
robots.txtの必要性
そもそもなぜ「robots.txt」は必要になるのでしょうか。
重要なページを優先的にGoogleに認識させることができる(クローラビリティ改善)
先ほども少し触れましたが、robots.txtには「重要なページを優先してクローラーに認識してもらう」といった使用方法があります。
ページ数が膨大にあるような大規模なサイトの場合、すべてのページを管理するのは大変な手間となります。
低品質なページ(コンテンツが被っているなど)や、内部リンクによる導線が無い、被リンクが少なくリンク階層が深いといったページが少なからずあるかもしれません。
そうなると、クローラーが効率よくサイト内のWebページを巡回できず、クロールして欲しいページがきちんとクロールされない可能性があります。
そんな時に先ほど述べたような、不要なファイル(ページやディレクトリ、css、画像、javascriptなど)を指定し、「クロールを拒否する」という命令を記載することで、重要なページからクロールさせる「クロール最適化」を行うわけです。
重要なページをうまくクロールさせ、クローラビリティを改善していくことでSEOに繋がっていきます。
robots.txtの記載例
「robots.txt」を記載しなければならないのはご理解いただけたと思います。ではどのように記載していくのかを解説します。
robots.txtの基本的な記載方法
robots.txtの作成は、メモ帳などのテキストエディタで作成します。特別なツールは必要ありません。
記載する項目は主に次の4種類です。
- 「User-agent」(必須)
- 「Disallow」
- 「Allow」
- 「Sitemap」
必須で記入しなければならないのは「User-agent」のみとなります。
項目ごとの記載例
<User-agent>
命令を与える対象として、ユーザーエージェントの名称を記入しましょう。
例:クローラーの種類を問わず(例えばGoogle、Yahoo!、Bingなどのクローラー)、サイト内の全てのページ(/)へのクロールをブロックする
User-agent :* ※すべてのクローラーが対象
Disallow : /
<Disallow>
クロールをブロックしたいディレクトリやページのURLを記載します。
例:特定のページ(/example/sample.html)へのクロールをブロックする
User-Agent:*
Disallow: /example/sample.html
<Allow>
クロールを許可するディレクトリやページのURLを記載します。
例:ブロックするディレクトリ(/example/)の中から、特定のページ(/example/sample.html)のみクロールを許可する
User-agent:*
Disallow: /example/
Allow: /example/sample.html
<Sitemap>
サイトマップ(sitemap.xml)のURLを記載します。サイトマップが複数ある場合には改行することで複数記載することも可能です。
例:sitemap.xmlの存在をクローラーに知らせる
User-Agent:*
Disallow:
Sitemap:http://example.com/sitemap.xml
まとめ
今回は、robots.txtの必要性と項目の書き方について紹介しました。
参考になりましたら幸いです。
記事執筆:石渡 優
記事編集:田邊 龍司、中條 優
初めてのSEOシリーズ:
【初めてのSEO①】SEOでサイト集客!~メリットとデメリット~
【初めてのSEO②】やってはいけない!気を付けるべきSEO対策
【初めてのSEO③】ロングテールキーワードって何?メリット・デメリットを解説
【初めてのSEO④】検索エンジンって何?SEOに欠かせないGoogleの理念
【初めてのSEO⑤】Googleで上位表示するためのモバイルファーストインデックスって?
【初めてのSEO⑥】robots.txtを設置してクロールを促進しよう!
【初めてのSEO⑦】Google Discoverとは?SEOにどう影響する?