robots.txtとは?クロール拒否する方法・書き方・必要性を解説

robots.txtとは、特定のページやフォルダへのクロールを拒否できるテキストファイルのことを指す。

例えば以下のようなコードを書き、サイトのルートディレクトリにアップロードすることで実現できる。

robots.txt

User-agent: Googlebot

Disallow: /sample/

User-agent: *

Allow: /

Sitemap: http://www.example.com/sitemap.xml

検索エンジンに「クロールさせないコンテンツ」を指定することで、重要なコンテンツを優先的にクロールさせることが可能になる。そのため、robots.txtには一定のSEO効果を期待できるといえるだろう。

しかし、Google公式ヘルプを確認すると、Googleは「大規模サイトや、更新頻度が高い中規模サイトでなければ、robots.txtは設置しなくても構わない」と明言している。

なぜならば、数千ページ程度のサイトならばクローラーは効率的に行われるからだ。小規模サイトの場合、無理にrobots.txtを設置しなくてもOKである。

逆に、むやみにrobots.txtを指定することで、SEOに逆効果となる可能性すらある。

robots. txtを設置すべきか判断するポイント

【大前提】robots.txtは、必要なければ設置しなくてOK

中規模以上・更新多めなら、設置がおすすめ

小規模サイトや更新頻度が低いサイトは、無くてOK

メディアファイルをインデックス拒否したい時は設置

Search Consoleでindexエラーが多い場合は設置推奨

この記事では、「robots.txtで何ができるのか」という基本的な情報はもちろん、「結局のところ設置した方が良いの?」「どんなページに設置すべきなの?」という疑問にしっかりと答えていこうと考えている。

robots.txtを設置しようとしている全てのコンテンツ担当者は、ぜひこの記事を読んで参考にしてほしい。


1. robots.txtとは?

robots.txtとはサイトの一番上の階層に設置するテキストファイルのことである。コンテンツごとにクロールを拒否するのが主な役割となる。

1-1. robots.txtでクロールしてほしくないコンテンツを制御できる

robots.txtにはクローラーへの命令を記述でき、クロールしてほしくないコンテンツを制御できる。

例えば「このフォルダ以下はクロールを禁止する」と記述すると、特定のフォルダをクロールさせないように指示ができる。

クロールさせないコンテンツを指定するメリットは、重要度の高いコンテンツを優先的にクロールできることだ。特に大規模なサイトの場合、サイト全体のSEOに良い効果があると考えられている。

1-2. robots.txtとnoindexタグの違い

robots.txtと似ているものに「noindexタグ」があるが、役割が違うので整理しておこう。

robots.txtnoindexタグ

クロール(巡回)をブロック

するように制御するもの

インデックスをブロック

するように制御するもの

インデックスされない

わけではないので注意⚠️

インデックス済コンテンツの

インデックスから削除可能

インデックスとは、検索エンジンにページが登録されることを意味している。

robots.txtで指定したページやフォルダは、クローラーが巡回しなくなる。しかし、クロールされなくても、既にクロールされていたり他のページからリンクを貼られたりしていれば、インデックスされる可能性はある

つまり、インデックスされたくない場合は、robots.txtではなくnoindexを使うべきだ。

noindexを指定する場合は、ページごとのmeta要素に記述することで制御できる。詳しくは、バズ部の別記事「noindexとは?設定方法や注意点を分かりやすく解説」を確認してほしい。

1-3. robots.txtで指定できる4つの要素

robots.txtの主な役割は「Disallowで特定のページやフォルダのクロールを禁止する」ことだが、厳密に言うと他にも役割はある。robots.txtで指定できるのは以下の4つの要素だ。

4つの要素

役割

User-Agent

どのクローラー(例:Googlebot)を制御するかを指定する

Disallow

主に使われる用途

特定のファイルやフォルダに対して「クロールさせない」という指示ができる

Allow

Disallowで指定したフォルダで例外的にクロールさせたいファイルやフォルダを指定できる

Sitemap

サイトマップ(sitemap.xml)の場所をクローラーに伝える

