GA4のボット急増をSEOに影響させず止めた方法
結論
表示された319は、同時に接続していた319人を意味しません。GA4のリアルタイム表示は直近30分を順次集計します。GA4、Cloudflare、オリジンログを照合すると、分散したブラウザー自動化による過剰アクセス、またはスクレイピングに近い動きと判断できました。通常利用者、静的ファイル、API、確認済みクローラーを除外した狭いManaged Challengeで対処し、サイト侵害を示す証拠は見つかりませんでした。
GA4には過去30分のアクティブユーザー319、別の国別タイルにはシンガポール301と表示されました。Realtimeのタイルは完全に同時更新とは限らないため、両者を割って割合を出したり、同時接続数と表現したりしていません。
本稿では、人間と自動化の切り分け、Google・Bing・OpenAIクローラーとの区別、ホスティングへの実負荷、SEOとAdSenseへの影響、影響を抑えた対策、正常系テストまでを一連の手順として説明します。
確認できたのは、IPアドレスを切り替える分散ブラウザー自動化です。実行主体、物理的な発信元、目的は不明であり、DDoS、ハッキング、情報窃取、AIクローラーによる組織的な巡回を断定する証拠はありません。
「アクティブ319」の正しい読み方
リアルタイム表示は直前30分に記録された活動で、現在開いているネットワーク接続数ではありません。対策後も、すでに記録されたイベントは集計対象から外れるまで残ります。
国だけでは実需も不正も証明できません。正規利用者、VPN、プロキシ、自動ブラウザーが同じ国に分類されることがあります。シンガポールは分析上の手掛かりであり、身元でも国全体を遮断する根拠でもありません。
GA4だけに頼らず自動化を特定する
シンガポール集計はエンゲージメントが0、1セッションあたりほぼ1ページ、流入元が(direct)または空欄、特定のデスクトップブラウザーへの集中、多数のランディングページ巡回という特徴でした。強い兆候ですが、単独ではWAF変更の根拠になりません。
Cloudflareでは3分間に5,675件のリクエストが集中し、ヘッドレスブラウザーと繰り返し現れる特徴を確認しました。オリジンでも9分間に1,101個のIPアドレスから3,869件のリクエストが記録されました。GA4、エッジ、オリジンの3層を照合して初めて判断の確度が上がります。
3層の証拠チェーン
| 層 | 観測 | 安全な結論 |
|---|---|---|
| GA4行動 | エンゲージメント0、(direct)または空欄、広いページ巡回 | 強い兆候だが単独では不十分 |
| Cloudflareエッジ | 3分間への集中、ヘッドレスブラウザー、繰り返す特徴 | リクエストがエッジに到達 |
| オリジンログ | 回転IP、実リクエスト、応答バイト | ホスティング負荷と転送を確認 |
| 既知クローラー | Google、Bing、OpenAIなどは別で少量 | 急増の主体ではない |
| 機密パス | 脆弱性悪用、ログイン、管理画面探索のまとまりなし | 侵害を示す証拠なし |
Googlebot、AIクローラー、スクレイパー、攻撃のどれか
Google、Bing、OpenAI、Meta、広告検証の既知クローラーは別に少量確認され、急増の主体ではありませんでした。ユーザーエージェント名は偽装できるため、正規クローラーは検証したうえで対策対象から除外する必要があります。
根拠から言えるのは、分散したブラウザー自動化による過剰アクセス、またはスクレイピングに近いトラフィックです。調査サンプルにログイン試行、管理画面探索、総当たり、機密ファイル、脆弱性悪用のまとまった形跡はなく、侵害を示す証拠は見つかりませんでした。ただし実行主体と目的は不明です。
放置した場合の帯域、検索順位、AdSenseへの影響
Cloudflareの35分サンプルでは10,038リクエスト、エッジ応答166,891,967バイトでした。キャッシュが一部を吸収しても、オリジンは約32分で2,126リクエスト、応答本文63,296,919バイトを処理しています。
異常なペースが続けば約1日1.4 GB増える計算でした。これは条件付き推計で、最終使用量や請求額ではありません。帯域幅計算ツールで継続時の転送量を試算するで別のペースを試算できますが、ボット判定機能はありません。
GA4上の急増だけで検索順位が自動的に下がることはありません。実際の遅延や5xxがクロールを妨げる、または広すぎるルールがGooglebotを遮断する場合に間接リスクが生じます。分析値やAdSenseの無効なトラフィックにも影響します。巡回リスト終了で自然停止する場合もありますが、再発しているなら待つだけでは恒久対策になりません。
影響を抑えた対策:狭く設定したManaged Challenge
シンガポール全体は遮断しませんでした。ネットワークは分散し、国は身元ではありません。国別遮断は正規利用者を失い、自動化側は出口を変更できます。
最初から即時遮断せず、観測した疑わしいページ遷移だけにManaged Challengeを適用しました。確認済みボット、GET以外のメソッド、API、静的ファイル、PWA、Service Worker、Cloudflare内部パスを除外しています。実運用の式、識別用の特徴、IDは回避の手掛かりになるため公開しません。
チャレンジにも不利益があります。正規利用者に確認画面が出る、プライバシー設定によって通過しにくくなる、範囲を誤るとAPI、AJAX、Webhook、埋め込み、PWA、クローラーが動かなくなる可能性があります。狭く開始し、正常系を試験し、誤検知を監視し、すぐ元に戻せる状態を保ちます。Cloudflare Workersによる共有ホスティングのフェイルオーバー事例はオリジン障害への対策で、ボット分類とは別です。

