What is a web crawler? | How web spiders work

A web crawler, or spider, is a type of bot that is typically operated by search engines like Google and Bing. Their purpose is to index the content of websites all across the Internet so that those websites can appear in search engine results.

学習目的

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

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

記事のリンクをコピーする

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

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

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

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

Web crawler bot organizing information

ただし、図書館とは異なり、インターネットは物理的な本の山で構成されていないため、必要な情報がすべて適切にインデックス付けされているか、それとも膨大な量が見落とされているのかを判断するのは困難です。インターネットが提供する関連情報をすべて見つけようとして、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 requirements: Web crawlers also decide which pages to crawl based on the robots.txt protocol (also known as the robots exclusion protocol). Before crawling a webpage, they will check the robots.txt file hosted by that page's web server. A robots.txt file is a text file that specifies the rules for any bots accessing the hosted website or application. These rules define which pages the bots can crawl, and which links they can follow. As an example, check out the Cloudflare.com robots.txt file.

これらのすべての要因は、各検索エンジンがスパイダーボットに組み込む独自のアルゴリズム内で様々な方法で評価されます。さまざまな検索エンジンの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クローラー対策が重要なのですか?

Bad bots can cause a lot of damage, from poor user experiences to server crashes to data theft. However, in blocking bad bots, it's important to still allow good bots, such as web crawlers, to access web properties. Cloudflare Bot Management allows good bots to keep accessing websites while still mitigating malicious bot traffic. The product maintains an automatically updated allowlist of good bots, like web crawlers, to ensure they aren't blocked. Smaller organizations can gain a similar level of visibility and control over their bot traffic with Super Bot Fight Mode, available on Cloudflare Pro and Business plans.