「robots.txtでSEO対策ができるってどういうこと?」「robots.txtとはそもそも何?」とサイトの内部対策に関する悩みを持っていませんか。
robots.txtを活用することで、重要でないページのクロールを制御して、インデックスさせたいページを効率よくクロールさせることができます。
本記事では、robots.txtの意味やSEO効果、設定方法について解説します。
目次
「自分でSEOの疑問を調べるは大変」
という方はウィルゲートにご相談ください。
「自社サイトにはどんなSEO改善をすれば良いのか?」「アルゴリズム変動で影響を受けたサイトを強化するにはどうしたら良いのか?」など、まだ具体的にサービス導入を検討していない方もお気軽にご相談ください。
robots.txtとは?
robots.txtとは、サイトのルートディレクトリに設置するテキストファイルで、コンテンツごとにクロールを拒否できます。
robots.txtのファイルのなかにクローラーの巡回を禁止する構文を記述し、ドメインのルートディイレクトリに設置することで、ページごとのクロール頻度を制御できます。
つまり、検索エンジンのクローラーを、自サイトの重要なコンテンツを中心にクロールさせることができます。
robots.txtのSEO効果
robots.txtによって、クロール不要なコンテンツを制御し、クロールさせたいページにだけ効率良くクローラーを誘導することができます。
それにより、サイト内で評価してほしいコンテンツのクロールの頻度が上がり、SEO評価をスピーディに得られる効果があります。
自サイトにとって重要なコンテンツを優先してクロールさせるよう設定し、効率よくインデックスさせましょう。
robots.txtとnoindexタグの違い
noindexとは、Googleなどの検索エンジンにサイトやページをインデックスさせないようにするためのメタタグです。
ページ内の<head>部分にnoindexタグを記述すると、検索画面に表示されないように設定できます。
noindexタグとの違いは下記のとおりです。
noindex:クロールはされるがインデックスされない
robots.txt:クロール自体をブロック
robots.txtでクローラーの巡回を制御しますが、noindexを設定したページにクローラーは巡回します。
▼こちらのタグもチェック
『noindexタグとは?SEO効果や設定方法、注意点ついて解説』
『nofollow属性とは?SEOにおける意味と使い方を解説』
robots.txtとnoindexタグの使い分け
robots.txtとnoindexタグの違いはクロールされるか否かです。
よって、両者の使い分けは下記の観点で実施しましょう。
特定ページのクローラーの巡回を制御したい場合→robots.txt
特定ページのインデックスを拒否したい場合→noindexタグ
noindexタグを設定してもクローラーの巡回は制御できないので、無駄にクロールされてしまうことがあります。
クローラーに巡回されたくないページを制御し、効率的にクロールさせたい場合にrobots.txtを使用しましょう。
しかし、robots.txtはクローラーの巡回を制御するファイルであり、ユーザーの閲覧はブロックできないため、ユーザーの目に触れさせたくない非公開コンテンツは、検索エンジン上でnoindexタグでコンテンツを削除する必要があります。
robots.txtの書き方
robots.txtの基本の型とWordpressのデフォルト表記は異なるため注意してください。
robots.txtの基本の書き方は、以下のとおりです。
User-agent: *
Disallow: Sitemap: http://www.example.co.jp/sitemap.xml |
WordPressで設定する場合、デフォルト表記は以下のとおりです。
User-agent: *
Disallow: /wp/wp-admin/ Allow: /wp/wp-admin/admin-ajax.php Sitemap: http://www.example.co.jp/sitemap.xml |
WordPressにはrobots.txtファイルがデフォルトで設定されています。
Disallowでクロールを制御したあと、Allowで許可したページだけがクロールの巡回対象となります。
robots.txtを構成する4つの要素については、次の章で詳しく解説します。
robots.txtの4つの要素
書き方の例にあるように、robots.txtには4つの要素があります。
User-Agent
User-Agentは、クロールを制御するクローラーを指定する項目です。
基本的に、全てのクローラーを対象とする「*(半角アスタリスク)」を打ち込みますが、特定のクローラーの巡回を制御したい場合は、対象クローラーの「ユーザーエージェントトークン」を入力します。
ユーザーエージェントトークンの例は以下のとおりです。
- パソコン用 Googlebot:Googlebot
- スマートフォン用 Googlebot:Googlebot
- APIs-Google:APIs-Google
- AdSense:Mediapartners-Google
Google検索セントラル「Google クローラの概要(ユーザー エージェント)」
Googleの検索エンジンのクロールを拒否したいときは「Googlebot」を記述して、パソコン・スマホ両方を設定しましょう。
Disallow
Disallowは、クロールを制御するページを指定する項目です。
パターン別に記述例を確認しましょう。
・サイト全体のクロールを禁止する構文
Disallow: / |
・特定ディレクトリのコンテンツのクロールを禁止する構文
Disallow: /calendar/
Disallow: /junk/ |
・単一ページへのクロールを禁止する構文
Disallow: /private_file.html |
Google検索セントラル「robots.txt ファイルを作成する」
Disallowにページやディレクトリのファイル名を記述することで、クロールを制限したいファイルを限定します。
Allow
Allowは、Disallowで指定しているディレクトリ配下のサブディレクトリ・特定ページのクロールを指示する項目です。
すでにDisallowでクロールの制限をかけているものの、特定のページやディレクトリへのクロールを許可するためにAllowを使います。
記述例は、以下のとおりです。
Allow: /example/sample.html |
Disallowで指定したフォルダの配下のページをクロールしたいときに使うため、使う機会は少ないでしょう。
Sitemap
Sitemapは、robots.txtファイルの対象となるWebサイトの場所を教える項目です。
書かなくても問題ありませんが、クローラーがサイトマップにアクセスしやすくなり、スピーディにクローラーが巡回しやすくなります。
記述例は、以下のとおりです。
Sitemap : https://sample.co.jp/sitemap.xml |
SEO対策に影響を与えるので、設定することをおすすめします。
robots.txtの確認方法
robots.txtを設置しても記述に間違いがあるとクローラーを制御することはできません。
そこで、robots.txtが正しく記述できているかどうか確認する方法を知っておきましょう。
確認方法は、Google Search Console(グーグルサーチコンソール)「robots.txt テスター」というツールで作成したテキストを貼りつけ、テストしたいURLを入力して「テスト」をクリックするだけです。
テスト送信後に、Disallowで記述した部分が赤くなって「ブロック済み」となれば、正しく記述できていると判断できます。
間違った記述をして、思い通りにクローラーを制御できていないと重要なページのクロールを拒否することになりかねません。
必ずアップロードの前にテストを行いましょう。
Search Consoleヘルプ「robots.txt テスターで robots.txt をテストする」
robots.txtの設定方法
テストで正しく記述できていることを確認したら、FTPソフトを使ってrobots.txtファイルをサイトにアップロードしましょう。
robots.txtファイルは、ドメインのルートディレクトリに設置します。
ルートドメインにアップロードしなければ、記述が正しくてもコントローラーを制御できないため注意してください。
robots.txtの注意点
最後に、robots.txtの3つの注意点を確認し、正しくrobots.txtを設定しましょう。
robots.txtを指定してもユーザーは閲覧可能
「robots.txtとnoindexタグの使い分け」でも説明したように、robots.txtを指定してもユーザーは閲覧可能です。
ユーザーの目に触れてほしくないコンテンツはnoindexタグを使用しましょう。
ただし、すでにrobots.txtでクロールを拒否しているページにnoindexタグを設置したとしても、クローラーが巡回しないため「インデックスしないでほしい」という指示が伝わりません。
そのため、まずはrobots.txtの指定を外し、クローラーが巡回できる状態にしてからnoindexタグを設定し、その後robots.txtを設定してクロールを拒否します。
ユーザーの閲覧をブロックするにはこの手順を踏む必要があります。
robots.txtで制御できないUser-Agentもある
一部の検索エンジンのクローラーはrobots.txtのDisallowの記述を無視するため、なかにはrobots.txtで制御できないクローラーもあります。
その場合は、.htaccessなど別の方法を試す必要があります。
robots.txtの内容が反映されるまで1~2週間かかる
robots.txtの内容が反映されるまで1~2週間かかります。
記述してアップロードしてもすぐに反映されるわけではなく、Googleがキャッシュをクリアするまで待たなければなりません。
まとめ
本記事では、robots.txtの意味や設定方法、記述の仕方について解説しました。
戦略的にクローラーの巡回を制御することで、優先してインデックスさせたいページを巡回させられます。
robots.txtの設定を見直し、不備があった場合には正しく設定しましょう。
SEOに関して、何から着手すべきかわからない、なかなか成果がでないなどのお悩みがございましたら SEO無料相談も受け付けておりますので、お気軽にお問合せください。