結果:エッジでチャレンジし、オリジン負荷が低下
有効化後、Cloudflareはチャレンジ対象となった128件のリクエストを記録しました。128体のボット、128人の利用者、128人の攻撃者を意味する数字ではありません。1つのクライアントが複数のチャレンジ応答を発生させることがあります。
その後のオリジン測定は1分間で8件、次の1分間で17件まで低下しました。最後に対象を絞り込んだ後は、監視していたページ取得パターンに一致する新しいリクエストはオリジンに到達していません。通常のPC・モバイルページ、日本語ツール、マニフェスト、Service Worker、公開埋め込み、Googlebot、OAI-SearchBotはHTTP 200を維持し、一致する疑わしいHTMLテストだけがチャレンジ印付きのHTTP 403を受けました。
直後の確認では、GA4のローリング表示が当初の全体319・シンガポール301から、全体241・シンガポール224へ移りました。7月31日のさらに後の確認ではアクティブユーザー23と表示されました。この低下は対策と、古いセッションが30分の集計対象から外れたことの両方と整合しますが、1つのルールだけが全低下を引き起こした証明ではありません。
ルール後も利用できたもの
| 確認項目 | 結果 | 意味 |
|---|---|---|
| 通常のPC・モバイルページ | 200 | 通常訪問を維持 |
| 日本語ローカライズツール | 200 | 言語やパスを巻き込まない |
| マニフェスト、Service Worker、埋め込み | 200 | PWAと埋め込みを維持 |
| Googlebot、OAI-SearchBot | 200 | 確認済みクローラーを維持 |
| 一致する疑わしいHTMLテスト | 403 + チャレンジ印 | エッジで該当パターンを捕捉 |
GA4急増時の安全な対応手順
1. 画像、時刻、タイムゾーン、分単位の波、流入元、ページ、エンゲージメント、端末、ブラウザーを保存し、30分窓と明記します。
2. GA4をCDNリクエスト、ステータスコード、バイト数、キャッシュ、オリジンログと照合します。エッジにもサーバーにも該当トラフィックがなければ、WAFを変える前に計測スパム、ホスト名、タグ設定を調べます。
3. 確認済みクローラー、監視、自動ブラウザー、エンドポイントの悪用、脆弱性悪用に分類します。最小で元に戻せる対策から始め、広い遮断より先にチャレンジを選びます。
4. PC、モバイル、主要言語、API、静的資産、PWA、埋め込み、正規ボット、疑わしいパターンを試験します。誤検知、オリジン、5xx、GSC、AdSenseを監視し、新しい証拠がある場合だけ強化します。
- 時刻と測定範囲を正確に残す。
- GA4、エッジ、オリジンを照合する。
- 正規ボットを検証し、ユーザーエージェント名だけを信じない。
- 広い遮断より先に疑わしい遷移へチャレンジを適用する。
- API、静的ファイル、PWA、埋め込み、必要なメソッドを除外する。
- 通常訪問、言語、クローラー、疑わしいパターンを試験する。
- 誤検知を監視し、すぐ元に戻せる状態を保つ。
観察、チャレンジ、レート制限、遮断の使い分け
GA4だけが急増した段階では調査を行い、遮断しません。疑わしいページ巡回が確認できたら狭いチャレンジ、特定のエンドポイントだけが狙われているなら、そのエンドポイントへのレート制限が適切です。
脆弱性悪用、ログインやフォームの乱用、実際の資源枯渇があるなら、管理対象WAFルール、エンドポイント保護、レート制限、必要に応じたTurnstile、ホスティング会社との調査を組み合わせます。単なる分析ノイズとして扱ってはいけません。
| 証拠の状態 | 最初の対応 | 避けること |
|---|---|---|
| GA4だけ急増 | 分析後CDN・サーバーと照合 | 1タイルで国別遮断 |
| 実リクエスト、影響小 | 監視、分類、基準値の保存 | 短い異常への恒久ルール |
| 疑わしいページ急増 | 除外付きの狭いManaged Challenge | 全サイトの即時遮断 |
| 特定エンドポイントへの集中 | エンドポイント限定のレート制限またはチャレンジ | 無関係な静的ファイルやAPIまで対象にする |
| 脆弱性悪用、ログイン・フォーム乱用 | WAF、エンドポイント保護、レート制限、Turnstile、ホスティング会社 | 分析ノイズとして扱う |
| 実際の5xx・資源制限 | エッジ対策、ホスティング会社への連絡、クロール監視 | GA4の低下だけを待つ |
Cloudflare公式WAFルール解説
公式動画はカスタムWAFルールの作成画面を説明します。操作方法の参考にし、他サイトの式をコピーせず、本稿の証拠、除外、検証手順を適用してください。
一次資料と判断の限界
数値は7月30~31日のKBTによるGA4、Cloudflare、オリジンログ調査です。製品・クローラーの挙動はGoogleとCloudflareの公式資料に基づきます。
- Google Analytics:リアルタイムのアクティブユーザー
- Google Analytics:既知のボットの除外
- Cloudflare:カスタムWAFルール
- Cloudflare:確認済みボットを許可する
- Cloudflareのチャレンジ
- Cloudflare WAFのFAQ:クローラーを保護する
- Google Search Central:Googlebotを確認する
- Google Search Central:クロール能力とサーバーの健全性
- Google AdSense:無効なトラフィック
次の確認へ
よくある質問
- ボットはGA4のアクティブユーザーに表示されますか?
はい。既知ボットの一部は除外されますが、未知の自動ブラウザーはタグを実行できます。CDNとサーバーで確認してください。
- GA4からアクティブユーザーを直接切断できますか?
できません。GA4は測定結果で、切断可能なネットワークセッションを保持していません。CDN/WAF/オリジンで新規リクエストを抑え、記録済みイベントが30分窓から外れるのを待ちます。
- 対策後もGA4にユーザーが残るのはなぜですか?
Realtimeは直前30分です。対策前のイベントは期限まで残り、正規利用者の活動も続きます。
- ボットはホスティング帯域を消費しますか?
キャッシュミス、動的ページ、静的ファイルがオリジンに届けば消費します。本件ではログで実リクエストと応答バイトを確認しました。
- 検索順位に悪影響がありますか?
分析上の急増は自動ペナルティではありません。実遅延/5xxや、Googlebotを遮断する広いルールが間接的に悪影響を与えます。
- Googlebot、AIクローラー、ハッキングのどれでしたか?
既知クローラーは別で少量でした。分散自動化の証拠はありましたが、脆弱性悪用や侵害は確認できません。実行主体と目的は不明です。
- 放置すれば自然に止まりますか?
リスト巡回終了で止まる可能性はありますが保証はありません。IPやシグネチャを変えて再発するため、待つだけは恒久対策になりません。
- Managed Challengeに悪影響はありますか?
あります。正規利用者への確認表示や、誤った範囲によるAPI、埋め込み、PWA、クローラーの障害があり得ます。狭く開始し、試験と監視を行い、すぐ元に戻せる状態を保ちます。
GA4急増はシグナルであり結論ではありません。測定窓を保存し、エッジとオリジンへの影響を証明し、確認済みトラフィックを守りながら最小の戻せる対策を選びます。
