Webサイトを運営する上で「重要なページを検索結果に表示されやすくしたい」「不要なページは検索結果から除外したい」など様々な対策が必要です。今回はWebサイトを運営する上で、クローラを最適化するためのrobots.txtの書き方や設定時の注意点を解説します。クローラの最適化とSEO効果との関係も解説しているため、最後までご覧ください。
robots.txtとは
robots.txtとは、検索エンジンのクローラを制御するためのテキストファイルです。robots.txtの役割は主に二つあります。
- 特定のクローラに対して指定したディレクトリやページのアクセス可否を制御
- クローラにsitemap.xmlの位置情報
robots.txtを適切に活用することでサイトのクローラを最適化することができます。
robots.txtとnoindexの違い
検索エンジンのアクセス可否を制御するものはrobots.txt以外にnoindexがあります。
robots.txtが検索エンジンのクローラを制御するのに対し、noindexはインデックスそのものを制御します。
つまり、noindexで指定した場合は検索結果に表示されませんがクローラは動きます。
noindexはHTMLに記述することで効果があります。
robots.txtとnoindexは使い分けが重要です。
robots.txtを使うときは、検索エンジンのクロールをブロックしたい場合に、noindexを使うときは、インデックスさせたくない場合に使用することが効果的です。
併用することも可能ですが、書き方を誤るとnoindexの効果が得られません。可能な限り使い分けることをおすすめします。
robots.txtの書き方
robots.txtはメモ帳や各種テキストエディタにプロパティを記述するだけで作成できます。
プロパティは「User-agent」「Disallow」「Allow」「Sitemap」の四つがあります。指定が必須なプロパティはUser-agentのみで、それ以外は任意項目のため、ファイル内が複雑になる恐れもありません。
User-agent
User-agentは制御するクローラの名称を指定します。検索エンジンに応じたクローラを指定することもできれば、全てのクローラを指定することもできます。
特別な理由がない限り、全てのクローラを指定することをおすすめします。
また、クローラの種類は下記サイトで確認できます。
https://www.robotstxt.org/db.html
書き方 | 意味 |
User-agent:* | 全てのクローラ |
User-agent:Googlebot | Google(ウェブ検索)のクローラ |
User-agent:Googlebot-Image | Google(画像)のクローラ |
User-agent:Googlebot-Video | Google(動画)のクローラ |
User-agent:Mediapartners-Google | Google Adsenseのクローラ |
User-agent:Googlebot-News | Google(ニュース)のクローラ |
User-agent: bingbot | bing検索のクローラが対象 |
Disallow
Disallowはクローラを拒否するディレクトリやページを指定します。ディレクトリやページだけでなく、ファイル形式の制御もできます。
書き方 | 意味 |
Disallow:/ | サイト全体が対象「/」はページ配下全てを表す。 |
Disallow:/directory/ | directory配下の全ページが対象 |
Disallow:/directory/sample.html | directory配下のsampleページのみ対象 |
Disallow:/sample*/ | sampleを含むページが対象 |
Disallow:/*.pngDisallow:/*.gif | 特定のファイル形式が対象 |
Allow
Allowはクローラを許可するディレクトリやページを指定します。
Allowが指定されていなくてもクロールされるため、基本的に記載は不要です。Allowを記述する場面は、Disallowで指定したディレクトリ配下の一部のページをクロールさせたい場合などです。
例えば「directory」をDisallowで指定した場合は、directory配下の全ページがクロールされません。directory配下の「sample.html」ページのみ許可したいときに、対象のページをAllowで指定して対応します。
書き方 | 意味 |
Disallow:/directory/Allow:/directory/sample.html | directory配下のsampleページのみ許可 |
Sitemap
Sitemapはクローラにサイトマップの位置情報を伝えるためのプロパティです。
任意項目ですが、robots.txtを利用する場合は必ず記載することをおすすめします。
書き方 | 意味 |
Sitemap:https://samplle.com/sitemap.xml | sitemap.xmlの位置をクローラに伝達URLはフルパスで指定 |
robots.txtの配置場所
robots.txtは自身のドメインのルート上に配置します。好きなディレクトリに配置してはいけないので注意しましょう。
また、ファイル名も「robots.txt」以外受け付けていません。
配置したrobots.txtはトップページのURLに「/robots.txt」と指定することで閲覧できます。
例えばAmazonやGoogleでは下記のURLでrobots.txtを確認できます。
Amazon:https://www.amazon.co.jp/robots.txt
Google:https://www.google.com/robots.txt
robots.txtの確認方法
ルート上に配置したrobots.txtが機能しているかどうかは、Google Search Consoleの「robots.txtテスター」を利用することで確認できます。
続いてrobots.txtの確認方法を解説します。
robots.txtがルート上に配置されていない場合、プロパティが表示されません。
robots.txtがルート上に配置されている場合、ファイルに記載している内容が表示されます。
確認したいページのURLをテキストボックスに入力しテストを実施することで、クローラを制御した行が赤くなります。
制御しているにも関わらず赤くならない場合は、テキストファイルの書き方が誤っていたり、HTMLのnoindexが起因していたりする可能性があります。
robots.txtを利用する際の注意点
robots.txtを利用する上で、注意したいことがいくつかあります。
中には重いトラブルに発展する可能性もあるため、必ず把握しておくことをおすすめします。
アドレスバーを経由することで誰でもrobots.txtの内容を見られる
ルート上にrobots.txtを配置するため、アドレスバーを経由することで誰でもrobots.txtの内容を見られるようになります。
robots.txtは公開情報となるため、不要なコメントは事前に削除しておきましょう。削除し忘れたコメントがトラブルの火種となっては目も当てられません。
robots.txtはユーザーからのアクセスを制限できない
robots.txtは「クローラに対して指定したディレクトリやページのアクセス可否を制御」するためのファイルです。robots.txtではユーザーからのアクセス制御はできないため、別途アクセス制御する必要があります。
勘違いしやすいため気をつけましょう。
robots.txt配置後の「Internal Server Error」
robots.txtの配置後、アドレスバー経由でファイルを確認した際に「Internal Server Error」(HTTPステータスコード500)が表示されることがあります。
Internal Server Errorの場合、インデックスそのものが消える可能性があり、発見した場合は早急な対応が必要です。
対処法としては、配置したrobots.txtを削除し数日の間様子を見ます。
万が一、解決しない場合はGoogleに再審査リクエストを送り担当者のサポートを受けることをおすすめします。
robots.txtのSEO効果
robots.txtはクローラを最適化することが目的です。クローラを最適化することは、検索エンジンに時間をかけず重要なコンテンツを正当に評価してもらうことを意味します。
robots.txtを利用することで、少なからずSEO効果はありますが、期待するほど大きな効果は得られないことを覚えておきましょう。
補足ですが、noindexはSEO効果を下げないようにする目的で使用します。noindexは検索エンジンにインデックスされることを防ぐため、重複したページや広告用のページがある場合に効果を発揮します。
まとめ
今回は、クローラを最適化するためのrobots.txtの書き方と設定時の注意点を解説しました。robots.txtと聞くと難しいイメージがありますが、書き方が一定のため誰でも簡単に実装できます。
重要なのは、何を制御するのか、robots.txtを利用する上での注意点など、運用に関係することです。