robots.txtとは | 目的や書き方、設定方法について

更新日: 公開日:

robots.txtとは

robots.txtは検索エンジンのクローラーに、特定のディレクトリ、ページをクロールしないように指示するためのファイルです。
Googleを始めとした主要な検索エンジンはこのrobots.txtを踏まえてサイトのクロールを行います。

⚠️読み始める前に⚠️

実はrobots.txtは設置が必須ではありません

そもそも多くのサイトで、クロールの制御を行う必要はないのです。

特に数百ページ以内のサイトであればサイト状況にもよりますが、クロール、インデックスは問題なくされることが多いです。

当然、robots.txtを設置するだけで、順位が上がるなどの裏技があるわけでもないので、クロールの制御を行う必要のないサイトでは、無理に設置しないでください。

一方でページ数が数万を超えるサイトの場合は、robots.txtの適切な設定によるメリットがあります。これらを踏まえて必要な方のみ続きをお読み下さい。

robots.txtを設定する目的

robots.txtには大きく以下の4つの目的があります。

①クローラーに特定のページ、ディレクトリをクロールさせないようにする

サイトの中にはステージング環境の未完成ページや、要ログインページ、会員限定コンテンツなど多くの人に見られたくないページが存在します。
ステージング環境の場合は作りかけであることも考えられますし、要ログインページなどはSEOをあまり意識しないで作成していることも多いです。そして何よりこういったページは、検索結果にも表示させたくないことが大半です。
よって、検索エンジンに見せる必要のないページや、インデックスさせたくないページへのクロールをブロックしたい際にrobots.txtを用いるのです。

※明確にインデックスさせない場合には、サイト閲覧にパスワードをかけたり、noindexを設定したりしてください。

②クローラビリティの最適化

ECサイトなどは、条件絞り込みなどで類似するページが大量に生成されることもあり、ページ数が多くなることがあります。こうした状況だと、全てのページを検索エンジンがクロールできないこともあります。
そういった、サイト上必要なものの、検索流入が見込めないページへのクロールの制御のためにもrobots.txtは用いられます。制御することで検索エンジンに評価させたいページへのクロール頻度を高めたり、サイト全体をクロールさせたりすることができます。
SEOにおけるメリットという意味では、この②が最も注目されます。

③XMLサイトマップの提示

robots.txtにはXMLサイトマップのURLを記載することが可能で、検索エンジンに示すことができます。
Googleサーチコンソールや、BingウェブマスターツールなどからもXMLサイトマップを送信することが可能ですが、そうした手段をもたない検索エンジンも存在するため、robots.txtを設置する際は記載しておきましょう。

④画像、動画、音声ファイルを検索結果に表示させないようにする

画像や動画はHTMLではないため、ページ上にnoindexを設置することができません。
そこでrobots.txtを使用することで、検索結果に表示させないようにすることができます。

設定方法はこちらから

\SEO内製化支援プランの資料ダウンロードはこちらから/

robots.txtの設定方法

①設置方法

robots.txtは運用するサイトのルートディレクトリに必ず設置してください。
例1:http://www.example.com/robots.txt
例2:https://www.seohacks.net/robots.txt
例3:https://sub.seohacks.net/robots.txt

例3のように、サブドメインへ適用することもできます。
また、設置する際には必ずファイル名を「robots.txt」にしてください。それ以外は一切NGです。

②記述方法

robots.txtのクロール制御の記述方法の考え方はとてもシンプルです。
  • どのロボットが
  • どのページ/ディレクトリ/ファイルに
  • クロールしても良い/クロールしてはいけない

という3つを書いていきます。

どのロボットが

まずはクロールを制御するロボットを指定します。

Googleだけでも

  • googlebot(全般に適用)
  • googlebot-news(ニュース、ニュースの画像に適用)
  • googlebot-image(画像)
  • googlebot-video(動画)

などなど、様々なロボットがあり、当然その他の検索エンジンのロボットもあるため、目的に合わせて設定しましょう。
全てのロボットに対し、指示を出したい場合は*(ワイルドカード)を用います。特に指定がない場合はワイルドカードを用いましょう。

参考
Google クローラの概要(ユーザー エージェント) | Google 検索セントラル | Google Developers

The ultimate guide to robots.txt • Yoast

どのページ/ディレクトリ/ファイルに

冒頭のrobots.txtを設置する目的に合ったページを設定しましょう。
設定時には正規表現を用いることができますので、下記ページを参考に設定しましょう。

参考
URLの指定方法

クロールしても良い/クロールしてはいけない

クロールを許可する場合は

allow: [ページパス]

例1:allow: /
例2:allow: /pasta

クロールを許可しない場合は

disallow: [ページパス]

例1:disallow: /
例2:disallow: /pasta

と記載します。

allowとdisallowの記述は両方が当てはまることも出てきますが、その場合はより具体的に指定しているものが適用されます。

例1
User-agent:*
Disallow: /
allow: /blog

