SEO効果を発揮するrobots.txtの設定方法を解説【クロール最適化】

SEO内部対策
SEO対策
2019.07.24
SEO効果を発揮するrobots.txtの設定方法を解説【クロール最適化】

SEO対策を進めていくうえで重要になるのは「クロール最適化」「質の高いコンテンツ作成」と「インデックス最適化」です。これらを行うことで、Googleなどの検索エンジンのクローラーによるインデックスが最適化され、サイト内の情報を検索エンジンに効率よく伝えることが可能となります。

robots.txtによるクロール最適化でSEO効果を改善する

一般的にSEO対策によりオーガニックトラフィックを増やすには、以下の3つの対策が効果的です。

  • クロール最適化を行う
  • インデックス最適化を行う
  • 高評価されるコンテンツを作成する

この3つのうち、robots.txtを効果的に設定することで、クロール最適化を行うことが可能です。具体的には、クロールの頻度と深度を増やすことができます。

robots.txtとは?

そもそもrobots.txtとは検索エンジンのクローラー(ウェブ上の文章や画像などを取得しデータベース化するプログラム)のウェブページへのアクセスを制限するためのテキストファイルです。クローラーが特定のウェブページにアクセスすることを許可するか、許可しないのかを記述します。

具体的には「User-Agent:」でクローラーの種類を指定し、巡回させたくないファイルに「Disallow:」を記述して、クローラーのクロールを制限するというように利用します。(User-AgentとDisallowに関しては後半で詳しく説明致します。)

robots.txtを記述する前に知るべきクローラーの特徴

robots.txtを記述する前に、robots.txtの対象となるクローラーの特徴を知っておくことをおすすめします。

クローラーとは

検索エンジンにキーワードを入力して検索ボタンをクリックした時に、インターネット上で情報を探し出すのではありません。あらかじめ情報を収集しておき、Google社が保有しているサーバー内部に記憶しておきます。サーバー内にウェブページの情報を収集し、登録することをインデックスと呼び、その情報を収集しているのがクローラーです。

クローラーはリンクを経由してウェブページにたどり着く

クローラーはインターネット上のウェブページの情報を収集し、インデックスしていきますが、その際には、ウェブページ内のリンクを経由します。リンクを経由してウェブページをクロールしていき、インデックスしていくという仕組みです。

そのためクローラーが効率的にリンクを辿って、ウェブページをインデックスできるように、robots.txtを用いて、クローラーを誘導します。

クローリングには上限がある

サイト内のウェブページをクローラーがクロールする能力には上限があります。そのためサイトの状態によっては、本来クロールされ、インデックスされるべきウェブページがクロールされないことがあります。

ウェブサイトはクローラーによりインデックスされますが、インデックスされるページには上限があり、無限にインデックスされるわけではありません。1つのサイトのウェブページをクローラー がインデックスができる上限を「クロールバジェット」と呼びます。

クロールバジェットはかなり余裕をもって設定されているため、Amazonや楽天などの超大規模サイトを除けばクロールバジェット(クロールできる上限)に達してしまうことは考えにくいですが、クロールバジェットを有効活用するという点でも、robots.txtは重要です。(基本的には気にする必要はございません。)

▼関連記事

robots.txtの設定方法

robots.txtの設定方法を簡単に解説していきます。robots.txtで記述する内容は以下の3点です。

  • User-agent
  • Disallow・Allow
  • Sitemap

User-agent

User-agent:ルールの適用対象となる検索エンジンロボット(ウェブクローラ ソフトウェア)の名前を指定するための記述です。検索エンジンロボットには非常に多くの種類が存在します。名前の確認には、Google のクローラー(ユーザーエージェント)一覧が便利です。その他のクローラー(ユーザーエージェント)一覧はこちらで確認できます。

robots.txtの記述の最初の行に行う記述で、robots.txtでクロールを制限するルール毎に最低1つは必要になります。

例えば、検索エンジンロボットの1つであるGooglebotのクロールをサイト全体に対して許可しないのであれば、以下のように記述します。

User-agent: Googlebot

Disallow

Disallow: User-agentによりルールの適用対象として指定した検索エンジンロボットによるクロールを許可しないウェブページやディレクトリを指定します。使用頻度の高い「/」ですが、Webサイト全体を指しますので、公開前のサイトでまだ検索結果に表示させたくない場合は、「Disallow:/」とすると、Webサイト全てをクローラーが見れない状態となります。

例えばGooglebotに対してexampleというディレクトリへのクロールを許可しないのであれば、次のように記述可能です。

User-agent: Googlebot

Disallow: /example/

なお次に紹介するAllowもしくは今回紹介したDisallowの記述が、1つのルールに1つは必要です。

Allow

Allow:前述のDisallowの反対の指示となり、指定したウェブページやディレクトリのクロールを許可するという意味を持ちます。またAllowを利用してDisallowにオーバーライドすることで、Disallowでクロールを許可しなかったディレクトリのサブディレクトリやウェブページのクロールを許可することができます。記述例は以下の通りです。

User-agent: Googlebot ※Googlebotに対して指示を出す

Disallow: /directory1/ ※「directory1」の中身はクロールしないでください。

