robots.txtとは?設定方法と動作確認する方法について

インデックスしてほしくないページをGoogleのクローラーに伝えるのがrobots.txtです。サイトを最適化する目的がありますが、注意すべき点もあります。robots.txtについて、SEO効果を踏まえて解説していきましょう。

<ポイント>

  • robots.txtはGoogleのクローラーに「インデックスしてほしくないページ」を教えるもの
  • robots.txtを活用することでクロールの効率を上げることができる
  • robots.txtを使うには注意すべき点もある

robots.txtとは?SEO効果を高める方法

robots.txtの役割は「クロールしてほしくないページを指定し、クローラーのアクセスを制限する」ことです。この点を生かすことでrobots.txtによりSEO効果を高められる場合があります。

まず、クロールについて説明します。Googleはクローラーと呼ばれるロボットをインターネットに放ち、あらゆるウェブサイトを巡回させます。そして巡回したページの中身を解析して、Google検索結果に表示するのです。この作業を「インデックス」と呼びます。一般的にはインデックスされることはとても重要です。インデックスされなければGoogleの検索結果に表示されないからです。

しかし、例外的に「インデックスしてほしくない」場合が存在します。例えば、ページ数が数万~数十万もあるような大規模サイトや頻繁に更新されるサイトの場合です。このような大規模サイトの多くでは、すでに役割を終えたページが存在します。そういったページは検索結果に表示されなくても問題ないですし、むしろ表示してほしくない場合もあります。何でもかんでもインデックスされてしまうと、本当に上位表示してほしいページが埋もれてしまう可能性があるからです。

robots.txtでは、そのような「表示されたくないページ」をGoogleのクロールの対象外とすることができます。その結果、検索結果に表示してほしいページだけをクロールさせることができ、なおかつGoogleのクロール効率を上げてインデックスの速度改善も期待できます。

特に階層が深く、複雑に入り組んだ大規模サイトでは大きな効果が見込めるでしょう。階層が深いと、Googleのクローラーがサイト内を巡回しきれないことがあるからです。robots.txtはいわば「鍵」のようなもの。扉だらけの迷宮でクローラーが迷わないように不要な部屋の扉には鍵をかけてあげましょう。

robots.txtとは

また、robots.txtでxmlサイトマップの場所をクローラーに教えることもできます。クローラーは巡回の際、xmlサイトマップを参考にするので、robots.txtで指定してあげることでさらに巡回効率は上がります。

 robots.txtの設定とクロール制御の書き方

ここではrobots.txtの設定と、クロール制御の書き方について解説します。

 まずはクローラーに訪問して欲しくないページの指定です。指定すべきページには、ログインページ・連絡先フォーム・ショッピングカートなどクローラーが実行できない機能しか持たないページや、CMS管理画面などユーザーがアクセスする必要のないページが挙げられます。

 次にファイルの作成方法ですが、ファイル名は「robots.txt」とします。テキストファイルですので、一般的なテキストエディタ(メモ帳など)で作成できます。作成したファイルはルート直下に設置します。 名前は正確に設定しなければ、適用されないので気をつけてください。

クロール制御の記述方法についてですが、記述する内容は非常に単純で「どのロボットが」「どこのページ(或いはディレクトリ)に」「アクセスしても良い/アクセスしてはいけない」という内容です。

 例えば、命令の内容が『Googleモバイル用クローラー「Googlebot-Mobile」は、全てのWEBページにアクセスしてはいけない』だとしたら、robots.txtは次のようになります。

 

User-agent: Googlebot-Mobile

Disallow: /

 

User-agentはロボットの種類を指定します。ここでは「Googlebot-Mobile」です。「Disallow」は「アクセス拒否」という意味です。今回はアクセス制限の範囲は全てのページですので、この場合は「/」になります。 

また別の例で、命令の内容が『全てのクローラーは、 /cgi-bin/ のディレクトリにアクセスしてはいけない』だとしたら、robots.txtは下記になります。

 

User-agent: *

Disallow: /cgi-bin/

 

