検索エンジンが「コンテンツの質」を評価するようになり、さまざまなコンテンツがウェブに溢れるようになりました。結果、今までより質の高いコンテンツが増えた一方、コンテンツの同質化が進み、差別化がしにくい状況だと思います。
このような状況において、SEOでより高く評価され上位表示するために必要なことはなんでしょうか?それは、サイトをGoolgeのクローラがクローリングしやすいように最適化することです。そこで知っておきたいのがrobots.txtです。robots.txtは内部対策の一部であり、Googleに評価されるために取り組むべきSEO対策です。
効果的にrobots.txtを活用し、SEOで成果を出すためにはどうすればいいのか、実際の書き方も含め見ていきたいと思います。
What Is Robot.txt and How To Create It ?
robots.txtとは
robots.txtとは、サイトをクローラに最適化する手段の一つです。このファイルにクローラにクローリングされたくないページを指定することで、無駄なページを認識させることを避け、重要なページのみを評価してもらうことが可能になります。
ちなみにクロール最適化の定義については以下になります。紹介サイトによると短期間でSEO効果を発揮する施策として紹介されています。
クロール最適化とは
サイト内の重要なページに対するクロール頻度を増やすことによって、比較的短期間でSEOを大きく改善するための施策
あらゆるサイトで短期間で効果が出ると断言できるかは怪しいですが、これまで無駄なページを含め、すべてのページをクローラにクローリングさせていたサイトなどは比較的効果が出やすいのではないでしょうか。
robots.txtで指定すべきページとは?
robots.txtで指定すべきページはGoolgeのウェブマスター向けガイドラインに記載があります。
- robots.txtを使用して、検索結果ページや、検索エンジンからアクセスしたユーザーにとってあまり価値のない他の自動生成ページをクロールしないように生業します。
- 広告が検索エンジンの掲載順位に影響を与えないように、適切な対処をします。たとえばGoogleのAdSense広告やDoubleClickのリンクは、robots.txtファイルでクロールをブロックします。
ウェブマスター向けガイドライン(品質に関するガイドライン) - Search Console ヘルプ
一つ目の「あまり価値のない他の自動生成ページ」とは、たとえば飲食店系の検索サイトで言えば「0件ヒット」のページなどでしょう。食べログにアクセスした際、渋谷の焼肉のページにたどり着くと店舗が1件も掲載がなかった、というような場合です。(食べログにそのようなページはありませんが)このページはざわざわクローラにクローリングさせる必要がありません。自動生成ページについてもGoolgeが明記していますので、下記に引用します。
- 自動化されたツールで翻訳されたテキストが人間によるチェックや編集を経ず公開されたもの
- マルコフ連鎖などの自動化されたプロセスを通じて生成されたテキスト
- 自動化された類義語生成や難読化の手法を使用して生成されたテキスト
- Atom/RSS フィードや検索結果からの無断複製によって生成されたテキスト
- 複数のウェブページからのコンテンツに十分な付加価値を加えることなくそれらをつなぎ合わせたり組み合わせたりしたもの
自動的に生成されたコンテンツ - Search Console ヘルプ
検索したユーザーがたどり着くページの具体例として、他にも次のパターンは不適切なものと考えられます。これらもrobots.txtでクローリングをブロックすることをオススメします。
- ECサイトなどの購入確認 / 完了ページ(購入している人のみが見れればよい)
- サイト内フリーワード検索の検索結果0件ページ
- 管理者ページ
上記のページは検索から入ってきたユーザーにとって、閲覧する価値はありません。このようなページをrobots.txtでブロックしておくことで、 クローラの余計なクローリングを防ぐことができます。
一見これらのページはURLにパラメータが付いている状態のものが多く、クローラにクローリングされない可能性が高いです。しかし、パラメータが付いた状態のURLが別のサイトに掲載され、そこからクローラが入ってきた場合はクローリングされていまいます。このような状況を避けるためにもrobots.txtでブロックしておくことをオススメします。
robots.txtの書き方・ルール
それではここからrobots.txtの書き方とルールについて見ていきます。ファイル形式はtxtで作成し、ファイル名は必ず「robots.txt」にします。記載する内容の基本形は次の通りになります。
User-Agent:*
Disallow:
Sitemap:http://example.com/sitemap.xml
User-Agent
アクセスを制御したいクローラーを指定します。「*」はすべてのクローラを意味していて、基本これを指定しておけば問題ありません。指定するクローラのパターンについては、下記を参照してください。
Google クローラ - Search Console ヘルプ
Disallow
クローラのアクセスを制御するファイルまたはディレクトリを指定します。書き方は次のようになります。
サイト全体をブロック
Disallow:/
ディレクトリをまるごとブロック
Disallow:/directory/
特定のページをブロック
Disallow:/file.html
Googleの画像検索から特定の画像をブロック
User-agent: Googlebot-Image
Disallow: /images/image.jpg
Googleの画像検索からサイトのすべての画像をブロック
User-agent: Googlebot-Image
Disallow: /
特定の種類のファイルをブロック
User-agent: Googlebot
Disallow: /*.gif$
疑問符(?)を含むすべてのURLへのアクセスをブロック
User-agent: Googlebot
Disallow: /*?
パラメータがつく場合は、この方法を利用したいですね。
URLの末尾を一致させ、指定ファイルをブロック($を使用)
User-agent: Googlebot
Disallow: /*.xls$
この例ではxlsファイルをブロックしています。
Allow
Allowは基本的にあまり使いませんが、ディレクトリ単位でブロックし、その中の特定のページだけクロールさせたい場合などに有効です。下記のように記載します。
Disallow:/directory/
Allow:/directory/special.html
Sitemap
サイトマップの記載はGoogleがサポートしているため、なるべく書くことをオススメします。記載することで、クローラが優先的に読み込んでくれます。
robots.txtのテストツール
robots.txtへの記載が終わったら、きちんと機能するかテストしましょう。robots.txtのテストはGoogleが提供しているテストツールで簡単にできます。テストツールはSearch Consoleの「クロール」セッション→「robots.txtテスター」で使うことができます。
詳しくはこちらのページをご確認ください。
Google ウェブマスター向け公式ブログ: robots.txt ファイルのテストが簡単になりました
robots.txtのアップ場所
最後にアップになります。robots.txtはかならずルートドメインにアップします。ルートドメイン以外の場所に設置しても効果はないので注意しましょう。
OK:http://example.com/robots.txt
NG:http://example.com/sample/robots.txt
最後に
コンテンツの質が同質化しつつあるいま、ますますSEO内部対策の重要性が高まっていくことでしょう。ご紹介した内容が少しでもお役に立てれば幸いです。内部対策については、他にもさまざまな観点がありますので、また別の機会に紹介できればと思います。
Google・SEO関連のオススメ人気記事紹介
GoogleやSEO関連でおすすめの記事はこちらです。ぜひチェックしてみてください!