Web クローラーは、自動化されたプログラム、スクリプト、またはボットであり、検索エンジンやその他のプログラムがインターネット上で絶えず変化するコンテンツを把握し、ユーザーが常に最新の情報にアクセスできるようにするのに役立ちます。
例えば、Google や Bing のような検索エンジンがクエリに一致するページを配信する際、クローラーが裏でそれらのページを積極的に収集してインデックス登録を行っています。
Web クローラーの仕組み
Webサイトのクロールワークフローは、サイトがどれだけ迅速に処理されるか、およびそのコンテンツがどれだけ徹底的に分析されるかに影響します。従って、見込み顧客がオンラインで自社のビジネスを簡単に見つけられるようにしたい場合でも、ビジネスの重要な進展について常に知ってもらいたい場合でも、クローラーがどのように機能するかを明確に理解することで、インターネット上の機会を最大限に活用できます。クローラーは以下のステップを行います。
シード URL : クローラーは、「シード」と呼ばれる、出発点となる URL のリストから開始します。これらは通常、サイトで優先的にインデックス登録したい、アクセス数の多いドメインまたはページです。
HTTP リクエスト : ボットはシード URL にあるページを取得するために HTTP リクエストを送信し、サイト上の他のページへの新しいリンクを検出します。
コンテンツのダウンロード : 解析して保存するために、各ページのテキストや画像、その他のファイルを含むコンテンツをダウンロードします。
解析 : 専用のソフトウェアがページや記事から、タイトルや説明などのメタデータを抽出し、リンクを識別するとともに、検索のしやすさと関連性についてコンテンツを分析します。
リンクの検出 : クローラーは、公開されている Web 全体の構造や範囲を把握するため、ページ内のすべての内部リンクと、他のドメインにつながる外部リンクを見つけ出します。
優先順位付け : アルゴリズムは、キーワードやフレーズなどのページ内の要素、および他の関連性の高いページからの被リンク数などのページ外の要素に基づいて、各ページの重要性と権威性を判断します。優先度の高いページは、インデックス登録のためにクロールキューにより早く追加されます。
再クロールのスケジュール: クローラーはあらかじめ設定されたスケジュールに従ってページを再訪問するようにプログラムされています。頻繁に更新されるサイトは毎日、より静的なサイトは年に1回程度の頻度でクロールされることがあります。
データの保存 : 抽出されたデータはすべて大規模なデータベースに保存され、検索結果を提供するために使用されます。
robots.txt の遵守 : Webサイトのルートディレクトリには、インデックス登録の前にクローラーが確認する robots.txt ファイルが含まれています。このドキュメントによって、クローラーが回避すべき特定のディレクトリまたはページタイプを指定できるため、検索エンジンを通じてアクセス可能なコンテンツをコントロールできます。
動的コンテンツの処理 : サイトの JavaScript、Cookie、キャッシュにより、クローラーが動的ページを完全にレンダリングすることが難しくなります。これらのボットは、このようなコンテンツに対応するため、JavaScript を実行し、Cookie を利用してユーザーセッションを再現したり、不要なプリフェッチなしで更新の有無を確認するためにハッシュベースの再検証などの手法を用いたりします。
Web クローラーの種類
さまざまな理由で異なるクローラーが Web ページを探索します。最も一般的なクローラーの種類を理解することで、自社サイトのオンラインコンテンツが検索エンジンに発見・クロールされる仕組みをより適切に最適化し、トラフィックとリードの増加につなげることができます。これは、悪意のあるクローラーからコンテンツを保護するためにも有効です。特に注目すべき種類のクローラーをいくつか見てみましょう。
検索エンジンクローラー : Google や Bing などの強力なボットは、検索結果の関連性を維持するためにWebサイトを定期的にスキャンし、新しく公開されたページや更新されたコンテンツを適切なタイミングでインデックス登録します。
SEO クローラー : Ahrefs のような検索エンジン最適化 (SEO) サービスは、最適化戦略に役立てるために、ページ上の技術的な問題やページ外のリンク機会を特定する専用クローラーを採用しています。
データマイニングクローラー : 市場調査会社や分析会社は、トレンドやユーザー行動、競合に関するインサイトを得るためにカスタムボットを使用して公開されているオンラインデータを集約します。
価格比較クローラー : 価格比較サイトでは、リアルタイムクローラーを使用して各eコマースサイトの価格変動をモニタリングし、買い物客が最もお得な価格情報を確認できるようにします。
学術用クローラー : 自然言語処理やウェブ構造分析などの分野の研究者は、研究のために公開データを収集する専用のボットを作成します。
ニュース・アグリゲーター・クローラー : ニュースの見出しをキュレーションするサービスは、クローラーを利用してパブリッシャーのWebサイトから最新情報を検出して検証し、共有します。
ソーシャルメディアクローラー : Facebook のようなプラットフォームはクローラーを使用して、共有されたリンクのソーシャルプロフィールをスキャンし、エンゲージメントを把握して広告に活用します。
悪意のあるクローラー : 残念ながら、マルウェアの拡散や認証情報の窃取、DDoS 攻撃の実行などの違法行為に使用されるクローラーも存在します。
Web クローリングの課題と考慮すべきポイント
これらのボットには多くのメリットがありますが、その動作によって複雑な問題が生じることもあり、クローラーの運用者とWebサイトの両方に影響を及ぼす可能性があります。こうした課題を克服するには、責任あるクローリングと効果的なオンラインコンテンツ/プラットフォーム管理における潜在的な障壁を理解する必要があります。
以下は一般的な問題の一部です。
サーバー負荷 : 頻繁にクローリングが行われると、多数のリクエストによってサーバーに負荷がかかり、放置するとサイト訪問者の体験が損なわれる可能性があります。
帯域幅の消費 : クロールデータの送信により、容量とリソースが消費されます。Web ホスティング会社によって制限が設けられている場合、しきい値に達すると、Webサイトのパフォーマンスが制限される可能性があります。
プライバシーに関する懸念 : クローラーがサイトから機密性の高い個人情報を収集して配布すると、データ保護に関する問題が生じます。
知的財産に関する問題 : ボットが組織や個人が権利を持つ画像やテキスト、コードをコピーして共有することで、著作権を侵害することがあります。
クローラートラップ : サイト構造が複雑な場合、クローラーが正常にサイトを巡回できず、意図しない処理や無限ループに処理能力が無駄に消費されます。
重複コンテンツ : プラットフォームまたは Web に同一またはほぼ同じ内容のぺージが存在する場合、クローラーがそれらを適切に区別することが困難になります。
クロールバジェットの管理 : クロールの処理能力が制限され、頻繁に更新されるサイトで重要なページが効率的にクロールされにくくなる場合があります。クローラーは、これらの制約の中で価値の高い情報を効果的にインデックス登録するために、ドメインとコンテンツタイプの優先順位を決定する必要があります。
国際的な法的考慮事項 : 規制は国や地域によって異なるため、クローラーはデータの取り扱いや所有権に関する各地域の法規制を尊重するポリシーを採用する必要があります。
倫理的な考慮事項 : 自動クロール活動では、より慎重な技術開発と監督体制を導入することで、著作権で保護された情報の共有など、意図しない結果を避ける必要があります。
Webサイトでクローラーを管理するためのベストプラクティス10選
自動化されたプログラムがWebサイトをどのように検出するかを効果的に管理するには、クロールのメリットを最大化しつつ、潜在的な問題を最小限に抑えられる戦略的なアプローチが必要です。このような戦略を実践することで、帯域コストを削減し、カスタマーエクスペリエンスを強化すると同時に、ページを見つけやすくすることでリード獲得の増加にもつなげられます。以下の主なアプローチをお勧めします。
1. robots.txt を実装する
robots.txt ファイルをドメインのルートフォルダーに配置し、クローラーの設定を管理します。「robots.txt」という名前のプレーンテキストファイルを作成し、User-Agent と Disallow のディレクティブを使用してルールを指定してください。
2. XML サイトマップを作成する
多くの CMS プラットフォームでサイトマッププラグインが提供されています。WordPress では、Yoast SEO、RankMath、または Google XML Sitemaps を使用して、コンテンツのサイトマップを自動生成することをお勧めします。
3. meta robots タグを使用する
クロールまたはフォローされたくないページに、<noindex> や <nofollow> などのタグを適用します。WordPressでは、これらは各ページ/投稿の SEO 設定で管理できます。
4. クローラーのアクティビティを監視する
サーバーログのようなツールを使用してボットを追跡することで、インデックス登録が正当に行われていることを確認し、不正な利用や攻撃を特定できます。CDN によって、アクセスパターンをモニタリングして分析することもできます。
5. クロールバジェットの最適化
ページの表示速度を改善し、重複コンテンツを最小限に抑えることで、クローラーが価値のあるページに集中できるようにします。Google の PageSpeed Insights や GTmetrix などのツールを使用してサイト監査を実施することで、パフォーマンスの問題を特定できます。
6. 適切な HTTP ステータスコードを使用する
許可のないアクセスには 4xx 系、エラーには 5xx 系など、適切な HTTP ステータスコードを返して、ページの状態を明確に伝えます。正確なコードのレスポンスがサーバーの設定でサポートされていることを確認してください。
7. 重複コンテンツを管理する
関連性が分散されないよう、内容がほぼ同じページを統合します。不要な重複ページを特定できる Xenu のようなツールは、クリーンアップや canonical タグの設定に役立ちます。
8. クロール率をコントロールする
急増が発生した場合、robots.txt またはサーバー設定により、リソースを過負荷から保護するためにインデックス登録を一時的に停止できます。検索エンジンのツールを使用して、クローラーの速度設定を調整することも可能です。
9. 機密性の高いコンテンツを保護する
クローラーがパスワードや個人情報を収集して配布しないように、非公開ページでは認証を必須にします。また、送信された情報を保護するフォームを確認してください。
10. クローラーの最新動向を常に把握する
フォーラムなどのモニタリングを通じて進化するベストプラクティスを把握し、クローラーのニーズと責任あるWebサイト管理とのバランスを取るようにします。
Fastly でクローラー管理とボット対策を効率化
以上で見てきたように、クローラーは企業が情報を共有し、関心のあるオーディエンスとつながるのに役立ちます。ただし、それらを管理するには、サーバーの負荷や重複コンテンツ、その他の対処すべき課題など、実際に考慮しなければならない点があります。それぞれ固有の目的を持つ、さまざまな種類のクローラーがあるため、それらとのインタラクションを管理するには繊細なアプローチが求められます。
Fastly の Bot Management ソリューションは、攻撃やスクレイピングを試みる悪意のあるクローラーからWebサイトを保護することで、このプロセスの効率化に役立ちます。以下は、Fastly のプラットフォームで利用可能な機能とメリットです。
ボット検知 : Fastlyのソリューションは、Webサイトとやり取りするさまざまな自動化されたプログラムを正確に識別して分類します。
トラフィックのフィルタリング : Fastly は、送信元の IP アドレスや行動パターンなどの属性に基づいて、既知のクローラーと、有害な可能性があるボットを区別します。
レート制限 : Fastlyでは、さまざまなクローラーやボットがリソースにアクセスできるレートを調整できるため、過負荷を回避しながら正当なニーズとのバランスが取りやすくなります。
カスタムルール : 機能に基づいてクローラーをカテゴリー化し、それぞれのカテゴリー特有のポリシーを設定して適用できます。
リアルタイム分析 : Fastly を通じて、Webサイトのクローリングアクティビティに関するインサイトを取得することで、パフォーマンスへの影響を把握しながら、経時的にルールを最適化できます。
API保護 : このソリューションは、クローラーが API に不正にアクセスするのを防ぎます。
CAPTCHA の統合 : Fastly では、不審なトラフィックに、さらなるアクセスを許可する前に、正当な目的があることを確認するため、疑わしいクローラーにチャレンジを課すことができます。
適応型セキュリティ : Fastly の継続的な学習機能は、責任ある形で共有されたインテリジェンスを活用し、新しいクローラーの種類や動向に関する最新情報を取得して活かせるよう支援することを目的としています。
クローラーのインタラクションとオンラインセキュリティの最適化にご関心がおありですか?Fastly のデモを予約して、このソリューションがリソースを保護しながら可視性とのバランスを実現できる理由をご覧ください。