User-agentの「*」は「全て」を表します。これで全てのクローラーに対して /cgi-bin/ ディレクトリへのアクセス拒否が出来ます。

 複数のクローラーについて指定する場合は、下記のように二行で指定します。

 

User-agent: Googlebot-Mobile

User-agent: Google-Image

 

補足:XMLサイトマップの位置を指定する

他にもrobots.txtにはXMLサイトマップの位置を定義することができます。

 

Sitemap: [絶対URL(http://から記載したURLパス)]

 

詳細な仕様については開発者向けヘルプをご確認ください。

参考(外部サイト):Robots.txt の仕様 | Google検索デベロッパーガイド | Google Developers

難しい場合は弊社でもサポート可能ですので、コンサルティングをする際に合わせて設定しましょう。

robots.txtの動作確認

robots.txtが完成したら、Search Console内のrobots.txtテスターを使って動作確認をします。

robots.txtテスターは2019年11月時点ではSearch Consoleの「以前のツールとレポート」のタブから、「詳細」をクリックし、「ヘルプ」を開いた上で、そこにある外部リンクから遷移可能です。

参考:Google サーチコンソールとは?使い方や見るべきポイントを徹底解説! | SEO用語集[ナイルのSEO相談室]

 robots.txtテスターのスクリーンショットrobots.txtテスターのスクリーンショット

 robots.txtテスターでは、更新をすると、下記のような画面が表示されます。

 robots.txtテスターで更新した画面 

robots.txtを編集した上で、一番下の「送信」ボタンを押せば更新完了です。

 最後にエラー数、警告数が0であることを確認します。

 robots.txtテスターで更新した画面

 エラーがあった場合は、命令文にスペルミスがないかなどの確認をしましょう。

 注意点

①クローラーはrobots.txtに従わないこともある

Googlebotはrobots.txtの指示に大半の場合は従うものの、ユーザーにとって有益と見られるページがDisallowされている場合など、設定ミスと思われるような指示であった場合、内容を無視することもあります。

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

robots.txtはあくまで「クローラーに対するアクセス制限」を行うものであり、Disallowに指定してもユーザーは変わらずアクセスできます。ユーザーのアクセスも拒否したい場合は、別の手段を講じてください。

 ③ユーザーはrobots.txtを閲覧できる

robots.txt自体もウェブのファイルですのでドメインの直後に/robots.txt というファイル名をアドレスバーに入力すると閲覧可能できます。ですので、どのようなディレクトリが存在しアクセスが制限されているのかの情報は見えてしまいます。

 ④重複コンテンツの対処としてはrobots.txtを使用しない

robots.txtで重複コンテンツへのクロールをブロックした場合、ブロックされた重複コンテンツが受けていた被リンクなどの評価をまるまる捨ててしまうことになります。

重複コンテンツの対策については下記、URL正規化のページを参考にしてみてください。

URL正規化とは?正規化されていない場合のSEOへの影響と対処法について

robots.txtは比較的テクニカルな施策であり、実務では「どうしたらよいのだろう」となることもあると思います。もしお困りでしたら弊社のコンサルタントがサポートいたします。弊社は、戦略策定から実装支援まで一貫してサポートしております。

まとめ

robotx.txtは「インデックス」が不要なページをGoogleのクローラーに教えるためのファイルです。大規模サイトであればrobots.txtを活用する価値は十分にあります。不要なページをインデックスから弾き、クロールの効率を上げてやることで、結果的にSEO対策につながります。本記事で挙げた注意点も参考にしながら、robots.txtを導入してみましょう。

Webサイトの運用・集客でお困りではありませんか?

デジタルマーケティング全般についてのご相談はこちら

私たちが得意とするコンテンツマーケティングやSEOに限らず、Webの運営・改善に関する総合的な知見を持つ私たちなら、きっと御社の悩みを解決できると考えています。

サイト内検索

SEO・サイト運用・コンテンツマーケティングでお困りの際には ぜひお気軽にご相談ください

お問い合わせはこちら