- 公開日: 最終更新日:
robots.txtとは?書き方や設定方法を解説
robots.txtとは、検索エンジンの情報収集プログラムになるクローラーを制御することができるテキストファイルのことを言います。
robots.txtを適切に作成して設置することで、検索エンジンの情報収集効率を高めることが可能です。
当ページでは、robots.txtとは何かや、書き方、4つの要素、設定方法、確認法、注意点を解説します。
目次
robots.txtとは
robots.txtとは、ホームページの情報収集を行う検索エンジンのクローラーの動作をコントロールするために利用されるテキストファイルのことを言います。
上記は当社のrobots.txtになり、主な利用方法は、検索結果に出てきてほしくないページをrobots.txtに記述することで、検索エンジンは該当ページにアクセスすることができなくなり、検索結果に表示されることがなくなります。
検索エンジン全般だけではなく、例えば、Googleでは出てきて欲しいけど、Bingには出てきて欲しくないや、Googleの画像検索に表示させたくないなど、クローラーごとの制御も可能なので、ホームページの目的に応じて自由に設定することができます。
一般的なホームページであれば、robots.txtを利用する必要はありませんが、大規模サイトでクローラーにスムーズにサイト内を巡回して欲しい場合や、検索結果に表示させたくないページやファイルがある場合に利用されます。
では次に、検索結果に出てきてほしくないページは、noindexタグでも対応が可能なのですが、noindexとrobots.txtでは、どんな違いがあるのかや、使い分けのタイミングを解説します。
robots.txtとnoindexの違い
robots.txtとnoindexは、どちらも検索結果に表示させない設定が行えますが、その違いはクローラーがどのような挙動を行うかです。
- robots.txt:クローラーがアクセスすらできない
- noindex:クローラがアクセスしたうえでインデックスを拒否
すなわち、robots.txtでクローラーのアクセスを拒否した場合はクローラーがページに訪問すらできませんが、noindexの場合はクローラーは訪問できますがインデックスはできません。
robots.txtとnoindexを使い分けるタイミング
robots.txtとnoindexを使い分けるタイミングは、クロールバジェットを意識するかどうかです。
クロールバジェットとは、ホームページごとに、クローラーの訪問上限回数が定められているのですが、クローラーの訪問頻度が高いホームページであるほどSEO効果が高くなります。
robots.txtで制御すればクローラーの訪問がないのでクロールバジェットを無駄に消費しませんが、noindexの場合はクロールバジェットを消費してしまいます。
そのため、検索結果に出てくる必要がないページは、noindexよりもrobots.txtでクローラーの訪問を制御したほうが良いのですが、実は1万ページを超えるホームページ以外はnoindexの方が良いと言えます。
と言うのも、Google検索セントラルにクロールバジェットへの意識は10,000ページ以上の場合だけで良いと明記されているので、手間のかかるrobots.txtよりもnoindexの方がスムーズに作業が行えます。
そのため、robots.txtを利用するタイミングとしては、10,000ページを超えているかどうかで判断をして、10,000ページ未満の場合はnoindexで対応しましょう。
robots.txtの書き方
robots.txtの書き方は、サンプルとして、WordPressをインストールしたホームページで表示されるrobots.txtを解説します。
User-agent: *
Disallow: /wp/wp-admin/
Allow: /wp/wp-admin/admin-ajax.php
Sitemap: https://sample.jp/sitemap.xml
Sitemap: https://sample.jp/sitemap.rss
上記をrobots.txtの全体像として把握すれば、以下で解説する4つの要素をより深く理解することが可能です。
robots.txtの4つの要素
全体的なrobots.txtのイメージが分かったと思うので、次は記述する4つの要素を解説します。
User-Agent
書き方にあるUser-agent: *の箇所です。
User-Agentに、制御したいクローラーを入力することで、そのクローラーに対してのみに効力を発揮することができます。
一般的に指定されるクローラーとしては以下があります。
- すべてのクローラー:*
- Googlebot:Googlebot
- AdSense用クローラー:Mediapartners-Google
- 画像用Googlebot:Googlebot-Image
Googleのクローラーについては、Google検索セントラルのGoogle クローラーとフェッチャーの概要(ユーザー エージェント)のページからご確認ください。
その他の検索エンジンのクローラーで代表的なものは以下があります。
- Bing:Bingbot
- 日本以外のYahoo!:Yahoo Slurp
- 百度:Baiduspider
- Naver:Yetibot
- Apache:ManifoldCF
- Apple:AppleBot
Disallow
書き方にあるDisallow: /wp/wp-admin/の箇所です。
Disallowには、クロールを制御するページやディレクトリを記載することで、そのページやディレクトリにクローラーがアクセスできなくなります。
Disallowの記述法として、サイト全体とディレクトリ、ページを拒否する場合の3つを紹介します。
サイト全体を拒否する場合
Disallow: /
ディレクトリを拒否する場合
Disallow: /directory/
ページを拒否する場合
Disallow: /private/sample.html
Allow
書き方にあるAllow: /wp/wp-admin/admin-ajax.phpの箇所です。
Allowは、Disallowで指定したディレクトリ内にあるサブディレクトリや特定のページのクロールを許可する場合に利用されます。
Allowを記載する際には注意点が2つあります。
1つ目が、Disallowで指定していないディレクトリやページを記載する必要はなく、記載してしまうと、クローラーが混乱をしてしまい、SEOでマイナス影響を受ける可能性があります。
2つ目が、Disallowで指定したフォルダーを記載し、例えば、Disallow: /wp/wp-admin/と記載をしていたら、Allow: /wp/wp-admin/admin-ajax.phpというように、/wp/wp-admin/を含めなくてはなりません。
Sitemap
書き方にあるSitemap: https://sample.jp/sitemap.xmlとSitemap: https://sample.jp/sitemap.rssの箇所です。
Sitemapは、robots.txtの対象になるホームページがアップロードしているXMLサイトマップとRSS/ATOMになるフィードが、どこに設置されているのかを記載することができ、Sitemapの位置を記載することでクローラーがサイト全体のページを巡回してくれる可能性が高まります。
ただし、Google検索セントラルにSitemapは省略しても良いと記載があり、もしかすればGoogleはSitemapを見ていないかもしれません。
robots.txtの設定方法
作成したrobots.txtは、ファイル名をrobots.txtにして、FTPソフトを使って、ホームページのデータをアップロードしているサーバーにアップロードします。
アップロードする箇所は、ルートドメインになっており、ルートドメイン以外に設置をしてしまうと、検索エンジンはrobots.txtを無視してきます。
URLで紹介すると以下になります。
OK
http://sample.com/robots.txt
NG
http://sample.com/blog/robots.txt
robots.txtの確認方法
上記の形でrobots.txtのアップロードが終わったら、記述している内容が正しいかどうかを確認しなくてはならず、Googleサーチコンソールにアクセスをして、設定>robots.txt>レポートを開くから確認ができます。
従来は細かく確認することができたのですが、現在では、シンプルな確認しかできず、ステータスの列が取得済みになっているのかの確認だけです。
当社ではステータスが取得済み以外のホームページを見たことがないのですが、Search Console ヘルプのrobots.txt レポートのページを見ると、取得済み以外にも、未取得 - 見つかりませんでした(404)と、未取得 - その他の理由が表示され、問題点の提示も行ってくれるようです。
robots.txtの注意点
最後に、robots.txtを設定する前に確認しておきたい注意点を紹介します。
robots.txtを設置しただけではSEO効果は出ない
robots.txtはクローラーを制御するためのものになり、10,000ページ以上のホームページであれば、SEO効果を見込める可能性はありますが、10,000ページ未満のホームページでは、SEO効果が高まることはありません。
間違えて設定するとSEOに悪影響がある
robots.txtの記述法を間違えていると、SEO効果を落としてしまう可能性があります。
例えば、Disallowを記述したディレクトリやページは検索結果に表示されなくなってしまうので、仮にもともとは高いSEO効果を得ていたページが含まれていると、検索エンジンからのアクセス数が大幅に落ちてしまいます。
robots.txtを指定してもユーザーは閲覧可能
robots.txtは、クローラーを制御するものになるので、robots.txtでDisallowを指定したページでもユーザーは閲覧することができます。
もし、ユーザーにもアクセスされたくないページの場合は、Web認証を設定する必要があります。
robots.txtを無視するUser-Agentも存在する
robots.txtは、検索エンジンのクローラーに対して、巡回拒否や許可を指示できるファイルです。
しかし、User-Agentによっては無視することがあり、主要な検索エンジンであれば、記述された内容に従ってくれますが、マイナーな検索エンジンだと無視してくる可能性があります。
効果が出るまでに1~2週間かかる
robots.txtをアップロードしても、効果が出るまでには1~2週間かかり、検索エンジンがrobots.txtを確認してから効果が出ます。
robots.txtのまとめ
robots.txtとは何かを解説しました。
robots.txtはクローラーを制御するためのテキストファイルのことを言い、robots.txtをアップロードするだけで、SEO効果が高まることはないと理解しましょう。
robots.txtって何?とお思いの方の参考になれば幸いです。