本記事で学ぶ内容

・robots.txtの書き方がわかる
・robots.txtの設置方法がわかる
・robots.txtが正しく作成出来ているか確認する
・robots.txtをGoogleに送信する

ホームページを作成しても、Googleがそのページクロール検索結果に表示してくれなければ意味がありません。

robots.txtはこのクローリングを最適化し、重要なページをしっかりと検索結果に表示してもらうために使います。また、検索結果に表示したくないページを指定することも出来ます。

本記事は、robots.txtについて学んでいきましょう。

robots.txtとは

robots.txtとは、クローラーの動きを制御できるファイルです。

基本的な書き方

User-agent: 
Disallow:
Allow:
Sitemap:
項目 意味
User-agent: ユーザーエージェントを指定します。
Disallow: ブロックしたいページを指定します。
Allow: クロールさせたいページを指定します。
Sitemap: クローラー用のサイトマップの場所を指定します。

User-agent:の書き方

User-agentはクローラのユーザーエージェントを指定します。どんな指定ができるのかを見ておきましょう。

クローラ ユーザーエージェント
GooglebotGoogleウェブ検索) Googlebot
ニュース用Googlebot Googlebot-News
画像用Googlebot Googlebot-Image
動画用Googlebot Googlebot-Video
Google Adsense Mediapartners-Google
Google AdsBot(パソコンのWebページ広告品質をチェックします) AdsBot-Google
Googleモバイル Googlebot
モバイルウェブAndroid用AdsBot(AndroidのWebページ広告品質をチェックします) AdsBot-Google-Mobile
モバイルウェブ用AdsBot(iPhone のウェブページ広告品質をチェックします) AdsBot-Google-Mobile

Disallow:の書き方

Disallow:の書き方

ディレクティブでは大文字と小文字が区別されます。例えば、Disallow: /file.asp を指定すると、http://www.example.com/file.asp はブロックされますが、http://www.example.com/File.asp はブロックされません。また、Googlebot では空白と、robots.txt 内の不明なディレクティブは無視されます。

Allow:の書き方

Allowは指定しなければ、クローラーは勝手に拾っていくのであまり使いません。
ディレクトリ全体をDisallowでクロール拒否しつつ、その中の一部のファイルだけはクロールさせたい。という組み合わせの場合に使います。

Disallow: /mypage/
Allow: /mypage/main/

Disallowで/mypage/を拒否しているものの、その後のAllowで/mypage/main/のクロールを指定しています。
AllowはDisallowよりも強い指示のため、この場合はAllowが優先されます。

Sitemap:の書き方

sitemap.xmlの場所をrobots.txtに記載することをGoogleは推奨しています。よって、ちゃんと用意してここに記載しましょう。
sitemapは.xmlと.gzどちらも使うことが出来ます。

ケーススタディ

全てのクローラーを受け入れる場合

User-agent: *
Allow: /

「*」は全てのクローラーを受け入れることを示しています。

一部のクローラーだけ受け入れたくない場合

User-agent: クローラーのユーザーエージェント
Disallow: /

/mypage/以外をクロールさせる

User-agent: *
Disallow: /mypage/

この場合、Disallowに「/mypage」が指定されているため、Googleは「/mypage」をクロールしません。「/mypage/01/」や「/mypage/01/event/」などの下層ページクロールされません。

/mypage/以外をクロールさせたいが、/mypage/の一部だけはクロールさせたい

User-agent: *
Disallow: /mypage/
Allow: /mypage/sample/

/mypage/はクロールされないものの、Allowで指定した/mypage/sample/はクロールされます。

User-agent別に矛盾した記述をした場合

User-agent: *
Disallow: /

User-agent: googlebot
Disallow: /mypage/

前者では「全クローラーに全ページクロールさせない」という指示を出していますが、後者では「googlebotに/mypage以外をクロールさせる」という指示を出しています。このような場合は、後者に指定したものを優先します。
よって、「googlebotは/mypage以外をクロールする」ことになります。

robots.txtはどこに設置すれば良いか

robots.txtは、robots.txt という名前で保存を行い、テキストファイルとして自分のドメインのルートにアップロードします(robots.txt ファイルのURLは/robots.txt となります)。

robots.txtが正しく作成出来ているかを確認する方法

robots.txtテスターを使うと正しく作成できているかを確認することが出来ます。

関連:
内部対策SEO:robots.txtテスターの使い方

robots.txtをGoogleに送信する

robots.txtテスターの送信機能を使うことでGoogleにrobots.txtの送信を行うことが出来ます。

まとめ

robots.txtはクローラーにこちらの意思表明を行える非常に有効なツールです。しかし、使い方次第では誤ってクロールして欲しいページクロールさせなくしてしまうなど、危険な要素も存在します。使うときは細心の注意を払い、使いましょう。