Allow: /directory1/page1.html ※ただし、「directory1」の中の「page1.html」はクロールしてください。

例えば、WordPressというCMSの場合、robots.txtが自動が生成されますが、中を確認すると以下のように書かれています。

User-agent: * ※全てのクローラーを指定

Disallow: /wp-admin/ ※「wp-admin」の中身はクロールしないでください。

Allow: /wp-admin/admin-ajax.php ※ただし、「wp-admin」の中の「admin-ajax.php」はクロールしてください。

上記のように、特定のフォルダ全体ではクロールしてほしくないけど、そのフォルダ内の、ある1つのファイルだけはクロールしてほしいという場合にオーバーライドを使用すると、クローラーをうまく誘導することができます。

Disallowのオーバーライドを目的とせず、Allow単体で記述することも可能ですが、Allowを記載しても記載しなくても変わらないため、Allow単体で記述することはあまりございません。

Sitemap

Sitemap:対象サイトのサイトマップのある場所を記述します。なおサイトマップはファイル単位で指定し、複数設定可能です。設定の際には、完全URLを使用しましょう。

▼関連記事

robots.txtの設置場所

robots.txtの設置場所はサイトのルートディレクトリ(トップフォルダ)出なくてはなりません。またファイル名はrobots.txtです。しばしばrobotsの「s」を忘れてしまうことがあるため注意が必要です。

そしてrobots.txtを設定後、ドメインの後ろにrobots.txtを入力するとアクセス可能です。例えば弊社ウェブサイトの場合であれば、ドメインが「https://pecopla.net/」のため「https://pecopla.net/robots.txt」とブラウザのアドレス欄に入力することで、robots.txtにアクセスできます。

自サイトのrobots.txtにアクセスできない場合、robots.txtがなかったり、格納先やファイル名を誤っている可能性が高いです。

WordPress(ワードプレス)の場合

WordPress「 Multipart robots.txt editor」を利用すれば、有効化後に表示されるrobots.txtで編集可能な項目を記述できます。

英語でわかりにくいと思うかもしれませんが、設定項目は少ないため問題なく利用できます。なおプラグインの「Google XML sitemap」を入れておくと、robots.txt.内にsitemapの記述が入ります。詳しくは次の記事を参照してください。

robots.txtの確認方法

robots.txtの記述を確認するだけであれば、前述したようにドメインの後ろにrobots.txtを入力すれば、下記画像のようにrobots.txtが表示され、簡単に確認することが可能です。

しかし、より詳細に確認したい場合、Google Search Consoleの「robots.txtテスター」を使用します。

robots.txtテスターの利用方法

Google Search Consoleのrobots.txtテスターを利用すると、公開したrobots.txtが正しく記述できているか、上手く動作しているのかを確認できます。

Google Search Consoleにログイン後、左メニューの「クロール」から「robots.txtテスター」を選択します。

Google Search Console robots.txtテスター

次の画像のように、現在のrobots.txtの記述が表示されます。

そして画像内赤四角の隣の検索窓にディレクトリやページを記述し、さらにその隣のプルダウンリストからUser-agentを選択し、「テスト」をクリックします。

Disallow: /wp-admin/という記述でクロールをブロックしているログインURLを試しに入力して、「テスト」をクリックすると、上画像のように、該当のrobots.txtの記述が赤くハイライトされ、画面右下部に「ブロック済み」と表示されました。

なお新しいGoogle Search Consoleを利用している方は「Search Console ヘルプ」から「robots.txtテスターを開く」をクリックして、前述の方法と同様にrobots.txtを確認可能です。

robots.txtの注意点

複雑なURL構造を持つサイトを除き、robots.txtの設定はそれほど難しくありません。しかしrobots.txtにはいくつかの注意点があります。

インデックスは削除されない

一度インデックスされたウェブページをrobots.txtによりクロールをブロックしても、インデックスが削除されるわけではありません。検索結果に残り続けます。検索結果に表示したくない場合、noindexを利用しましょう。noindexの使用方法は以下の記事も参考にしてください。

▼関連記事

重複コンテンツの正規化には利用できない

重複コンテンツの正規化にはcanonicalを利用します。重複コンテンツにrobots.txtを使用すると、クローラーはそのウェブページの情報を読み取ることができなくなるため、発リンクによるページランクの受け渡しなどが行われなくなります。

▼関連記事

ユーザーはrobots.txtを閲覧可能

ドメインの後にrobots.txtを入力して表示させるという前述の方法では、当然自サイトだけでなく、どのサイトのrobots.txtも確認可能です。確実に見られることを防ぎたい場合は、ベーシック認証(基本認証)をかけることをおすすめします。

まとめ

この記事ではインデックス最適化を行う上で重要なrobots.txtについて紹介してきました。しかし、インデックス最適化を行うためには、noindexについても十分に理解する必要があります。弊社の「本来のSEO効果を発揮するためのnoindexの設定を解説」を参考にnoindexへの理解を深めていただくことをおすすめします。

SEOやWEB制作に関する情報を検索する

コラム

最新コラム

人気コラム

過去の記事

ご質問やご相談などお気軽にお問い合わせください。