テクニカルSEO BLOG
テクニカルSEOを中心にSEO対策をまとめています

クローラーとは?サイト巡回の仕組みを解説

こんにちは、テクニカルSEO対策サービス「クラスターSEO」開発チームの江頭です。

クローラーは、インターネット上のWebサイトを巡回し、ページを収集しています。Googleなどの検索エンジンは、このクローラーで収集した情報を元にして、検索結果を表示しています。

つまり、検索エンジンのクローラーに正しく巡回してもらうことは、SEO対策の基本といえます。

この記事では、検索エンジンのサイト巡回の仕組みと、巡回頻度を最適化する方法について解説します。

クローラーとは

クローラーは、インターネット上にあるWebサイトを探しまわり、コンテンツを収集するシステムのことです。GoogleやBingなどの検索エンジンは、それぞれクローラーを持っていて、取得したコンテンツを整理した上で検索結果に表示しています。

クローラーは、ボット(bot)ロボット(robot)スパイダー(spider)とも呼ばれています。

クロールは、クローラーがWebサイトから情報を収集することを指します。

なお、検索結果に表示されたコンテンツの掲載順位は、GoogleやBingなどの検索エンジンが決定しており、SEO対策によって順位改善が見込めます。

クローラーの種類

検索エンジンは、それぞれ独自のクローラーを持っています。主な検索エンジンのクローラー(bot)を一覧にまとめました。

クローラー 検索エンジン
Googlebot Google検索
Bingbot Bing検索
YandexBot YANDEX検索
Baiduspider Baidu検索
Mail.RU_Bot Mail.ru検索

Googlebot

Google検索のクローラーは、Googlebotと呼ばれています。毎日何十億ものページをクローリングしているといわれています。Googleでは何種類ものクローラーが稼働しています。

代表的なクローラーがPC用クローラとスマートフォン用クローラーです。

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.92 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

画像やCSSは別のUser-Agentでクローリングしています。

Googlebot-Image/1.0

この記事では、最もメジャーな Googlebot を中心に説明します。

Bingbot

検索エンジンBingで使われるクローラーです。Bingでは、5種類のクローラーが稼働していて、一番よく利用されているクローラが Bingbot です。Bingbotは、以下のUser-Agentでサイトへアクセスします。

Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)

YandexBot・Baiduspider

海外シェアの高い検索エンジンYANDEXやBaidu用のクローラーです。

その他のクローラー

ちなみに、検索エンジン以外にも次のようなクローラーがあり、Webサイトを巡回しています。

クローラー用途
MJ12bot SEOツール「Majestic」
SemrushBotSEOツール「Semrush」
AhrefsBotSEOツール「Ahrefs」
DotBotSEOツール「OpenSiteExplorer」
AppleBotSiriやSpotLight

クローラーが取得するファイルの種類

Googlebot は、次のようなファイルをクローリングします。

  • HTML
  • CSS
  • JavaScript
  • 画像(GIF/JPEG/PNG/WebP/SVG)
  • 動画(MP4/WebMなど)
  • オフィス文書(Word/Excel/PowerPoint)
  • PDF

HTMLだけではなく、各種メディアファイルもクローリングしていることに注目です。画像ファイルは画像検索、動画ファイルは動画検索で表示されますし、WordファイルやPDFファイルも検索結果に表示されます。

このうち、CSSとJavaScriptは検索結果に表示されませんが、Googleがコンテンツのランキングを評価する際に使われるため、クローリングしています。

クローラーが巡回できないときは?

検索エンジンのクローラーは、リンク・XMLサイトマップrobots.txtなどを参考にして、Webサイトをクローリングしています。

しかし、Googleクローラーでエラーが検出されたり、クローリングされてもインデックスに登録されないなど、クローラーに関する問題に直面することは少なくありません。

問題が解決できないときは、ぜひSEOの専門家である弊社をご利用ください。SEOコンサルティングにより、クローラーの問題に限らず、検索上位表示に向けたアドバイスも受けられます。

テクニカルSEO対策サービス「クラスターSEO」

クローラーはどのようにサイト巡回しているのか?

① ブラウザでリンクをたどる

クローラーの動作は、人間で例えるなら「複数人で手分けし、サイト内のリンクを全てクリックしてページを保存する」ことと同じです。具体的には a タグに記載されたリンク先ページを次々とクロールしていきます。

なお、クローラーがたどるのはリンクだけで、フォームから先には進みません。そのため、ログインが必要なページをクローリングすることはありません。

②  クロール頻度を調整する

クローラーがサイトに一気にアクセスすると、サイト側のサーバー負荷が上がってしまいますよね。

そこでGooglebotは、Webサイトに影響が出ないよう、巡回スピードを調整しながらアクセスしています。 具体的には、サーバー側の応答速度が遅いときは、巡回頻度を自動的に落とします。

Bingbot はサイトのピーク時間帯を避けて巡回しています。巡回時間帯は、 サイト運営者が Bing Webマスターツールで設定できます。

Bing Webマスターツールのクロールレート設定画面

