最先端のWebマーケティングを発信するメディア

最先端のWebマーケティングを発信するメディア

robots.txtとは?書き方と設置方法、使い方を詳しく紹介

最終更新日:

SEO

SHARE
FacebookTwitterLineHatenaShare

robots.txtは、検索エンジンのクローラーをコントロールすることで、クローラビリティを向上させたり、サーバーの負荷軽減を図ったりする際に使用します。

サイト運営者なら知っておきたいrobots.txtの使い方や、作り方、書き方、設置方法についてご紹介します。

robots.txtとは

robots.txtは、クローラーを制御するためのファイルです。クローラーにアクセスして欲しくないページを、robots.txtを用いてクロールされないようにすることで、重要なページへの巡回を優先させたいときに使用します。

また、クローラーに対してsitemap.xmlの場所を伝えることもできます。

クローラーがサイトにアクセスした際に、最初に読み込むのがrobots.txtになるため、記述を間違えると、サイト内のページがクロールされず、検索結果にページが表示されなくなるなどのリスクがあります。

robots.txtは設置が必須というわけではないので、使い方が不明瞭な場合や、クローラーをブロックする必要がない場合は、無理に設置をする必要はありません。

robots.txtを使う主な場面

robots.txtは設置が必須ではないと言いましたが、それでは、どんな状況のときに使用するとよいのかを見ていきましょう。

ログインが必要なページのクロールを拒否する

IDやパスワードを入力してログインが必要となるような会員向けページは、インデックスをさせる必要がないため、robots.txtで対象ディレクトリのクロールをブロックしておくとよいでしょう。

また、同様にWordpressの管理画面のログインURLなども、検索エンジンにクロールさせる必要はないので、あらかじめブロックしておくと、無駄なクロールを省くことができます。

ショッピングカード内のページ

ショッピングカート内の決済プロセスで、毎回URLが変わる場合などは、クローラーの巡回によってサーバー負荷が増えてしまうことが考えられるため、robots.txtでクローラーを制御します。

動画や画像、PDFファイル等のインデックス拒否

noindexを目的にrobots.txtを使用することはGoogleから推奨されていませんが、noindexの設定ができない動画や画像、音声、PDFファイルなどをインデックスさせたくないときに、robots.txtを使用します。

https://developers.google.com/search/docs/advanced/robots/intro?hl=ja

robots.txtの書き方・設定方法

基本的なrobots.txtの書き方、User-AgentとAllow/Disallowの意味、設定方法を見ていきましょう。

User-Agent(ユーザーエージェント)

対象の検索エンジンのクローラー(ロボット)を指定します。

「*」を使用すると、全ての検索エンジンのロボットを指定できます。

【例】
User-agent: * (すべてのクローラーを対象)
User-agent: Googlebot (Google検索のクローラーを対象)

各検索エンジンのユーザーエージェント

Google:Googlebot
Yahoo!Japan:Y!J
Bing:bingbot
MSN:msnbot
Baidu:Baidu
Twitter:Twitterbot
Facebook:facebookexternalhit

Allow/Disallow

Allow

Allowはアクセス許可を意味する記述です。基本的に、アクセス拒否の記述がなければ、クロールされるので、記述する必要はありません。

一部のディレクトリ全体を拒否し、そのディレクトリ内の1部のページだけはクロールさせたい場合などに、Allowを使用します。

【例】/abc/はクロールをブロックし、/abc/manual/のみクロール許可する場合の記述
User-agent: *
Disallow: /abc/
Allow: /abc/manual/

Disallow

Disallowは、アクセスを拒否する際に用います。ディレクトリ全体、またはURL、ファイル名を記述します。