❶User-Agent【記述必須】

どのクローラーの動きを制御するかを指定できる。特にこだわりが無ければ「*」としておけば、Google含むすべてのクローラーを指定できる。

// Googleのクローラーを対象にしたい場合

User-Agent:Googlebot

// 全てのクローラーを対象にしたい場合

例:User-Agent:*

❷Disallow

特定のファイルやフォルダをここに指定することで、そのファイルやフォルダをクロール(巡回)しないよう命令できる。

// サイトの直下にある「sample」というフォルダをクロール拒否にしたい場合

Disallow:/sample/

❸Allow

Disallowでクロールさせない設定にしているフォルダの中で、例外的にクロールさせたいファイルやフォルダを指定すると、該当するファイルのみクロールを許可できる。

// must.htmlというページだけ例外的にクロールしてもらいたい場合

Allow:/sample/must.html

❹Sitemap

サイトマップ(sitemap.xml)の場所をクローラーに伝えることで、クロールを促せる。設定は必須ではないが、設定しておくのがおすすめ。

Sitemap:http://sample-site.jp/sitemap.xml


2. robots.txtを設定する3つのメリット

あらためて、robots.txtを設定するとどんなメリットがあるかを解説していこう。

2-1.【SEO効果あり】重要コンテンツだけ集中的にクロールしてもらえる

Disallowを指定してクロールさせたくないページやディレクトリを指定することで、重要なコンテンツだけに集中してクロールしてもらえるようになる。

特に大規模サイトの場合、何万ページもクロールするのには時間がかかる。そこで、クロールしなくて良いコンテンツをrobots.txtで指定しておけば、重要なコンテンツを優先的にクロールしてもらえる。

結果的に、重要コンテンツのクロールが早まり、SEOが改善される効果が得られる。

2-2. 画像・動画・音声ファイルを検索結果に表示できなくできる

robots.txtを使う2つ目のメリットは、特定の画像や動画、音声ファイルを検索結果に表示できなくできることである。

HTMLファイルの場合は、metaタグで「noindex」を設定すれば検索結果に表示させないことが可能だが、画像・動画・音声ファイルにはタグを書く場所がないため「noindex」は使えない。そのため、robots.txtに記述して検索結果に表示できなくさせる方法を採るしかない。

// サイトの直下にある「images」というフォルダをクロール拒否にしたい場合

Disallow:/images/

ただし、既にインデックスされてしまっている場合にはこの方法は使えない。

2-3. XMLサイトマップの場所を伝えられる

サイトマップのURLを指定することで、クローラーにサイトマップの場所を教えることができる。

// 設定例

Sitemap:https://lucy.ne.jp/bazubu/sitemap.xml 

サイトマップとは、サイトの構造をリスト形式で記述したものである。クローラーにサイトマップを読ませることで、サイトの内容を理解させやすくなる。

例えば、どこからもリンクが貼っていないページがある場合、リンクを辿って新しいページを発見する検索エンジンはそのページを見つけられない。しかしサイトマップがあれば、そうしたページを把握してもらうことができる。

SEOにおいてもメリットが大きいので、robots.txt内のSitemapの設定も積極的に行おう。


3. robots.txtを設置すべきか判断するポイント

「結局のところrobots.txtは設置した方が良いの?」と疑問に思う方も多いだろう。

結論から言うと「robots.txt」の設置は必須ではなく、Google公式ヘルプでも「大規模かつ頻繁に更新されるサイト向けの方法」として紹介されているものである。

 Google公式ヘルプには、「サイトの URL が数千もない場合、そのサイトのクロールはたいてい効率的に行われます」と書かれており、小規模サイトがrobotx.txtを置かないことには問題はない。

3-1.【大前提】robots.txtは設置しなくても良い

robots.txtは、何度も言うようにクロール許可をブロックするために設置するものである。クロール拒否したいコンテンツが特に無い場合は、設置しなくて全く問題ない

参考:Google検索セントラル「robotsに関する一般的な質問」

3-2. 中規模(1万ページ)以上のサイトはrobots.txt設置がおすすめ