クローラーはどのページから巡回を始めるのか?

①外部リンク

クローラーは、世界中にある Web ページを巡回し、すべてのリンク先をたどり続けています。

外部サイトからのリンクが1つでもあれば、いずれはクローラーがサイトを見つけます。

②巡回を依頼したURL

新しいサイトの場合は、 外部リンクが張られていません。そのようなときは、サイト URL を登録することで、クローラーに巡回を依頼できます。

Googleクローラーに巡回をリクエストするには、Googleサーチコンソールの URL検査ツールを使います。

サーチコンソールで該当のURLを入力した後、[インデックス登録をリクエスト]ボタンをクリックします。

サーチコンソールでインデックス登録リクエスト

Bing も Web マスターツール を使うと、Bingbot に特定の URL への巡回を依頼できます。

Bing WebマスターツールのURL送信画面

③サイトマップ

クローラーは、「XMLサイトマップ」と呼ばれる、URL一覧を記述したファイルを読み取ります。サイトマップをサイトに設置すると、クローラーは効率的にサイトをクローリングできるようになります。

クローラーが巡回したページの確認

Googleクローラーがサイトを巡回して発見したページは、「site:」検索やGoogleサーチコンソールのカバレッジレポートで確認できます。

「site:」検索を使う

Google検索で、「site:ドメイン名」を入力して検索すると、特定ドメインのページ一覧が表示されます。

「site:」検索

Googleサーチコンソールのカバレッジレポートを使う

次の手順で、Googleが巡回したページを確認できます。

  1. Googleサーチコンソールにログインします。
  2. [カバレッジ]メニューをクリックします。
  3. [有効(警告あり)][有効][除外]をチェックします。

以下の例では、Googleが合計1,539ページのURLを巡回したことが分かります。

Googleサーチコンソールのカバレッジレポート

巡回したページは、ステータスごとに分類されています。

Googleサーチコンソールのカバレッジの詳細

詳細内の各ステータスをクリックすると、該当するURL一覧が表示されます。

カバレッジのURL一覧

このように、クローラーがコンテンツを取得しても、すべてのページが検索インデックスに登録されるわけではありません。詳しくは、以下の記事を参照してください。

クローラーの巡回頻度の問題

ここまで、クローラーがどのURLを巡回するのかを説明してきました。

それでは、Googlebot が認識したすべての URL について、どの URL でも同じ頻度で巡回してきてくれるのでしょうか?

実は、Googleにもクローラー自身のリソース上限(クロールバジェットと呼ばれます)に限りがあるので、「どのURLでも同じ頻度で」というわけにはいきません。

いくつかの指標がクロール速度に影響するとGoogleも言及しています。

Q: サイトの表示速度はクロール バジェットに影響しますか?エラーについてはどうですか?

A: サイトの表示速度を上げると、ユーザーの利便性が向上するだけでなく、クロール速度も上がります。Googlebotは、速度に優れたサイトはサーバーが健全な状態であることを表すものと見なすので、同じ接続の数でより多くのコンテンツの取得が可能になります。一方、5xx エラーや接続タイムアウトが多い場合はサーバーの状態に問題があると見なされ、クロールが遅くなります。

https://webmaster-ja.googleblog.com/2017/01/what-crawl-budget-means-for-googlebot.html

簡単にまとめると、クロールの速度に影響するのは次のような指標です。

  • ページに人気がある
  • ページの表示速度が速い
  • 重複コンテンツが少ない
  • サーバーエラーが少ない

ただ、巡回速度の問題が顕著になるのは、数千ページ以上の巨大なサイトの場合です。特に、新規サイトであれば、その影響はかなり大きいでしょう。

また、 「人気のあるページ」が優先的にクロールされるとしても、SEO対策の道半ばなら、サイト側では実施可能ではありませんよね。

クローラーの巡回速度を上げるには?

クロールの速度に影響する指標について説明しましたが、巡回速度を上げるために、SEO 対策として実行できそうな施策は以下の通りです。

  1. インデックス登録のリクエスト
  2. クロールするページを減らす
  3. URLを正規化する
  4. リンク切れをなくす
  5. サーバーの応答速度を上げる

Googleには、クロール頻度をアップさせる有料サービスはありません。Googleサーチコンソールや、URL正規化などの方法を使い、間接的にクロール頻度を向上させます。

インデックス登録のリクエスト

Googleサーチコンソールで、優先的にクロールしてほしい URL に対して「インデックス登録をリクエスト」します。数ページであれば、この方法でも十分に有効です。

クロールするページを減らす

EC サイトのように、パラメータ付きのURLが大量に存在するサイトでは非常に重要になってきます。

パラメータ付きの URL とは、たとえば商品を絞り込むときに使う、次のようなURL です。

https://example.com/product/list?category=101&subcategory=421&color=020&price_low=3000&price_high=5000&shipping=01

上記の URL は、たとえば「色が赤、3000円~5000円で送料無料の加湿器を検索」したようなときに使用されます(ファセットナビゲーションと呼びます)。

