Screaming FrogやSitebulbのようなデスクトップクローラーは、短時間のうちに1つのサイトへ数百から数千のリクエストを、すべて1つのIPアドレスから送信します。自社サイトであれば、これが問題になることはほとんどありません。しかし競合サイトや大規模なECカタログ、厳格なファイアウォールの背後にあるサイトでは、クロールが途中で止まってしまうことがよくあります。403や429のレスポンスが返ってきたり、CAPTCHAページがコンテンツとしてカウントされたり、オフィスのIPに対してサイトが別のバージョンを黙って配信したりするのです。
プロキシは、このうちアドレスに関わる部分を解決します。また、他の国の訪問者が見ているとおりにサイトを監査する手段でもあり、これは国際SEOにおいて重要です。このガイドでは、監査に実際にプロキシが必要になる場面、主要ツールでの設定方法、そしてクロールが成功するかどうかを左右する設定について説明します。これは、適切な場所からページを確認することが仕事の半分を占める、私たちの幅広いSEOモニタリングの取り組みの一部です。
サイト監査にプロキシが必要になる場面
自社で管理していないサイトの監査。 競合監査、コンテンツギャップの調査、見込み顧客向けのプレセール監査では、いずれもクロールに同意していないサイトをクロールします。ファイアウォールやCDNはIP単位でレート制限をかけており、1つのアドレスからの集中的なアクセスは最もブロックしやすいパターンです。
ローカライズ版の確認。 サイトは国ごとにリダイレクトし、価格や通貨を変え、市場によってはセクション全体を非表示にすることもあります。オフィスからのクロールでは、常に1つのバージョンしか見えません。ターゲットとする各国のIPを経由してクロールすれば、訪問者や現地の検索ユーザーが何を受け取っているかが分かり、hreflangの代替ページが実際に解決されるかどうかも確認できます。監査のこの側面については、hreflangを使ってページのすべての言語版を見つける方法に関するガイドで取り上げています。
地域やネットワークに基づく小細工の発見。 一部のサイト、そしてハッキングされた多くのサイトは、オフィスやデータセンターのネットワークに対して、家庭のユーザーとは異なるコンテンツを配信します。適切な市場の家庭回線からクロールすることで、本当のバージョンを確認できます。
プロキシが不要な場合。 自社サイトであれば、ファイアウォールやCDNでクローラーのIPアドレスを許可リストに追加するか、ステージング環境のコピーをクロールするほうが適切です。単純に許可できるクロールにプロキシを使うと、コストがかかるうえに管理すべき要素が1つ増えます。
Screaming Frogでプロキシを設定する
Screaming FrogのSEO Spiderでは、WindowsとLinuxでは File > Settings > Proxy、macOSでは Screaming Frog SEO Spider > Settings > Proxy にプロキシ設定があります。「Use Proxy Server」にチェックを入れ、プロキシのアドレスとポートを入力し、プロキシの認証情報を指定します。
Screaming Frog自身のドキュメントにある次の3つの点が、使い方を左右します。
- 設定できるプロキシサーバーは1つだけです。 リストによるローテーション機能は組み込まれていないため、ローテーションが必要な場合はプロキシ側で処理する必要があります。
- プロキシの変更を反映するにはツールの再起動が必要です。
- 例外は設定できません。 クローラーからのHTTPとHTTPSのトラフィックは、すべてプロキシを経由するか、まったく経由しないかのどちらかです。
プロキシが1つしか設定できないからこそ、ゲートウェイ型のレジデンシャルプロキシはクローラーと相性が良いのです。入力するエンドポイントは1つだけで、ユーザー名に含めたターゲティングに基づいて、各リクエストがどの出口IPを使うかをゲートウェイが決定します。クロールが認証エラーですぐに失敗する場合は、407プロキシ認証エラーの解決方法に関するガイドで、よくある原因を紹介しています。
Sitebulbでプロキシを設定する
Sitebulbでは、上部のナビゲーションから Settings を開き、Proxy タブに移動します。これはグローバル設定なので、新しく開始するすべての監査のデフォルトになります。自社サイトを監査する前にはプロキシを再びオフにすることを忘れないでください。そうしないと、それらの監査もプロキシを経由して実行されます。
他の監査ツールも同様のパターンで、アプリケーションまたはプロジェクトの設定に1つのプロキシ入力欄があります。クラウドベースのクローラーは通常、自社のサーバーから実行されるためプロキシを一切受け付けません。これが、競合調査でデスクトップクローラーが今も広く使われている理由の1つです。
ローテーションかスティッキーか:セッションタイプの選択
ゲートウェイを使う場合、リクエストごとに新しい出口IPを割り当てるか、一定時間同じIPでクロールを続けるかを選択します。
リクエストごとのローテーション は、クロールを多数のアドレスに分散させるため、1つのIPがレート制限に引っかかるほどのトラフィックを送ることはありません。ログインがなくCookieの少ない静的なページや大規模なカタログに適しています。
スティッキーセッション は、設定した時間のあいだ同じIPを維持します。サイトがCookie、同意の選択、選択した国をセッションに紐づけている場合や、クロールの途中でIPが切り替わると新たなボットチェックが発生する場合に使用してください。関連するページの読み込み中にIPが変わらないよう、セッション時間はクロールの一般的なバーストよりも長く設定します。
プロキシIPをローテーションするタイミングの判断フレームワークでは、このトレードオフをさらに詳しく解説しています。ローカライズ版の監査では、プロキシのユーザー名に国を、必要に応じて都市も追加し、すべてのリクエストが監査対象の市場から出ていくようにします。
プロキシよりも重要なクロール設定
プロキシが変えるのはリクエストの送信元です。過度に負荷の高いクロールを許容されるものにするわけではなく、クローラーのいくつかの設定も同じくらい重要です。
速度。 Screaming Frogはデフォルトで5スレッドでクロールし、Configuration > Speed で1秒あたりのURL数の上限を設定できます。他者のサイトでは速度を低く保ち、クロールに時間をかけてください。高速なクロールを多数のIPに分散させても、受け取るサーバーにとっては高速なクロールであることに変わりありません。
ユーザーエージェント。 Configuration > User-Agent では、ブラウザとしてクロールするか、Googlebotとしてクロールするかを選べます。Google以外のIPからのGooglebotのユーザーエージェントは簡単に見破られ、クローラーを検証しているサイトでは不審なものとして扱われます。競合監査では、通常のブラウザのユーザーエージェントのほうが安全です。
取得するもの。 レジデンシャルトラフィックは通常、GB単位で課金されます。画像、フォント、動画、スクリプトがページの容量の大半を占めることもあります。監査の目的がHTML、タイトル、リンク、ステータスコードであれば、不要なリソースの種類は除外してください。JavaScriptレンダリングではブラウザが読み込むすべてのリソースが読み込まれるため、必要なセクションに限って有効にします。
Robots.txt。 robots.txtを尊重する設定は、どちらのツールでもデフォルトです。自社が所有していないサイトでは、その設定を維持してください。
よくある質問
Screaming Frogはプロキシをローテーションできますか?
リストからのローテーションはできません。Screaming Frogが受け付けるプロキシサーバーは1つだけです。IPをローテーションするには、リクエストごとまたはセッションごとに新しい出口IPを割り当てるプロキシゲートウェイを指定してください。
自社サイトをクロールするのにプロキシは必要ですか?
通常は必要ありません。ファイアウォールやCDNでクローラーのIPを許可リストに追加するほうが、簡単で費用もかかりません。自社サイトでプロキシを使うのは、他の国やネットワークからサイトを確認する必要がある場合に限られます。
SEOクローラーに最も適したプロキシの種類はどれですか?
厳格なボット対策が施されたサイトやローカライズ版の確認には、レジデンシャルプロキシが最も信頼できます。選択した国の家庭回線からリクエストが送信されるためです。データセンタープロキシはより安価で、保護の弱いサイトであれば機能することがあります。
クロールで403や429のエラーが表示されるのはなぜですか?
サイトがリクエストをブロックしているか、レート制限をかけています。まずクロール速度を下げ、制限がアドレス単位の場合はローテーションするIPを経由してクロールしてください。
まとめ
デスクトップクローラーはすべてのリクエストを1つのIPから送信します。これは自社サイトでは問題ありませんが、それ以外のサイトでは問題になります。競合監査や国際的な監査では、Screaming FrogやSitebulbに単一のゲートウェイエンドポイントを指定し、サイトに合わせてローテーションまたはスティッキーセッションを選び、監査対象の国をターゲットに設定し、クロールは低速に保って本当に必要なページとリソースに絞り込んでください。