Google公式ヘルプによると、クロール割り当ての対象者を以下のように説明している。

クロール割り当てを推奨する対象者

大規模なサイト(100万ページ以上)で、

 コンテンツの更新頻度が中程度(1週間に1回)の場合

中規模以上のサイト(10,000ページ以上)で、

 (日常的に)コンテンツがめまぐるしく変更される場合

Search Consoleで「合計URL」の大部分が

「検出-インデックス未登録」に分類されたサイト

参考:Google検索セントラル>大規模なサイト所有者向けのクロール割り当て管理ガイド

大規模サイト(100万ページ以上)や更新頻度が高い中規模サイト(1万ページ以上)では、Googlebotが一度にクロールできる能力を超えてしまい、正しくインデックスされない可能性がある

あなたの運営サイトが1万ページ以上の規模のサイトなら、robots.txtを設置し、サイトのクロール効率を最大化すべきである。

どのコンテンツをクロール拒否すればいいかを決める時には、Googleヘルプに書かれている内容を参考にしよう。できるだけ重要度が低いコンテンツから順番に、robots.txtの「Disallow」でクロールを拒否する設定を行おう。

・情報が重複している無限スクロールページ

・並び方が違うだけの同一ページ

・検索上、重要でないページ

参考:Google検索セントラル>大規模なサイト所有者向けのクロール割り当て管理ガイド

※他サイトから参照している場合、robots.txtでクロール拒否してもクロールなしでインデックスされる可能性がある。インデックスされたくない(検索結果に表示されたくない)場合には、robots.txtではなく「noindex」を使おう。

3-3. 小規模サイトや更新頻度が低いサイトはrobots.txtがなくても良い

3-2で解説した条件に合致していない小規模サイトや更新頻度が低いサイトの場合は、robots.txtそのものを設置しなくても、クロール上の問題は起こらない。

では、SEOの観点からはどうだろうか?

robots.txtを置くことで重要なコンテンツのクロールが優先されてSEO効果を得られるのは、Googleボットのクロールが間に合わないような中~大規模サイトに限定される。

小規模サイトであればrobots.txtが無くても正しくクロールされるため、robots.txtでクロール拒否したからといって劇的なSEO効果が得られる可能性は低い

ただし、SEO効果はなくとも、明らかにクローラーにとって意味のないページやディレクトリは、クロール拒否を指定しておいても良いだろう。

3-4. メディアファイルをインデックス拒否する時はrobots.txtを設置すべき

サイトの規模によらず、メディアファイル(画像・動画・音声ファイル)をGoogle検索結果に表示させたくない場合には、robots.txtを設置すべきである。

2-2. 画像・動画・音声ファイルを検索結果に表示できなくできる」で述べた通り、robots.txtでしかメディアファイルをGoogle上で非表示にする方法は無いからである。

3-5. Search Consoleで多くのページがエラーになる場合もrobots.txtを設置すべき

Search Console」で合計URLの大部分が「検出- インデックス未登録」に分類されてしまう場合には、robots.txtを設置すべきである。

クロール上の問題が起きている可能性があるため、robots.txtを設置して、クロールしてほしいコンテンツを優先的にクロールさせる必要がある。


4. robots.txtファイルの具体的な書き方

ここからは、robots.txtを設置する場合の具体的な書き方(記述方法)を解説していこう。

User-agent: Googlebot

Disallow: /sample/

User-agent: *

Allow: /

Sitemap: http://www.example.com/sitemap.xml

robots.txtはメモ帳などのテキストファイルで.txtの拡張子で保存し、そのファイルをサイトのルートディレクトリ(直下のアドレス)に配置することで設置できる。

4-1. User-Agent

どのクローラーの動きを制御するかを指定できる。続けて「Disallow」または「Allow」を設定しよう。

// Googleのクローラーを対象にして、特定のフォルダをクロール拒否したい場合

User-Agent: Googlebot

Disallow: /sample/

特にこだわりが無ければ「*」としておけば、Google含むすべてのクローラーを指定できる。

