Webクローラーとは? | Webスパイダーの仕組み

Webクローラー(またはWebスパイダー)は、一般的にGoogleやBingのような検索エンジンによって運用されるボットの一種です。 これらの目的は、インターネット全体のあらゆるWebサイトのコンテンツにインデックスを付け、Webサイトが検索エンジンの結果に表示されるようにすることです。

Share facebook icon linkedin icon twitter icon email icon

Webクローラー

学習目的

この記事を読み終えると、以下のことができます。

  • Webクローラーボット(あるいはスパイダー)が何かを知る
  • Webクローラーがクロールするページを決める仕組みを理解する
  • WebクローリングとWebスクレイピングの違いを説明する
  • Webクローリングを特定のWebページで許可すべきかどうかを知る

Webクローラーボットとは?

Webクローラー、スパイダー、または検索エンジンボットは。インターネット全体からコンテンツをダウンロードしてインデックス付けします。このようなボットの目標は、Web上の(ほぼ)すべてのWebページに何が記載されているかを学習し、必要なときに情報を取得できるようにすることです。ソフトウェアプログラムを介してWebサイトに自動的にアクセスし、データを取得するという意味の技術用語をもとに、「Webクローラー」と呼ばれます。

これらのボットは、ほとんどの場合、検索エンジンによって運営されます。Webクローラーによって収集されたデータに検索アルゴリズムを適用することにより、検索エンジンはユーザーの検索クエリに応じて関連リンクを提供し、ユーザーがGoogleまたはBing(または別の検索エンジン)に検索を入力した後に表示されるWebページのリストを生成できます。

Webクローラーボットは、整理されていない図書館で、すべての本を調べてカードカタログをまとめる人のようなものです。カードカタログを作成することで、図書館を訪れる人が必要な情報をすばやく簡単に見つけられるようにします。図書館の本をトピックごとに分類および整頓するために、整理する人は各本のタイトル、概要、および内部テキストの一部を読み、その内容を把握します。

ただし、図書館とは異なり、インターネットは物理的な本の山で構成されていないため、必要な情報がすべて適切にインデックス付けされているか、それとも膨大な量が見落とされているのかを判断するのは困難です。インターネットが提供する関連情報をすべて見つけようとして、Webクローラーボットは特定の既知のWebページのセットから開始し、それらのページから他のページへのハイパーリンクをたどり、さらにそれらのページからその他のページへのハイパーリンクをたどる、というように続けます。

公開されているインターネットのうち、検索エンジンボットによって実際にクロールされているのがどのくらいなのかは不明です。一部の情報源は、検索用にインデックス付けされているのはインターネットの40〜70%程度であると推定しています。これでも数十億のWebページです。

検索インデックスとは?

検索インデックスは、図書館のカードカタログをインターネット用に作成するようなもので、これにより検索エンジンは、ユーザーがあるものを検索するときにインターネット上のどこから情報を取得するかがわかります。また、本の裏にある索引にも似ています。索引には、本の中で特定の題目やフレーズが言及されている場所がすべて記載されています。

インデックス作成の主な焦点は、ページに表示されるテキストと、ユーザーには表示されないそのページに関するメタデータ*に合わせます。ほとんどの検索エンジンは、ページのインデックス作成において、ページ上のすべての単語をインデックスに追加します。Googleの場合は「a」、「an」、「the」などは除外します。ユーザーがインデックスに記載された単語を検索すると、検索エンジンはインデックスを調べ、それらの単語が表示されるすべてのページのうち関連性の高いものを選択します。

*検索インデックス作成において、メタデータは検索エンジンにWebページの内容を伝えるデータです。多くの場合、検索エンジンの結果ページに表示されるのはメタタイトルとメタディスクリプションであり、ユーザーに表示されるWebページのコンテンツではありません。

Webクローラーの仕組みは?

インターネットは常に変化し拡大しています。インターネット上にあるWebページの合計数を知ることはできないため、Webクローラーボットはシード、つまり既知のURLのリストから開始します。最初にそれらのURLのWebページをクロールします。Webページをクロールすると、他のURLへのハイパーリンクが見つかるため、それらを次にクロールするページのリストに追加します。

検索用にインデックス付けできるインターネット上の膨大な数のWebページを考えると、このプロセスはほぼ無期限に続く可能性があります。ただし、Webクローラーは、特定のポリシーに従い、クロールするページ、クロールする順序、およびコンテンツの更新を確認するために再度クロールする頻度についてより選択的に行動します。

各Webページの相対的な重要性:ほとんどのWebクローラーは、公開されているインターネット全体をクロールするわけではなく、またすることを意図していません。代わりに、そのページにリンクする他のページの数、ページが取得する訪問者の量、および重要な情報が含まれる可能性を示すその他の要因に基づいて、最初にクロールするページを決定します。

ここでは、他の多くのWebページによって引用され、多くの訪問者を集めるWebページは、質の高い信頼できる情報を含むと仮定されています。したがって検索エンジンはこうしたページにインデックスを付けることが重要です。ちょうど図書館が多くの人々が読んだ本を、多数用意するのと同じです。

Webページの再訪:Web上のコンテンツは、絶えず更新、削除、またはロケーション移動されています。Webクローラーは定期的にページにアクセスして、コンテンツの最新バージョンがインデックスに登録されていることを確認する必要があります。