【例】Wordpressの管理画面のURLをクロール拒否する場合
User-agent: *
Disallow: abc.com/wp-admin/
【例】すべてのPDFファイルを拒否する場合
User-agent: *
Disallow: /*.pdf

処理の優先度

robots.txtは記述した順番に処理されるわけではないので、注意が必要です。robots.txtの処理の優先度については…

・限定的な記述のものが優先されて処理される

【例】
User-agent: *
Allow: /abc/manual/
Disallow: /abc/

Allowの後に、Disallowで/abc/を拒否していますが、より限定的に記述されている「Allow: /abc/manual/」が優先されます。そのため、後からディレクトリ全体を拒否する記述をしたとしても、その順番は無視されるということです。

sitemap.xmlの存在を伝える

robots.txtに記述しなくても、検索エンジンはsitemap.xmlをクロールしますが、robots.txtでsitemap.xmlの設定している場所を伝えることができます。記述は絶対URLで指定する必要があります。

【例】
User-agent: *
Sitemap : https://abc.com/sitemap.xml

robots.txtのファイル形式とアップロード場所

メモ帳などで、robots.txtという名前でファイルを保存し、FTPソフト等でルートディレクトリ(TOPページと同じ階層)にアップロードすれば、検索エンジンから認識されるようになります。

ファイル形式

・ファイル名は「robots.txt」
(「robot.txt」ではありません。単純ですが間違いやすいのでご注意ください。)
・UTF-8でエンコードされた書式なしのプレーンテキスト
・BOMは無し(BOMを設定しても無視されます)
・改行文字はCR、CR/LF、LFのいずれかを使用
・最大ファイルサイズは500KiB(512KB)

robot.txt はアップロード後、すぐに修正が反映されるわけではありません。なるべく早く反映させたい場合は「robots.txtテスター」から、更新をリクエストするようにしましょう。

https://developers.google.com/search/docs/advanced/robots/robots_txt?hl=ja

robots.txtの注意点

robots.txtは使い方を誤ると、検索結果に表示されなくなるなど、致命的な問題となることもあります。ここではrobots.txtの使ううえでの注意点を取り上げています。

全てのクロールをブロックしないように注意

robots.txtの記述で最もやってはいけないことは、全ての検索エンジンのロボットに対して、全ページのクロールを拒否することです。

特定のクローラーがサーバーに負荷をかけている場合は、そのクローラーに対して巡回拒否をすることはありますが、全てのクローラーをブロックしてしまわないように注意しましょう。

インデックスを拒否する目的で使用しない

robots.txtは、クローラーを制御するためのファイルです。検索エンジンに表示させない(インデックスさせない)目的で、robots.txtを使用してはいけません。

検索エンジンに表示させたくないページは、noindexタグを用いて、インデックスをブロックします。

noindexしているページへのクロールを拒否しない

noindexを設定しているページへのクロールを拒否してしまうと、クローラーがnoindexの設定を確認しにいくことができません。

すでに、インデックスされているページを、noindexに設定したとしても、robots.txtでクローラーを拒否していると、クローラーがnoindexに気が付かず、いつまでも検索結果に表示され続けることになります。

CSSやJavaScriptはブロックしない

現在のGoogleはCSSやJavaScriptを読み込んで、ページをレンダリングするので、ページの生成に必要なファイルはブロックしないようにします。

robots.txtの指示は絶対ではない

GoogleやYahoo!などのクローラーは、基本的にrobots.txtの指示を守ってくれますが、そうではないロボットもたくさんあります。robots.txtで拒否したから絶対にクロールされないというわけではないことは覚えておきましょう。

robots.txtのテスター

robot.txtが正しく書かれているか、意図した通りに設定されているかの確認方法として、Googleは「robots.txtテスター」というテストツールを公開しています。サーチコンソールにログインした状態で、下記URLにアクセスします。

https://www.google.com/webmasters/tools/robots-testing-tool

robots.txtテスターの使用方法


サーチコンソールに登録されているサイトで、robots.txtが設置されている場合は、その内容が自動的に表示されています。

ここでは、全てのユーザーエージェントに対して、以下のように設定をしています。

Disallow: /ads/  ・・・/ads/ディレクトリ以下の全てのページのクロールを拒否
Allow: /ads/ad-kind/  ・・・/ads/ad-kind/のページのみクロールを許可

最下部にある「URLがブロックされているかどうかをテストするには、URLを入力してください」のところに、ブロックされているか確認したいURLを入力します。

ブロックできている場合は、下の画像のように「ブロック済み」と赤く表示されます。

クロールが許可されている(ブロックできていない)場合は、「許可済み」と緑色で表示されます。

正しく設定されていることが確認できたら、「送信」ボタンをクリックします。

「送信」をクリックすると、下の画像のようなダイアログが表示されるので、3の「Googleに更新をリクエスト」の『送信』をクリックすると、robots.txtが設置・更新されます。

robots.txtを使用してクローラビリティを向上させる

robots.txtを設置することで、クロールの必要のないページや、重要度の低いページへのクロールを制御し、重要なページを優先してクロールさせるように促すことができます。

ページ数の多いサイトであれば、クローラビリティを向上させる一環として、robots.txtの設置が効果的です。

クロールの最適化が、直接検索エンジンのランキング要因にはなりませんが、クロールされ、ページがインデックスされて、はじめて検索結果に表示されるようになります。そして、間接的にSEOにプラスに働く可能性はあるので、ある程度規模の大きなサイトであれば、クローラビリティのためにrobots.txtを活用していきましょう。

SHARE
FacebookTwitterLineHatenaShare

この記事を書いた人

いまい
サイト運営歴15年以上。立ち上げたサイトは数知れず。SEO、メルマガ、広告、YouTube、手あたり次第が過ぎて、何も身になってないことに最近気づく。もう少しだけ、Web業界にしがみついていたい。

UPDATE 更新情報

  • ALL
  • ARTICLE
  • MOVIE
  • FEATURE
  • DOCUMENT