Googleクローラーはリンクさえ発見すれば、このような複雑なURLもクロールし、インデックス登録しようとします。ただし、このような細かい検索フィルタを設定したページをわざわざ Googlebot にクロールに来てもらい、インデックス登録する必要があるでしょうか?

Google ではこのようなページを「価値の低いページ」とみなし、SEO 上の悪影響があると言及しています。

ファセット ナビゲーションは、検索結果を色や価格帯でさらに絞り込む仕組みです。ユーザーにとって便利な機能ですが、重複するコンテンツを持つ URL の組み合わせが数多く生成されてしまうと、検索に悪影響を及ぼすことがあります。

https://webmaster-ja.googleblog.com/2014/03/faceted-navigation-best-and-5-of-worst.html

このような絞込検索用の URL は、robots.txt でクローラーからの巡回を阻止します。楽天など大手ECサイトも robots.txt で対策を取っています。

URLを正規化する

同じページなのに、異なる URL からアクセスできる場合があります。よくあるのが、次のようなケースです。

  • https://example.com/
  • https://example.com/index.html

index.html を付けても、付けなくても同じページが表示されます。 URL が複数 あるのに内容が重複しているので、「重複ページ」と呼ばれています。「重複ページ」が起きた場合は、URLをどれか1つに決め(URL 正規化)、リンク先の URL を正規化した URL の方に統一していきます。

<a href="/">TOPページ</a>

リンクの正規化は、「クロールするページ数を減らす」ことにもつながります。

リンク切れをなくす

そのほか、リンク切れを減らすことも有効です。

リンク切れが原因で、サーバーから 404 エラーが返ってくると、クローラーとしてはわざわざサイトに巡回しに来た価値がありません。404エラーは、Google 検索結果にも表示されないので、SEO 上の価値もありません。

重複ページもリンク切れも、Googleサーチコンソールから確認できます。これらのページが多くときは、対処をお勧めします。

サーバーの応答を速くする

ページの表示速度を改善することは、ユーザーにとってもSEO上も有効です。

最初にお勧めのするのが、PageSpeed Insights でのページ速度計測です。PageSpeed Insights を使うと、ページの表示速度がスコアリングされて表示されます。画像の軽量化など、実行しやすい施策から進めるとよいでしょう。

クローラーの巡回頻度を下げるには?

Googlebotからのアクセスが多く、サーバー負荷に影響が出ている場合は、巡回頻度を下げることもできます。

Googleサーチコンソールのクロール頻度設定画面を開き、頻度を変更します。

Googleサーチコンソールのクロール頻度設定画面

「Googleの最大クロール頻度を制限する」を選択し、1秒当たりのリクエスト回数とリクエスト間の間隔を指定します。

Googleサーチコンソールのクロール頻度設定画面

クローラーの巡回を制御する「ヒント」

巨大なサイトでクローラの巡回速度を向上させるやり方として、クローラーに「ヒント」を提供する方法もあります。

クローラーが認識するヒントには、次のようなものがあります。

  1. robots.txt
  2. サイトマップ
  3. <meta name=”robots”>タグ
  4. rel=”nofollow”属性

それぞれ順番に説明します。

robots.txt

robots.txt は、主にサーバー負荷を軽減する目的で使用するファイルです。

具体的には、robots.txt を使って、クローラーが次のようなURLへアクセスするのを禁止します。

  • 詳細な検索結果URL
  • 動画ファイル
  • 会員向けページ

サイトマップ

サイトマップとは、URL一覧をリストアップしたファイルです。URL一覧には、最終更新日時も含められるので、更新したページをクローラーに通知できます。

XMLサイトマップ(sitemap.xml)と呼ばれるファイルがよく使われています。

<meta name=”robots”>タグ

クローラー向けの meta タグをページに記述します。

巡回速度向上に関連する meta タグは以下の通りです。

<meta name="robots" content="nofollow">

このタグを記述すると、ページ内にある a タグのリンクをクローラーがたどらなくなります。詳細な絞込を行った検索結果ページなどで使うとよいでしょう。

rel=”nofollow”属性

特定の a タグのリンク先へ、クローラーが巡回するのを禁止できます。

次のように rel="nofollow" 属性を追加します。

<a rel="nofollow" href="/product/list?category=101&subcategory=421&color=020&price_low=3000&price_high=3999&shipping=01">
  3,000円~3,999円の商品に絞り込んで検索
</a>

上記のように、詳細な絞込を行うリンクへ rel="nofollow" を付けておくとよいでしょう。

まとめ

以上、GoogleクローラーによるWebページ巡回の仕組みと、巡回を最適化する方法を説明しました。

大規模サイトでは、クローラーによる負荷対策が特に重要です。小規模サイトでは、robots.txtを正しく設定するだけで十分でしょう。

なお、クローラーが取得したコンテンツは、検索エンジンのデータベースである「インデックス」に登録されます。SEO対策としては、インデックス最適化のやり方についても知っておきましょう。

Page Top