robots.txtの書き方解説「クローラーを制御してインデックス効率化する」

2278
Pocket

SEO対策をしていると、ユーザーのためには必要だけど、検索エンジンにはインデックスしたくないページも出てくると思います。

そんなときに必要なのが、robots.txt(ロボットテキスト)によるクローラーの制御です。
今回は、SEO対策をしていくうえで、理解しておきたいrobots.txt(ロボットテキスト)の書き方、使い方をご紹介します。

<登場人物>

小谷礼王

小谷れお[16卒内定者]

新人Webマーケター。16卒の内定者インターン。
入社と同時にぶっちぎりの成果を上げるために、Webマーケティング、主にSEO、コンテンツマーケティングについて勉強している。

小谷礼王

桑原一聖

Webアナリスト。多くのクライアントサイトのアクセス解析、改善施策立案から実装までを担当している。

robots.txtとは何か?

comment_photo

robots.txtってなんですか?

comment_photo

検索エンジンのクローラーを制御する命令を記述するためのファイルです。
このファイルを用意することで、クロールが必要なページのクロール頻度を上げることができます。

なぜrobots.txtが必要なのか?

comment_photo

正直何に使うのかあまりイメージが湧かないんですけど、どんな時に使うものなんですか?

comment_photo

robots.txtの役割は大きく2つ。

ひとつ目は、クロールが不要なページとクロールしてほしいページを指定して、無駄なクロールが発生しないように制御するため。
ふたつ目はsitemap.xmlの場所をクローラーに知らせるためです。

まず前提として、クローラーは1回の訪問でサイト内の全てのページをクロールしているわけではありません。
クローラーが1回の訪問でクロールするページ数(クロールバジェット)は、サイトのオーソリティによって変動していて、そのクロールバジェットよりもページ数が多いサイトは、1回の訪問で全てのページがクロールされません。

そうなると、検索エンジンにインデックスされるのが遅くなってしまったり、古い情報のまま更新されなかったりという事態に陥る可能性が高まります。このような状態になるのを防ぐために、robots.txtでクローラーを制御するんです。

robots.txtの書き方

comment_photo

クローラーが一度で回れるページ数は限られているから、robots.txtを使って制御するということなんですね。僕も扱えるようになりたいので書き方教えて欲しいです!

 

comment_photo

書き方はシンプルで、robots.txtで必要な要素は4つしかありません。
その4つの要素を簡単に説明すると以下のようになります。

1.User-agent

「Googlebot」など制御したいクローラーを指定
※全てのクローラーを制御したい場合は「*」と指定

2.Disallow