// 全てのクローラーを対象に、特定のフォルダをクロール拒否したい場合

User-Agent: *

Disallow: /sample/

命令文を組み合わせて、記述することもできる。

// Googleのクローラーには特定のフォルダをクロール拒否にして、その他のクローラーには全体のクロールを許可する場合

User-Agent: Googlebot

Disallow: /sample/

User-Agent: *

Disallow: /

4-2. Disallow

特定のファイルやフォルダをここに指定することで、クロールしないよう命令できる。

// サイトの直下にある「sample」というフォルダをクロール拒否にしたい場合

Disallow:/sample/

4-3. Allow

Disallowでクロールさせない設定にしているフォルダの中で、例外的にクロールさせたいファイルやフォルダを指定すると、クロールを許可できる

// wp-adminフォルダはクロール拒否するが、例外的にクロールしてもらいたい場合

Disallow: /wp-admin/

Allow: /wp-admin/admin-ajax.php

例外的にクロールさせたいページを指定する命令文なので、クロール拒否するページがない場合には使用しなくて問題ない

4-4. Sitemap

サイトマップ(sitemap.xml)の場所をクローラーに伝えることで、クローラーに正しくクロールしてもらうことを促せる。設定は必須ではないが、設定しておくのがおすすめである。

Sitemap:http://sample-site.jp/sitemap.xml

他の要素と違ってサイトマップは絶対アドレスの指定が必須なので、必ず「http」や「https」を含むアドレスをここに指定しよう。


5. robots.txtを設置する方法3ステップ

テキストファイルを用意できたら、サイトにアップロードして設置を行う。

アップロード前にGoogle公式のテストツールでテストができるので、ぜひ活用してほしい。

5-1. robots.txtファイルを作成する

4章で解説した通りにテキストファイルを用意し、「robots.txt」という名前で保存しておこう。

5-2. robots.txtのマークアップをテストする

robots.txtファイルをアップロードする前に、Googleが用意している「robots.txtテスター」でファイルをテストしよう。

具体的には、Disallowで指定する「クロールをブロックさせたいページ」をブロックできる記述になっているか確認できる。

手順は以下である。

robots.txtテスターを起動して、プロパティ(設置するサイト)を選択する

❷入力欄が表示されるので、作成したrobots.txtの内容をコピーして貼り付ける

User-agent: *

Disallow: /wp-admin/

Sitemap: http://sample.com/sitemap.xml

❸クロール拒否したいページ(例の場合は「wp-admin」フォルダ)を下の入力欄に入れて、テストボタンを押す

❹「ブロック済み」と表示が変われば、正しく記述できていると確認できる

❺同様に、例外的にクロールを許可したいページ(例の場合は「wp-admin/admin-ajax.php」ファイル)が許可されていることも確認できる。

※ここで「送信」ボタンを押すと、ここからrobots.txtを更新することも可能である。

テスターで記述が合っていることを確認できてから、テキストファイルをアップロードしよう。

5-3. robots.txtファイルをルートディレクトリにアップロード

作成したrobots.txtファイルを、FTPソフトを使ってルートディレクトリにアップロードしましょう。

ルートディレクトリとは、サイトが保存されているアドレスの直下のことである。ルートディレクトリ以外に置いてしまうと正しく制御できないので注意しよう。

例えばサイトのアドレスが「http://sample.com/」の場合、以下の場所にrobots.txtファイルを置くのが正解となる。

正解:http://sample.com/robots.txt

間違い:http://sample.com/sample/robots.txt

なお、サブディレクトリ型のサイトなど、ルートディレクトリにrobots.txtを配置できないケースでは、ページごとにメタタグによる指定が必要となるので注意しよう。

// メタタグの例(各ページのヘッダー部分に記述する)

<meta name=”robots” content=”noindex”>

アップロードできたら作業は完了となる。


6. robots.txtを設置する上での注意点4つ

最後に、robots.txtを設置する時に気を付けたい注意点を4つ解説する。使い方を間違ってしまうとSEOにおいて逆効果になることがあるため注意しよう。