→すべてのURLへのクロールがブロックされていますが、allowにて、具体的に/blogへの許可がされているため、この場合は/blog以外のURLのクロールがブロックされます。

例2
User-agent:*
Disallow: /aaaaa
allow: /aaaaa/bbbbb
allow: /aaaaa/ccccc

→/aaaaa配下すべてのURLへのクロールがブロックされていますが、allowにて、具体的に/aaaaa/bbbbbと/aaaaa/cccccへのクロールの許可がされているため、この場合は/aaaaa/bbbbbと/aaaaa/ccccc以外の/aaaaa配下のURLのクロールがブロックされます。

robots.txtテスターを使おう

robots.txtを本番環境でアップすることで、「robots.txt テスター」を使用することができます。

しかし、いきなり本番環境にアップするのはリスクもあるので、確実に問題のない状態でアップすることをオススメします。

robots.txtテスターを使おう

上記であれば、全てのユーザーエージェントに対し、クロールを許可しているので、初めて公開する場合であれば、問題は起きません。

このrobots.txtテスターは画面上で編集ができるので、ここでテストを行なうと良いでしょう。なお、ここでの編集は本番のrobots.txtに反映されるわけではないので、テストが完了したタイミングで送信ボタンをクリックし、ダウンロードしておきましょう。

このrobots.txtテスターは画面上で編集ができるので、ここでテストを行なうと良いでしょう

テストする際には、ロボットを指定することができます。

テストする際には、ロボットを指定することができます。

この場合はrobots.txt上では「googlebot-news」を指定しており、テスト用のロボットには「googlebot」を選択しているので、クロールはブロックされず、許可されます。

作業が完了しましたら「送信」ボタンをクリックし、編集済みのrobots.txtをダウンロードしましょう。
その後ファイルをルートディレクトリにアップし直したら、「2アップロードされたバージョンを確認」をクリックし、正しくアップロードされているか確認しましょう。直接アクセスしてもOKです。
問題がないようであれば、最後に「3Googleに更新をリクエスト」することで、Googleに最新版のrobots.txtを伝えることができます。お疲れさまでした。

作業が完了しましたら

robots.txtの注意点

robots.txtを使用する上で、よくある注意点を挙げていきます。

①インデックスの制御のためには使用しない

指定されたページ、ディレクトリへのクロールをブロックするため、確かにインデックスはされにくいのですが、外部リンクなどにより、そのページを見つけた場合はインデックスされることもあります。
また、この場合はページ情報は取得(クロール)できないため、検索結果に表示される際の表示は特殊なものになります。

この場合はページ情報は取得(クロール)できないため、検索結果に表示される際の表示は特殊なものになります。

よって、インデックスさせたくない場合は、robots.txtを用いるのではなく、noindexを設定しましょう。
そして設定する際は、ブロックしたままだとnoindexを検知することができないため、ブロックを解除した上で設定しましょう。

②ユーザーは引き続きアクセス可能

robots.txtでアクセスをブロックできるのは、クローラーのみです。ユーザーは問題なくアクセスできるので注意しましょう。
よって、会員限定コンテンツや有料ページなどに対し、ユーザーのアクセスを禁じる意味で設定しても効果はないので、注意しましょう。

③ページ数の少ないサイトはそこまで気を配らない

冒頭でもお伝えしましたが、ページ数が少ないサイトではクロールの問題が起きにくいこと、robots.txtの設置が必須ではないことから、ページ数が少ないサイトでは対応優先度を下げても良いと考えています。

まとめ

robots.txtはクロールの制御を目的として設置されるファイルです。
ページ数の多いサイトではクローラビリティの改善などメリットもありますが、誤った記述をしてしまうとサイトの流入を大きく減らしてしまうため、robots.txtテスターなどを用い慎重に設置しましょう。
また、ページ数の少ないサイトなどでは、クロール制御が不要なことが多いため、無理に設置する必要はありません。

このようにrobots.txtはかなりテクニカルな領域であり、実務では「どうしたらよいのだろう」と困ることもあると思います。もしお困りでしたら弊社のコンサルタントがサポートいたします。まずはお気軽にお問い合わせ下さい。

\SEOの疑問がある場合は、ぜひご相談ください!/

関連記事

302リダイレクトとは/301リダイレクトとの違いや使用時のポイントを解説

302リダイレクトとは/301リダイレクトとの違いや使用時のポイントを解説

PWA(Progressive Web Apps)とは?PWAの機能と導入するメリットを解説

PWA(Progressive Web Apps)とは?PWAの機能と導入するメリットを解説

.htaccessとは 主な活用方法やディレクトリへの有効範囲について

.htaccessとは 主な活用方法やディレクトリへの有効範囲について

新着記事

マーケティング 集客

集客はマーケティングの1つ!押さえておきたい4つのポイントを紹介

ウェブ集客

ゼロからわかる!ウェブ集客の方法やメリット・デメリットを解説

リスティング広告

リスティング広告の6つのメリット・5つのデメリットを解説

サイト内検索