robots.txtとは?設置で得られる効果を徹底解説!
robots.txtは、サイトの情報を収集するクローラーからのアクセスを許可したり、逆にブロックしたりするのに使用するファイルです。
ロボット型の検索エンジンは、WEB上のコンテンツを「クローラー」と呼ばれるプログラムで収集してデータベースを構築しています。このクローラーに対して、WEBサイト情報の収集に制御をかけることができるのが「robots.txt」です。ファイルの書き方や設置方法を学んで活用すれば、SEOにおいて不要なサイト情報の収集を防ぎ、自社サイト内を効率よくクローラー巡回させることができます。
この記事ではrobots.txtの効果や設定方法、設置時の注意点などについて詳しくご紹介します。robots.txtを正しく理解して、適切にクローラーを制御すればSEOに役立てることができます。
この記事の目次
robots.txtとは
冒頭でも触れましたが、robots.txtは、クローラーからのアクセスを許可したり、逆にブロックしたりするのに使用するファイルです。
URLが存在していたり、外部サイトや内部ページにリンクを貼っていれば等しくクローラーが巡回してくれるというわけではありません。サイト内でクロールされるページ数には限りがあります。そのため、「クロールさせたいページとクロールさせたくないページ」をクローラーに知らせる必要があるのです。
robots.txtでクロールをしてほしくないページを制御すれば、クロールしてほしいページだけを優先的にクロールさせることが可能になります。そのため、クロールする必要のないファイルを避けて、SEOにおいて必要なWEBページだけをインデックスさせたい場合などに有効活用できるのです。
robots.txtを設置するページの例
- お問い合わせ&サンクス:コンテンツ内容が少ない
- 会員限定ページ:ログインしないと閲覧できない場合が多く、クローラーが読み込めない
- 画像だらけのLP:コンテンツが少ない or キャンペーン用にコピー複製している場合がある
- テスト開発中のページ:テスト段階なのでインデックスされて見られては困る
これらのページはどうしてもコンテンツ内容が少なくなり、また品質も低くなりがちで低評価を受けてしまうかもしれません。クローラー巡回の散開を防ぎ、重要なページを優先的にクローリングしてもらうためにも、robots.txtでクローラーの巡回をブロックする必要が出てくるでしょう。
robots.txtは、必ずしも必要なファイルというわけではありませんが、「想定していないページに流入が発生したとき」や「検索結果に表示させたくないページがあるとき」のために適切に設置できるようにしておくことが大切です。
robots.txtのファイルの書き方
robots.txtはテキストエディターで記述していきます。記述の際に重要な要素は下記の5つです。
①User-Agentでクローラー指定
一般的なUser-Agentの記述は、以下となります。
User-Agent:*
Disallow: /example/
Sitemap: http:/aaabbb.com/sitemap.xml
それぞれの記述方法や意味を詳しく見ていきましょう。
まずは、巡回して欲しくないクローラーを「User-Agent」を使って指定します。ただし、個別に検索エンジンを指定するケースはあまりないため、特に理由がない場合は全クローラーを対象とする「*」を書いておきましょう。
User-Agent: *
②Disallowでクロールを禁止
「Disallow」には、ユーザーにアクセスして欲しくないページを指定します。
【特定のディレクトリを指定する場合】
・Disallow: /aaabbb/
【特定のファイルを指定する場合】
・Disallow: /aaabbb.html
③Allowでクロールを許可する
「Allow」は、クロールを許可するページを指定します。使用するケースは少ないですが、Disallowで制御をしたディレクトリ下の特定ページだけクロールを許可したいときには役立つでしょう。なお、クローラーはDisallowよりもAllowを優先します。
【記述例】・Disallow: /aaabbb/
・Allow: /aaabbb/important.html
④末尾を一致させてクロールを制御
「$」は、末尾が同じになるURLパスを指定したいときなどに役に立つ記述です。
Disallow: /aaabbb/$
この例では、末尾が「/aaabbb/ 」に一致するURLにクローラーがアクセスすることを拒否できます。
⑤Sitemapの場所を知らせてクローラビリティを向上させる
「Sitemap」は、サイトマップのURLを記述して指定のページをクローラーに知らせることができます。サイトマップのURLを記述しておくと、ユーザーが自社のページを見つけやすくなるなど、記述していないときと比べて認識しやすくなるのでクローラビリティの向上に効果的です。
そのため、必ず記載するようにしておきましょう。
Sitemap: https://aaabbb.com/sitemap.xml
robots.txtファイルの設置方法
WEBサイトを公開するためには、制作した文章や画像のデータなどをWEBサーバーに転送する作業が必要です。そのため、robots.txtは「FTPソフト(File Transfer Protocol)」などを使ってアップロードします。
このとき、robots.txtを設置できる場所はサイトの「ルートディレクトリ」だけです。それ以外の場所に設置しても、その内容をクローラーに伝えることはできないので注意する必要があります。
なお、ファイルには「robots.txt」という名前をつけるようにしましょう。
○ : https://aaabbb.com/robots.txt |
× : https://aaabbb.com/example/robots.txt |
「サブディレクトリ型のサイト」にはrobots.txtを設置することができないので、代わりに「robots metaタグ」を使います。メタタグを使ってインデックス(検索結果表示)を拒否する場合は、指定したいページの<head>内に以下の記述をしましょう。
<meta name="robots" content="noindex" />
robots.txtの記述をGoogleサーチコンソールで確認する方法
robots.txtに記述した内容に則して正常に機能しているか、誤って動作していないかどうかを確認したいというときは、Googleサーチコンソールの「robots.txtテスター」を用います。
重要なページを誤ってブロックしてしまわないためにも、必ずテストを実施するようにしましょう。
▼関連記事はこちら
Googleサーチコンソールの基本から設定・活用ポイントまで徹底解説!
【手順】
➀「クロール>robots.txtテスター」をクリック
➁ 書き上げたテキストを貼り付ける
➂「テスト」をクリックする
robots.txtのファイルを正しく書いたつもりでいても、思わぬスペルミスや打ち間違いはよく起こるものです。繰り返しますが、クローラーはファイル内の大文字と小文字も区別します。細かい点にも気を配りながら「記述と確認」を繰り返し行うことが、正しく動作させるためのポイントです。
robots.txtが設置されているか確認する方法
robots.txtファイルが自分のサイトに存在しているかどうかは、直接アクセスしてみて確かめましょう。
robots.txtは、サイトのルートディレクトリに設置されます。サイトのルートURLにアクセスしてから、URLの末尾に「/robots.txt」と書き加えてアクセスしてください。
例「https://www.○○.jp/robots.txt」
404や403などのエラーではなく、プログラミングのような文字列が表示されたなら、robots.txtが存在していることになります。表示される内容は、robots.txtに記述されている内容そのもので、クローラーがサイトのそれぞれのコンテンツをクローリングするかどうかを判断するために読み込まれます。
エラーになる場合は、robots.txtが存在していないと判断され、すべてのコンテンツがクローリング対象となります。
robots.txtとnoindexタグの違いについて
robots.txtは「FTPソフト(File Transfer Protocol)」などを使ってアップロードします。noindexは、HTMLファイルに記述する項目です。
noindexが指定されているコンテンツは、クローリングされたとしてもインデックスさせないようにします。一方、robots.txtはnoindexと異なり、クローリングするかどうかを指定します。ですから、クローラーを巡回させたくないコンテンツや優先的に巡回させたいコンテンツがある場合は、robots.txtを使って指定しましょう。
また、クローリングされるのはかまわないが、インデックスはされたくないというコンテンツには、noindexを指定します。robots.txtとnoindexを上手に使い分けることによって、効率的なクローリングを促せられます。robots.txtは、ブラウザから直接アクセスして閲覧することは防げません。サイトにどのようなディレクトリが存在するのかを明かしてしまうことにもなりかねないので、記述する項目には、注意が必要です。
robots.txtの注意点
robots.txtを正しく活用するためにも、「よくある間違い」をチェックして、思わぬミスが発生するのを防ぐようにしましょう。特に注意したいのは、robots.の「s」を忘れるなどの記述ミスや活用方法を誤ってしまうということです。
要するに、「あなたが制御したいこと」と「制御したファイル」が違わないように上手く利用できるようにすることが大切です。
インデックスの削除・ブロックはできない
robots.txtが制御できるのは、クローラーの巡回のみです。クローリングされた後にインデックスに登録されているコンテンツの削除やブロックはできません。
【すでに登録されているURLを削除したい場合】
・Googleサーチコンソール「URL削除ツール」
【インデックスをブロックしたい場合】
・HTMLファイルに「noindex」と記述
重複コンテンツの正規化に利用してはいけない
robots.txtは、重複コンテンツの正規化対応に使えません。重複しているコンテンツを制御したいというときには、以下の方法でURLを正規化しましょう。
Disallowはユーザーのアクセスまでブロックできない
robots.txtでクロールさせたいページを誤ってブロックしてしまうと、トラフィックに悪影響を与える可能性があります。robots.txtは非常に強力なシグナルであるため、Disallowを利用する場合は誤った箇所をブロックしないようにくれぐれも注意しましょう。
Disallowの記述の仕方によっては、サイト全体のクロールをブロックすることになります。誤って記述してしまうとサイト全てが検索結果に表示されなくなってしまうので、注意しましょう。
また、クローラーが来ることを制限することはできますが、ユーザーがファイルなどにアクセスするという行動自体の制限はできません。見られたくないページのアクセスを制限したい場合は、「Basic認証」や「IPアドレス」でアクセスを制限しましょう。
robots.txtを無視するクローラーもある
主な検索エンジンは気にしなくてもいいですが、クローラーのなかには記述を無視しまうものが存在します。
ファイルの内容を無視してしまうようなクローラーを対策したいときには、WEBサーバーの基本的な動作をディレクトリ単位で制御する「.htaccess」ファイルなどを使ってブロックするようにしましょう。
内容が反映されるまでに時間がかかる
robots.txtを編集しても、Googleがキャッシュをクリアするまで内容は反映されないため、効力を発揮するには多少の時間がかかります。
クロールやインデックスといったようなものは複雑な仕組みによって行われているので、反映されるまでの時間も一律ではありません。これを編集する場合には、できるだけ時間に余裕をもって行うといいでしょう。
すぐにでも結果を反映させたいという場合には適していないため、できれば最低でも1週間ぐらい前にはアップロードやチェックなどを終わらせておきたいところです。
大文字・小文字の区別をする
クローラーは大文字と小文字の違いもしっかりと認識するので、記述するときにはコピー&ペーストを使うなどして誤記がないよう注意しましょう。
スラッシュでDisallowルールを始めない
Disallowルールをワイルドカードで記述すると、意図しないコンテンツがDisallowに含まれて、クローラーに巡回されなくなる可能性があり、危険です。
例えば、最初の階層をDisallowに指定しようとして書いたルールと同じ文字列が、下層のディレクトリ名にも含まれていると、どうなるでしょうか。この場合は、下層ディレクトリにもDisallowルールが適用されてしまい、インデックスされなくなってしまいます。
一方、スラッシュは、パスの文字列の先頭部分から指定しますから、誤って下層のディレクトリ名に意図せずに適用されてしまうということはありません。ワイルドカードではなく、スラッシュでDisallowルールを書き始めるなら、必ず最初の階層にだけ適用されるルールが設定できます。
まとめ
今回は、robots.txtの書き方や設置方法などについて詳しくご紹介しました。
robots.txtはブロックしたいページがないという場合でも適切に使用すれば、クローラーの巡回の効率をあげることができます。「検索エンジンに正しく評価してもらえる」というメリットがあるので理解しておきましょう。
ただし、誤った使い方や設定をすると、トラフィックの減少といった悪影響が出ることもあるので注意が必要です。目的に合った成果を出すためにも、間違った使い方をしないための知識を得ることが大切と言えます。
これまでのご説明でわかっていただけるように、SEOの実施において「robots.txt」と「クローラー」はセットで正しく理解しておきたい重要な要素です。クローラーに関してより知識を深めたい方は、以下の記事も参考にしてみてください。
▼その他の関連記事はこちらから
・noindex、nofollowとは?使い方を理解してSEOを強化しよう!noarchiveやrobot.txtについてもご紹介
・noarchiveとは?SEOにどう影響するのか
・SEOにおいて重要なheadタグの書き方 タイトル、カノニカルetc
・SEO内部対策は何をする?行うべき施策5選
・被リンクとは?メリットや確認方法、無料・有料の被リンクチェックツールも紹介
執筆者:ヒトノート編集部
株式会社ヒトノテのオウンドメディア、WEBマーケティングの学習帳「ヒトノート -Hito note-」の編集部。
監修者:坪昌史
株式会社ヒトノテの代表取締役CEO。 エンジニアとしてキャリアスタートし、サイバーエージェントのSEO分析研究機関を経て、リクルートの横断マーケティング組織のマネージャー&全社SEO技術責任者を務める。その後、独立しSEOを中心としたクライアントの課題解決を行う。2017年、株式会社ヒトノテを創業し、様々な企業のウェブマーケティングの支援を行う。
おすすめの関連記事
─ 記事カテゴリから探す ─
元リクルートのSEO責任者へ無料相談
人気記事ランキング
-
2024.05.30
キーワードマーケティングのやり方とは?SEOの効果が見込める手順を徹底解説
-
2024.05.27
SEOにおけるURL設計のベストプラクティス
-
2024.04.25
ページネーションのSEOにおけるベストプラクティス
-
2024.04.22
E-E-A-Tとは?Googleが評価するコンテンツの基準や対策を解説
-
2021.12.06
レスポンシブデザインの最適ブレイクポイントとは?メディアクエリの書き方も解説
-
2021.07.09
Webコンテンツにおける正しい引用の書き方をマスターしよう!
-
2021.12.22
【徹底比較】さくらのクラウドとAWSの特徴・機能・料金の違いを解説
-
2022.02.21
「note」のユーザー数や年齢層を徹底分析!【2022年版】
-
2022.07.05
WordPressで301リダイレクトを設定する方法とは?初心者でも可能