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

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

学習目的

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

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

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

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

Cloudflareでクレデンシャルスタッフィングやコンテンツスクレイピングなどのボット攻撃を防御する

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

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

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

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
  • DuckDuckGo:DuckDuckBot
  • Yahoo! Search:Slurp
  • Yandex:YandexBot
  • Baidu:Baiduspider
  • Exalead:ExaBot

また、他にも多くのWebクローラーボットがあり、その中には検索エンジンとは無関係なものもあります。

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

悪意のあるボットは、ユーザーエクスペリエンスの低下から、サーバーのクラッシュ、さらにデータの盗難まで、多くの損害を引き起こす可能性があります。しかし、悪性ボットをブロックするにあたっては、Webクローラーなどの正当なボットが依然としてWebプロパティにアクセスできるようにしておくことが重要です。Cloudflare Bot Managementは、正当なボットのWebサイトへのアクセスを維持しながら、悪意のあるボットトラフィックを軽減します。本製品は、Web クローラーのような正当なボットの許可リストを自動更新して維持し、ボットがブロックされないようにします。Cloudflare ProおよびBusiness プランで提供されているSuper Bot Fight Modeを利用することで、小規模な組織でも同じレベルのボットトラフィックの可視化と制御が可能です。