Robots.txtの要件: Webクローラーは、robots.txtプロトコル(ロボット除外プロトコルとも呼ばれます)に基づいて、クロールするページも決定します。Webページをクロールする前に、そのページのWebサーバーでホストされているrobots.txtファイルを確認します。robots.txtファイルは、ホストされているWebサイトまたはアプリケーションにアクセスするボットのルールを指定するテキストファイルです。これらのルールは、ボットがクロールできるページと、ボットがたどれるリンクを定義します。事例として、 Cloudflare.com robots.txtファイルを確認してみてください

これらのすべての要因は、各検索エンジンがスパイダーボットに組み込む独自のアルゴリズム内で様々な方法で重み付けされます。さまざまな検索エンジンのWebクローラーの動作はわずかに異なりますが、最終目標は同じです。Webページからコンテンツをダウンロードしてインデックスを作成します。

Webクローラーが「スパイダー」と呼ばれるのはなぜか?

インターネット、または少なくともほとんどのユーザーがアクセスする部分は、World Wide Webとしても知られています。実際、ほとんどのWebサイトURLの「www」部分は、そこから来ています。検索エンジンボットは、本物のくも(スパイダー)がくもの巣(スパイダーウェブ)をはい回るのと同じようにWebのあらゆるところをはい回るため、「スパイダー」と呼ぶのは自然のことでした。

Webクローラーボットには、Webプロパティへのアクセスを常に許可する必要があるか?

それはWebプロパティ次第であり、また多くの要因に依存します。Webクローラーは、コンテンツのインデックスを作成するためにサーバーリソースを必要とします。–ユーザーがWebサイトを訪問したり、ボットがWebサイトにアクセスするときのように、サーバーの応答を必要とする要求を行います。各ページのコンテンツの量やサイトのページ数によっては、Webサイト運営者にとって、頻繁な検索インデックス作成を許可しない方が適切な場合があります。過剰なインデックス作成は、サーバーの過負荷や帯域幅コストの上昇につながるためです。

また、開発者や企業は、一部のWebページについてはユーザーがページへのリンクを既に知らされていない限りは検出させたくない場合があります(ペイウォールやログインを追加することはなく)。このような場合の企業の事例としては、マーケティングキャンペーン専用のランディングページを作成し、キャンペーンのターゲットになっていない人にはページにアクセスさせたくない場合があります。このようにすることで、企業はメッセージを絞りこんだり、ページのパフォーマンスを正確に測定することができます。そのような場合、企業はランディングページに「no index」タグを追加することができ、こうすると検索エンジンの結果には表示されません。また、ページやrobots.txtファイルに「disallow」タグを追加することもできます。こすると、検索エンジンのスパイダーはページをクロールしません。

Webサイトの所有者は、他のさまざまな理由でも、ウェブクローラーボットがサイトの一部またはすべてをクロールすることを望まない場合があります。たとえば、サイト内で検索する機能をユーザーに提供するWebサイトは、検索結果ページをブロックしたいかもしれません。ほとんどのユーザーにとっては役に立たないためです。1人のユーザーまたは少数の特定のユーザーにのみ役立つその他の自動生成ページもブロックする必要があります。

WebクローリングとWebスクレイピングの違いとは?

Webスクレイピング、データスクレイピング、またはコンテンツスクレイピングは、ボットがWebサイト上のコンテンツを許可なくダウンロードすることであり、多くの場合、悪意のある目的でそのコンテンツを使用する意図があります。

Webスクレイピングは通常、Webクロールよりもはるかに対象を絞っています。Webクローラーは特定のページまたは特定のWebサイトのみを追跡するのに対して、Webクローラーはリンクをたどり続け、ページをクロールし続けます。

さらに、WebスクレイパーボットはWebサーバーにかける負荷に配慮しません。Webクローラー(特に主な検索エンジンのもの)はrobots.txtファイルに従い、Webサーバーに負荷をかけないようにリクエストを制限します。

WebクローラーはSEOにどのように影響するのか?

SEOとは検索エンジン最適化を意味し、Webサイトが検索エンジン結果でより上位に現れるように、検索インデックス付けに合わせてコンテンツを準備することです。

スパイダーボットがWebサイトをクロールしない場合、インデックス付けができず、検索結果に表示されません。このため、Webサイトの所有者が検索結果からオーガニック検索のトラフィックを取得したい場合には、Webクローラーボットをブロックしないことが非常に重要です。

インターネット上でアクティブなWebクローラーボットは?

主な検索エンジンのボットは次のような名前がついています。

  • Google:Googlebot(実際にはデスクトップ検索のGooglebot Desktopとモバイル検索のGooglebot Mobileの2種類のクローラー)
  • Bing:Bingbot
  • Yandex(ロシアの検索エンジン):Yandex Bot
  • Baidu(中国語の検索エンジン):Baidu Spider

また、それほど一般的でないWebクローラーも多くあります。一部は検索エンジンとは無関係です。

ボット管理では、なぜWebクローラー対策が重要なのですか?

悪意のあるボットは、ユーザー体験の質の低下からサーバーのクラッシュ、さらにデータの盗難まで、多くの損害を引き起こす可能性があります。しかし、悪意のあるボットをブロックするにあたっては、Webクローラーなどの正当なボットが依然としてWebプロパティにアクセスできるようにしておくことが重要です。 Cloudflare Bot Managementは、正当なボットのWebサイトへのアクセスを維持しながら、悪意のあるボットトラフィック軽減します。この製品は、Webクローラーなどの正当なボットのホワイトリストを自動更新して維持し、正当なボットがブロックされないようにします。