Webクローラーとは?
ウェブサイトを検索結果に表示させるため、Google(およびBing、Yandex、Baidu、Naver、Yahoo、DuckDuckGoなどの他の検索エンジン)はウェブクローラーを使用してサイトを巡回し、ウェブサイトとそのページを発見します。
各国によって異なる検索エンジンの市場シェアがあります。
このガイドでは、ほとんどの国で最大の検索エンジンであるGoogleを中心に説明します。ただし、ターゲット顧客が中国、ロシア、日本、韓国にいる場合は、他の検索エンジンとそのガイドラインを確認することをお勧めします。
ランキングやレンダリングに関してはいくつかの違いがありますが、クローリングとインデックス作成に関しては、ほとんどの検索エンジンが非常に似た方法で動作します。
ウェブクローラーは、ユーザーをエミュレートし、ウェブサイト上で見つかったリンクをたどってページをインデックスするボットの一種です。ウェブクローラーはカスタムユーザーエージェントを使用して自身を識別します。Googleには複数のウェブクローラーがありますが、より頻繁に使用されるのはGooglebot DesktopとGooglebot Smartphoneです。
Googlebotの動作原理
Googlebotがウェブページをインデックスするまでの流れ
このプロセスの概要は次のとおりです:
- URLの検出: GoogleはGoogle Search Console、ウェブサイト間のリンク、XMLサイトマップなど、さまざまな場所からURLを収集します。
- クロールキューへの追加: これらのURLはGooglebotが処理するためのクロールキューに追加されます。クロールキュー内のURLは通常数秒間滞留しますが、ページのレンダリングやインデックス作成が必要な場合、または既にインデックスされているURLの更新が必要な場合など、状況によっては数日かかることもあります。その後、ページはレンダリングキューに入ります。
- HTTPリクエスト: クローラーはHTTPリクエストを行い、ヘッダーを取得し、返されたステータスコードに従って動作します:
- 200: HTMLをクロールして解析します。
- 30X: リダイレクトを追跡します。
- 40X: エラーを記録し、HTMLを読み込みません。
- 50X: 後でステータスコードが変更されているか確認するために再度アクセスすることがあります。
- レンダリングキュー: 検索システムのさまざまなサービスとコンポーネントがHTMLを処理し、コンテンツを解析します。ページにJavaScriptによるクライアントサイドのコンテンツがある場合、URLはレンダリングキューに追加される可能性があります。レンダリングキューはGoogleにとってよりコストがかかるため、JavaScriptをレンダリングするためにより多くのリソースが必要となり、レンダリングされるURLはインターネット上の全ページのうちより小さな割合になります。他の検索エンジンの中にはGoogleと同じレンダリング能力を持たないものもあり、ここでNext.jsがレンダリング戦略を支援できます。
- インデックス準備完了: すべての基準が満たされると、ページはインデックスされ検索結果に表示される資格を得ます。
次のセクションでは、検索システムプロセスの主要コンポーネントであるクローリングとインデックス作成、およびレンダリングとランキングについて詳しく説明します。
さらに詳しく
- Google: SEOスターターガイド
- MDN: MDN: ユーザーエージェント