「生成AI時代になり、自社サイトがAIにどれくらい参照されているか分析したい」「Googleアナリティクス(GA4)を見てもAIからのアクセスが反映されていない気がする…」と悩んでいませんか?
ChatGPTやPerplexityなどの登場により、ユーザーの検索行動は大きく変化しています。しかし、従来のGA4(Google Analytics)では「ブラウザ上でHTMLコードがレンダリング(表示)されたアクセス」を中心に計測するため、AIクローラーが情報を読み取りに来たアクセスを補足しきれないという課題があります。
そこで注目されているのが、CDN(コンテンツ配信ネットワーク)サービスの代表格であるCloudflare(クラウドフレア)のアクセスログです。Cloudflareを経由するAIクローラーのログを取得し、Googleのデータ分析基盤であるBigQueryへ連携・集計することで、AI時代における自社メディアの「参照元データ」を可視化できます。
この記事では、CloudflareからAIクローラーのログを取得してBigQueryへ連携する仕組みと具体的手順を分かりやすく解説します!
AIクローラーログ分析の全体ロードマップ
AIクローラーのアクセスログを取得し、分析基盤を構築するまでの手順は以下のステップで進めます。
- 基礎理解:なぜCloudflareのログでAI分析ができるのか?(CDNの仕組みとGAとの違い)
- ログの種別整理:AIクローラーの種類と見分け方(学習用・回答用などの分類)
- STEP 1:Cloudflare Logpushを設定する(BigQueryへの自動転送設定)
- STEP 2:BigQueryでAIクローラーのログを抽出・集計する(SQLによる分析)
- 活用法:ログ分析から「引用数・参照元データ」を分析するコツ
まずは、「なぜGAではなくCloudflareを使うのか?」という背景から順番に見ていきましょう!
基礎理解:なぜCloudflareのログでAI分析ができるのか?
はじめに、CDN(Cloudflare)の仕組みとGA4との違いについて分かりやすく解説します。
Cloudflare(CDN)とは?(例え:サイトの「警備員付き配送センター」)
Cloudflare(クラウドフレア)とは、世界中で利用されているCDN(Content Delivery Network)サービスの一種です。
分かりやすく例えると、以下のような関係になります。
- オリジンサーバー(自社サーバー):商品を保管している「本社の倉庫」
- Cloudflare(CDN):全国各地にある「配送センター 兼 警備員」
- ユーザー・クローラー:商品を買いに来る「お客さんや業者」
通常、訪問者がWebサイトを見にいく際、直接オリジンサーバーに読み取りに行くと負担がかかり、表示速度が遅くなってしまいます。そこで間にCloudflareを挟むことで、キャッシュデータを素早く返し、サイトの読み込み速度を向上させたりセキュリティを防護したりしています。
GA4との決定的な違い(なぜGAではAIの動きが追えないのか?)
GA4などのアクセス解析ツールとCloudflareのログには、以下のような決定的な違いがあります。
- GA4(Googleアナリティクス):ユーザーがブラウザでサイトを開き、JavaScriptが実行されてHTMLコードが表示された段階で「1PV」と判定します。
- Cloudflare(CDNログ):ブラウザでの表示関係なく、「サーバーにHTMLコードやデータを読み取りに来た瞬間(リクエスト)」をすべて記録します。
AIのクローラー(検索用ボットなど)は、ブラウザでJavaScriptを実行せずに直接HTMLのテキスト情報だけをダウンロードしていくケースがほとんどです。
結論
GA4には記録されない「AIクローラーがHTMLを読みに行った行動」そのものを100%捕捉できるのが、Cloudflareのアクセスログ最大のアドバンテージです!
ログの種別整理:AIクローラーの種類と見分け方
AIクローラーと一言で言っても、実は「何のためにサイトを巡回しているか」によって目的が大きく2つに分かれます。Cloudflareのログに含まれる User-Agent(ユーザーエージェント)の文字列でこれらを判別します。
1. AIモデルの「学習用」クローラー
将来のAIモデルをトレーニングするために、Web上のデータを収集(スクレイピング)して蓄積するクローラーです。リアルタイムの検索回答ではなく、定期的な情報収集を目的としています。
- GPTBot(提供:OpenAI)
User-Agent: Mozilla/5.0 ... GPTBot/1.0 - ClaudeBot(提供:Anthropic)
User-Agent: Mozilla/5.0 ... ClaudeBot/1.0 - Google-Extended(提供:Google / Gemini等の学習用)
User-Agent: Google-Extended - CCBot(提供:Common Crawl / オープンデータセット用)
User-Agent: CCBot/2.0
2. ユーザー回答時の「リアルタイム検索・参照用」クローラー
ユーザーが生成AI(ChatGPTやPerplexityなど)に質問をした際、最新情報や具体的な根拠を取得するためにリアルタイムでWebサイトを読み込みに来るクローラーです。
- ChatGPT-User(提供:OpenAI / ChatGPTのWeb検索機能)
User-Agent: Mozilla/5.0 ... ChatGPT-User/1.0 - PerplexityBot(提供:Perplexity AI / AI検索エンジン)
User-Agent: Mozilla/5.0 ... PerplexityBot/1.0 - Bytespider(提供:ByteDance)
User-Agent: Bytespider
ワンポイントアドバイス
特に「リアルタイム検索用」クローラー(ChatGPT-UserやPerplexityBot)のアクセスが増えているページは、「今まさにユーザーの質問に対して回答の参照先として選ばれているページ」である可能性が極めて高いと言えます!
STEP 1:CloudflareからBigQueryへログを連携する(Logpush設定)
ここからは、実際にCloudflareのリアルタイムログをGoogle BigQueryへ自動転送(連携)する手順を解説します。
1. GCP(Google Cloud)側での事前準備
- Google Cloud Consoleを開き、ログ格納用のBigQueryデータセットを作成します(例:
cloudflare_logs)。 - CloudflareからBigQueryへの書き込み権限を持つサービスアカウントを作成し、サービスアカウントキー(JSON)を発行・ダウンロードします。
2. Cloudflare側で「Logpush」を設定する
- Cloudflareの管理画面にログインし、対象のドメインを選択します。
- サイドメニューの [Analytics & Logs] > [Logpush] を開きます。
- [Create a Logpush job] をクリックします。
- データセットとして [HTTP requests] を選択します。
- 転送先(Destination)に [Google BigQuery] を選択し、GCPで取得した認証情報やプロジェクトID、データセット名を指定します。
- 取得するフィールド(Fields)に、少なくとも以下が含まれていることを確認して保存・有効化(Push)します。
ClientRequestURI(アクセスされたURL)ClientRequestUserAgent(クローラーの種類判定用)EdgeStartTimestamp(アクセス日時)ClientIP(IPアドレス)
STEP 2:BigQueryでAIクローラーのログを抽出・分析する
Logpushの設定が完了すると、CloudflareからBigQueryへリアルタイムにHTTPリクエストログが流れていきます。SQLを使って、AIクローラーのみを抽出してみましょう。
AIクローラー別アクセス数を集計するSQL例
以下のクエリを実行することで、AIクローラーごとのアクセス回数や、最も読まれているURLのランキングを出力できます。
【SQLクエリ例】
SELECT
ClientRequestURI AS url,
CASE
WHEN ClientRequestUserAgent LIKE '%GPTBot%' THEN 'OpenAI (学習)'
WHEN ClientRequestUserAgent LIKE '%ChatGPT-User%' THEN 'OpenAI (検索)'
WHEN ClientRequestUserAgent LIKE '%PerplexityBot%' THEN 'Perplexity'
WHEN ClientRequestUserAgent LIKE '%ClaudeBot%' THEN 'Anthropic'
ELSE 'その他AI'
END AS ai_bot_type,
COUNT(*) AS access_count
FROM
`your_project.cloudflare_logs.http_requests`
WHERE
ClientRequestUserAgent LIKE '%GPTBot%'
OR ClientRequestUserAgent LIKE '%ChatGPT-User%'
OR ClientRequestUserAgent LIKE '%PerplexityBot%'
OR ClientRequestUserAgent LIKE '%ClaudeBot%'
GROUP BY
1, 2
ORDER BY
access_count DESC;
活用法:AIログから「間接的な引用数・参照元」を捉える方法
生成AIの回答内で「実際に自社サイトがリンク付きで引用されたか(直接的な引用数)」は、AIの出力画面側をパースしない限り厳密には追えません。
しかし、Cloudflareのログを追うことで、「引用数の強力な参照元データ(プロキシデータ)」として活用することができます。
具体的に見えてくる3つのインサイト
- 1. AIに「評価・参照されている記事」の特定
ChatGPT-UserやPerplexityBotから頻繁にアクセスされている記事は、ユーザーがAIに質問した際に高確率で情報源として読み込まれています。LLM(大規模言語モデル)にとって価値の高いコンテンツである証拠です。 - 2. AI検索エンジンのトレンド把握
自社メディアの中で「どのジャンル・どのキーワードがAI検索経由で読み込まれやすいか」の傾向が分かります。SEO(検索エンジン最適化)だけでなく、GEO(Generative Engine Optimization:生成AI最適化)の施策立案に直結します。 - 3. クロール拒否(robots.txt)の判断材料
無駄にサーバー負荷だけをかける学習用クローラー(CCBot等)と、ユーザーの流入・認知に寄与する検索用クローラー(ChatGPT-User等)を識別し、必要に応じてアクセスの可否をコントロールする判断ができます。
まとめ:Cloudflare×BigQueryでAI時代のアクセス解析を始めよう!
最後に、本記事の要点を振り返りましょう。
- GA4だけでは不十分:AIクローラーはHTMLの読み取り行動のみを行うため、CDN(Cloudflare)レベルのログ取得が不可欠。
- クローラーは2種類存在する:「モデルの学習用」と「ユーザー質問時のリアルタイム検索用」をUser-Agentで識別する。
- BigQuery連携で可視化:Cloudflare Logpushを使えば自動でBigQueryにログを溜めてSQL分析が可能。
- 引用数の参照データになる:直接的な引用ログではなくても、AIにどの記事がどれくらい参照されているかの一次データとして活用できる。
生成AI時代のWebマーケティングにおいて、AIクローラーの動向を把握することは競合に差をつける重要なステップです。CloudflareとBigQueryを組み合わせて、ぜひ自社サイトの「AI参照度」を可視化してみてください!
次回は、「SQLで抽出したAIクローラーログやさまざまな外部データを統合したBigQuery分析について深ぼっていきます。

コメント