6-1. SEOでマイナスにならないよう慎重に設定しよう

ここまで解説したように、robots.txtはクロールさせたくないコンテンツをクロール拒否できる便利な仕組みである。

しかしむやみやたらにクロールさせてたり間違って指定してしまったりすると、本来クロールすべきコンテンツを巡回してもらえなくなり、SEOにおいてマイナスになりかねない。

例えば、間違って以下のように設定してしまうと、全ページがクロール拒否になってしまう。

User-agent: * Disallow: /

こうしたミスが起こらないよう、慎重に設定するようにしよう。

6-2. robots.txtを指定してもインデックスはされる

robots.txtの設定でクロール拒否しても、他ページから参照されていれば、クロールすることなしにインデックス登録されてしまう可能性がある

Google検索結果に表示されないようにしたければ、robots.txtを使うのではなく、noindexタグを使うかパスワード保護など別の方法を使おう。

// noindexタグを使う場合

// インデックスさせたくないページのhead内に以下を記載する

<meta name=”robots” content=”noindex” />

noindexについては、「noindexとは?設定方法や注意点を分かりやすく解説の記事でさらに詳しく解説しているので参照してほしい。

6-3. 既にインデックスされているページは検索エンジンに残る

6-2の内容とも関連するが、既にインデックスされているページは、新しくrobots.txtでクロール拒否の指示を出したところで検索エンジンに残ってしまう。なぜならば、すでにインデックスされてしまっているからだ。

インデックスされてしまったページのインデックスを拒否するには、一旦robots.txtの指定を外してクロールできる状態にしてからnoindexタグを設定する必要がある。その後、インデックス削除されたことを確認してから、またrobots.txtを設定する。

インデックスされてしまったページの

インデックス登録を削除する方法

robots.txtの指定を外してクロール可能にする

noindexタグを設定する

インデックス削除を確認後、robots.txt再設定

少し手間はかかるが、これでインデックス済みのページを検索エンジンから排除できるので覚えておこう。

6-4. robots.txtで制御できない検索エンジンもある

Googlebotなど主要なクローラーはクロール前にまずrobots.txtを確認し、ブロックされているページがあるかどうかを確認する。

しかし、Google以外の検索エンジンも全てrobots.txtに対応しているとは限らない。

そのため、全ての検索エンジンから隠したいページがあるならば、robots.txtではなく、ページをパスワードで保護するなど別の方法を利用するのがおすすめである。


まとめ

この記事では、robots.txtとは何かから、設置すべきか判断するポイント、具体的な設定方法まで詳しく解説してきた。

robots. txtを設置すべきか判断するポイント

【大前提】robots.txtは、必要なければ設置しなくてOK

中規模以上・更新多めなら、設置がおすすめ

小規模サイトや更新頻度が低いサイトは、無くてOK

メディアファイルをインデックス拒否したい時は設置

Search Consoleでindexエラーが多い場合は設置推奨

小規模サイトなら、robots.txtは設置しなくても良い。クロールを最適化しなくても検索エンジンは正常にクロールできるからだ。

一方、大規模サイトや更新が多い中規模サイトなら、robots.txtで適切にクロールの割り当て管理を行うのがおすすめである。

注意点に気を付けながら、今回紹介した書き方や設置方法を参考に、robots.txtを設置してみることをおすすめする。

無料eBook:バズ部式マーケティング
広告費を1/10にして売上を倍増させる全手法

画像

広告に頼り切ったマーケティングの打開策としてコンテンツマーケティングについて調べているけれど、よく分からないと悩んでいませんか?

本書は弊社やクライアント様がコンテンツマーケティングに取り組み

  • ・SEOのみで月間100万PV集めた方法
  • ・平均6.92%のコンバージョン率が出た新規顧客獲得法
  • ・CPLやCPAを大幅に改善した方法とそのからくり

など、コンテンツマーケティングの効果と、具体的な施策内容を全94ページに渡って詳細に解説しているものです。

ぜひ、貴社のWEBマーケティングにもご活用ください。

eBookをダウンロード

コメントはこちらから