クローラーの訪問をブロックするディレクトリ・ページを指定
※「/」でサイト全体、「/example/」でexampleディレクトリ以下全てのページを指定できる
「/*.jpg$」で全てのjpgファイルに対した指定も可能

3.Allow

クローラーの訪問をブロックしないディレクトリ・ページを指定
※基本的に全てのディレクトリ・ページはブロックされていないので、使用する機会は少ない
「Disallow」と同様にディレクトリ・ページの指定が可能

4.Sitemap

sitemap.xmlの場所をクローラーに伝える
※URLは絶対パスで指定する

robots.txtの書き方例【目的別】

comment_photo

では、実際にどのように記述するのかをいくつかのケースに分けて紹介します。

特定ディレクトリのクロールを拒否する

▼すべてのクローラーを対象に、「detail」ディレクトリ以下のページのクロールをブロックしたい

User-agent: *
Disallow: /detail/
Sitemap: http://example.co.jp/sitemap.xml

特定のクローラーだけ、特定のURLのクロールをブロック

▼Googleのクローラーだけ「http://example.co.jp/item/01.html」へのクロールをブロックしたい

User-agent: Googlebot
Disallow: /item/01.html
Sitemap: http://example.co.jp/sitemap.xml

特定のパラメータがついているページのクロールをブロック

▼「type=none」のパラメータがついているページだけクロールをブロックしたい

User-agent: *
Disallow: /*?type=none
Sitemap: http://example.co.jp/sitemap.xml

特定のディレクトリのクロールをブロックしつつ、同ディレクトリ内の一部のURLはクロールさせたい

▼「/detail/02.html」以外の「detail」ディレクトリへのクロールをブロックしたい

User-agent: *
Disallow: /detail/
Allow: /detail/02.html
Sitemap: http://example.co.jp/sitemap.xml

クローラー別にクロールをブロックする部分を指定

▼全てのクローラーに対して「/detail/」ディレクトリへのクロールをブロック、Googleクローラーには「item」ディレクトリへのクロールもブロックしたい

User-agent: Googlebot
Disallow: /item/
User-agent: *
Disallow: /detail/
Sitemap: http://example.co.jp/sitemap.xml

robots.txtが正しく書けているか確かめる方法

comment_photo

習ったとおりに書いてはみたんですけど、これって正しく書けてるか確かめる方法はありますか?

comment_photo

確かに不安ですよね。
ブロックするURLの指定を間違えて、ページがインデックスされなくなったら、サイトの集客に大きな影響を与える可能性もあるので、慎重に作成しましょう。
作成したrobots.txtに不備がないかを確認するときには「robots.txt テスターというツールがよく使われます。このツールはGoogleサーチコンソールの機能のひとつです。サイトにアップしているrobots.txtの構文チェックをしてくれますが、サイトにアップする前でもチェック機能が使えます。作成したrobots.txtの内容を該当欄に貼り付け、「テストボタン」をクリックすることで、貼り付けたrobots.txtの構文チェックが可能です。

robots.txtテスター使用イメージ

comment_photo

「robots.txt テスター」を使用すれば、①記述に間違いがないか、②ブロックしたいURLが本当にブロックされるように設定されているか、を合わせて確認することができます。
テスターの結果を確認しながらrobots.txtを修正しましょう。

robots.txtテスター使用イメージ2

robots.txtを扱う上での注意点

comment_photo

他に知っておきたい注意点とかありますか?

comment_photo

注意することは以下の2つです。それぞれについて解説していきますね。
  • metaによるクローラー制御と併用できないこと
  • 必ずルートディレクトリにアップすること

1.robots.txtとmetaによるクローラー制御は併用できない

metaによるクローラー制御と併用ができない理由を簡単に説明しますね。
例えば、既にインデックスされたページをインデックスから削除するためにmetaで「noindex」に指定して、robots.txtでさらにそのページへのクロールをブロックした場合、そのページにクローラーが訪問しないため、ページ内に記載した「noindex」の指定がクローラーに伝わらず、いつまでもインデックスから削除されないという事態になる可能性があります。

そういった場合は、まずで「noindex」を指定し、インデックスから削除されたタイミングでrobots.txtでクローラーがこれ以上訪問しないように設定するなどの対応が必要になるので、併用はできないということになります。

2.robots.txtは必ずルートディレクトリにアップする

robots.txtをルートディレクトリにアップしなければならない理由についてはシンプルで、ルートディレクトリにアップしないとrobots.txtによる制御が動作しないからです。

comment_photo

注意事項は以上です。ここまで理解できていれば、ほとんどの応用は調べながらできると思いますよ。

robots.txt(ロボットテキスト)についてのまとめ

robots.txtに必要な要素は以下の4つ。2.robots.txtに必要な要素これらを組み合わせて、クローラーを制御することで、効率的にサイトをクロールしてもらうことができる!

Pocket

無料ebook

【超実践編】実際のGoogleアナリティクス画面を見ながら学べるアクセス解析入門講座
姓(必須)
名(必須)
会社名(必須)
電話(必須)
メールアドレス(必須)
個人情報のお取り扱いについて

競合比較ができるSEOツール SEOカウンセラー

最大10項目(順位/被リンク数など)の競合調査が無料でできます。

桑原 一聖
Webアナリストとして数値分析を元にしたサイト改善・効果検証を行うかたわら新商品開発にも携わり、コンテンツの効果測定手法の設計などを行っている。