実装・技術解説 2026.04.01 19 min read

GA4だけではAI流入は計測できない—サーバーログで補完する方法

GA4に出ないAI流入をサーバーログで可視化する方法を解説した記事のサムネイル
OBS-LOG / 2026.04.01
TABLE OF CONTENTS

「GA4でAI流入を確認しています」というWordPressサイト運営者は増えています。ただ、GA4が拾えるAI流入は、実際の全体像の一部にすぎません。

AIクローラーがサイトを訪れた記録や、ChatGPTのアプリ経由でクリックされた流入の一部は、GA4の画面にほとんど現れません

「流入ゼロ」に見えていても、サーバーログを開くとAI関連のアクセスがずらりと並んでいる——ケースが実際に起きています。

この記事では、GA4だけでは見えないAI流入をサーバーログで補完する方法を、bash(コマンド操作)をほぼ触ったことがない方でも実行できるよう、手順を一つひとつ説明します。

エックスサーバー・さくらインターネット・ロリポップの3社に対応しています。

この記事でわかること|📖:約8分

  • GA4がAI流入を取りこぼす3つの理由
  • サーバーログとは何か、どこにあるか
  • 主要3社(エックスサーバー・さくらインターネット・ロリポップ)でのログ取得手順
  • ログからAIクローラーを抽出するbashコマンドの読み方・使い方

なぜGA4だけではAI流入を全部拾えないのか

GA4はJavaScriptのタグをブラウザが実行することでデータを収集します。つまり、ブラウザを持たない相手のアクセスは、GA4の画面にまったく現れません。

GA4が拾えないAI流入の問題は、以前の記事「GA4に出ない流入がある—ゼロクリック時代の計測の死角」でも取り上げました。記事では「なぜ出ないか」を掘り下げています。

なぜGA4だけではAI流入を全部拾えないのか

GA4はJavaScriptのタグをブラウザが実行することでデータを収集します。つまり、ブラウザを持たない相手のアクセスは、GA4の画面にまったく現れません。

AIがサイトに関わるアクセスには、大きく分けて3種類あります。GA4が拾えるものと拾えないものを整理すると、下記の通り。

アクセスの種類 具体例 GA4で見える?
AIチャットから人がクリック ChatGPT・Perplexityのリンクをクリック ⚠️ 一部のみ
AIクローラーの巡回 GPTBot・ClaudeBot・Amazonbot ❌ 見えない
AI Overview経由のクリック GoogleのAI概要からサイトへ ⚠️ 一部のみ

① AIクローラーの巡回は最初から対象外

GPTBotやClaudeBotといったAIクローラーは、人間のブラウザとまったく異なる動き方をします。JavaScriptを実行しないため、GA4のタグが動かず、どれだけ大量にサイトを訪れていてもGA4のセッション数はゼロのままです。

「AIに引用されているはずなのにGA4に何も出ない」という状況の多くは、クローラーの巡回がGA4に記録されないことが原因です。

② ChatGPTアプリ経由の流入はdirectに化ける

ChatGPTのスマートフォンアプリやデスクトップアプリからリンクをクリックした場合、参照元情報がブラウザに渡らないケースがあります。GA4では「(direct) / (none)」として計上されるため、AI経由と判別できません。

③ AI Overviewのクリックはgoogle / organicに混ざる

GoogleのAI Overview(検索結果上部に表示されるAIの回答)内のリンクからサイトへ来たユーザーは、GA4上では通常のGoogle検索流入と区別がつかない状態で記録されます。「検索流入が増えた」と思っていたら、実はAI Overview経由だった——という可能性が常にあります。

この3つの死角をカバーするのが、サーバーログです。サーバーログはJavaScriptの実行とは無関係に、サーバーへのすべてのアクセスを記録します。GA4が「見ていない時間帯」の出来事も、サーバーログには残っています

GPTBotやOAI-SearchBotといった各クローラーの詳細な仕様や許可・拒否設定については「GooglebotとGPTBot・OAI-SearchBotの違い」で解説しています。

サーバーログとは何か——WordPressサイトのどこに記録されているか

サーバーログとは、サイトへのすべてのアクセスをサーバー側で自動記録したテキストファイルです。誰が(IPアドレス)、いつ(日時)、どのページを(URL)、どんな方法で訪れたか(ユーザーエージェント)が1行ずつ記録されています。

GA4はブラウザ側で動くのに対して、サーバーログはサーバー側で動きます。そのため、JavaScriptを実行しないAIクローラーのアクセスも、アプリ経由で参照元が消えた流入も、サーバーログには必ず残ります。

ログの1行はこんな形をしています

実際のログファイルを開くと、次のような1行が大量に並んでいます。

123.456.789.0 - - [18/Mar/2026:10:23:45 +0900] "GET /ai-crawler/ HTTP/1.1" 200 45231 "-" "GPTBot/1.0"

読み方は左から順に、次のとおりです。

項目 値の例 意味
IPアドレス 123.456.789.0 アクセス元のIPアドレス
日時 18/Mar/2026:10:23:45 アクセスがあった日時
リクエスト GET /ai-crawler/ 取得しようとしたページのURL
ステータスコード 200 200は正常、404はページが見つからない
ユーザーエージェント GPTBot/1.0 アクセスしてきた相手の名前

「ユーザーエージェント」の欄を見ることで、GPTBotやClaudeBotといったAIクローラーかどうかを判別できます。後述のbashコマンドでは、この欄を検索してAI関連のアクセスだけを抽出します。

実際にサーバーログを使った実験記事「サーバーログを見たら、AIクローラーが404を踏み続けていた」も参考にしてください。ログの読み方の具体的なイメージがつかめます。

ログはデフォルトで保存されていないことがある

レンタルサーバーによっては、ログの保存設定がデフォルトでオフになっています。次のセクションでサーバー別の確認手順を説明しますが、まず保存設定がオンになっているかを確認するところから始めます。保存設定をオンにした日以降のログしか残らないため、早めに設定しておくことをおすすめします。

主要サーバー別・アクセスログの確認手順

エックスサーバー・さくらインターネット・ロリポップの3社について、ログの保存設定からダウンロードまでの手順を説明します。使っているサーバーの項目だけ読んでいただければ大丈夫です。

エックスサーバー

エックスサーバーはサーバーパネルからログを確認・ダウンロードできます。ただし、デフォルトではログの保存期間が設定されていないため、まず保存設定を有効にする必要があります。

  1. サーバーパネル(https://www.xserver.ne.jp/login_server.php)にログインします。
  2. 「アクセス解析」セクション内の「アクセスログ」をクリックします。
  3. 対象ドメインを選択し、「保存期間設定」から1〜9週間の範囲で保存期間を設定して「保存する」をクリックします。
  4. 設定後、同じ画面の「対象日を指定」から確認したい日付を選び「表示」または「ダウンロードする」をクリックします。

2025年10月以降、サーバーパネル上でダウンロードせずにブラウザでログを直接確認できるようになっています。数日分をざっと確認したいだけであれば、ダウンロード不要で中身を見られます。

さくらインターネット

さくらインターネットはサーバーコントロールパネルからログを設定・取得します。ログデータは設定した翌日から蓄積が始まります。

  1. サーバーコントロールパネル(https://secure.sakura.ad.jp/rs/cp/)にログインします。
  2. 「サーバーステータス」→「アクセスログ」を開きます。
  3. 「アクセスログの保存」を「保存する」に変更し、保存期間を選択して「保存する」をクリックします。
  4. 翌日以降、同画面に表示されるログファイルのパスをFTPクライアントで開き、logフォルダ内のaccess_log_日付ファイルをダウンロードします。

さくらインターネットのログファイルは前日分がgzip形式(.gz)で圧縮されています。ダウンロード後に解凍してからテキストエディタで開いてください。Windowsの場合は7-Zip、Macの場合はダブルクリックで解凍できます。

ロリポップ

ロリポップはユーザー専用ページからログをダウンロードできます。ログは前日から過去90日間分が保存されています。

  1. ユーザー専用ページ(https://user.lolipop.jp/)にログインします。
  2. 「サーバーの管理・設定」→「アクセスログ」を開きます。
  3. 確認したいドメインの右側にある「アクセスログページ」をクリックします。
  4. 「生ログファイルのダウンロード」から確認したい日付を選び「ダウンロード」をクリックします。

ダウンロードされるファイルは「ドメイン名_日付.log.gz」という名前です。さくらインターネットと同様にgzip形式で圧縮されているため、解凍してから中身を確認します。

なお、ロリポップのハイスピードプランとエンタープライズプランはアクセスログ解析機能が利用できません。生ログファイルのダウンロードのみ対応しています。

サーバー 確認場所 保存設定 ファイル形式 保存期間
エックスサーバー サーバーパネル→アクセスログ 要設定(デフォルトオフ) テキスト 1〜9週間(設定による)
さくらインターネット コントロールパネル→アクセスログ 要設定(デフォルトオフ) gzip圧縮 設定による
ロリポップ ユーザー専用ページ→アクセスログ 設定不要(自動保存) gzip圧縮 90日間

ログからAIクローラーを抽出するbashコマンド

ログファイルをダウンロードしたら、次はAIクローラーのアクセスだけを取り出します。大量のテキストの中から特定の文字列を探すのに使うのが、bashのgrepコマンドです。

「コマンドなんて触ったことない」という方も心配はいりません。コピー&ペーストで動くコマンドを用意しています。1行ずつ何をしているかも説明します。

bashを開く方法

Macの場合は「ターミナル」、Windowsの場合は「PowerShell」または「コマンドプロンプト」を開きます。ダウンロードしたログファイルが入っているフォルダに移動してから作業します。

# ログファイルがあるフォルダに移動する(例:Downloadsフォルダの場合)
cd ~/Downloads

主要AIクローラーをまとめて抽出するコマンド

次のコマンドを実行すると、ログファイルの中からAIクローラーのアクセス行だけを取り出して表示します。

grep -iE "GPTBot|OAI-SearchBot|ClaudeBot|Claude-SearchBot|Amazonbot|Googlebot-Extended|PerplexityBot|meta-externalagent" access_log.txt

コマンドの読み方は次のとおりです。

部分 意味
grep テキストの中から特定の文字列を検索するコマンド
-i 大文字・小文字を区別しない
-E 複数の文字列を|(または)でつなげて検索できる
"GPTBot|OAI-SearchBot|..." 検索したいAIクローラーの名前(ユーザーエージェント)
access_log.txt 検索対象のログファイル名(自分のファイル名に変更)

ファイル名はダウンロードしたログのファイル名に合わせて変更してください。さくらインターネットやロリポップの場合、gzip解凍後のファイル名(例:example.com_20260318.log)に書き換えます。

件数だけを確認したい場合

「何件あるかだけ知りたい」という場合は、末尾に| wc -lを追加します。

grep -iE "GPTBot|OAI-SearchBot|ClaudeBot|Claude-SearchBot|Amazonbot|Googlebot-Extended|PerplexityBot|meta-externalagent" access_log.txt | wc -l

| wc -lは「前のコマンドの結果が何行あるかを数える」という意味です。実行すると数字だけが表示されます。

クローラー別に件数を集計したい場合

どのAIクローラーが何回来ているかを一覧で見たい場合は、次のコマンドを使います。

grep -iE "GPTBot|OAI-SearchBot|ClaudeBot|Claude-SearchBot|Amazonbot|Googlebot-Extended|PerplexityBot|meta-externalagent" access_log.txt \
| grep -oiE "GPTBot|OAI-SearchBot|ClaudeBot|Claude-SearchBot|Amazonbot|Googlebot-Extended|PerplexityBot|meta-externalagent" \
| sort | uniq -c | sort -rn

実行すると次のような結果が表示されます。

     47 GPTBot
     23 ClaudeBot
     12 Amazonbot
      8 OAI-SearchBot
      3 PerplexityBot

左の数字がアクセス件数、右がクローラーの名前です。GA4のセッション数と見比べると、どれだけのアクセスがGA4に記録されていないかが一目でわかります。

GA4と照らし合わせて「ズレ」を把握する

サーバーログでAIクローラーの件数が出たら、GA4のデータと並べてみます。2つのデータを比べることで、GA4だけを見ていたときには気づけなかった実態が見えてきます。

比べるべき2つの数字

確認するのは次の2点です。

確認項目 確認場所 意味
AIクローラーのアクセス件数 サーバーログ(前セクションのコマンド結果) AIがサイトを巡回した回数
AI経由のセッション数 GA4「レポート」→「集客」→「参照元/メディア」 AIリンクから人がクリックしてきた回数

2つは性質がまったく異なります。サーバーログのAIクローラー件数は「AIがサイトを読みに来た回数」、GA4のAI経由セッションは「AIのリンクを人がクリックした回数」です。どちらが多い・少ないではなく、両方あわせて見ることが重要です。

GA4でAI経由セッションを確認する手順

  1. GA4の左メニューから「レポート」→「集客」→「トラフィック獲得」を開きます。
  2. 表の上部にあるプルダウンを「セッションの参照元/メディア」に切り替えます。
  3. 検索ボックスに「chatgpt」「perplexity」「claude」などと入力してフィルタします。

ここで表示される数字が、GA4が把握できているAI流入の全体です。サーバーログのAIクローラー件数と比べると、GA4が見えていない部分がどれくらいあるかの感覚をつかめます。

「ズレ」から読み取れること

2つのデータを並べると、次のような状況が見えてきます。

状況 考えられる意味
サーバーログにクローラーは多いがGA4のAI流入はほぼゼロ AIはサイトを読んでいるが、まだ引用・紹介には至っていない段階
GA4のdirect流入が増えているがAI流入は少ない ChatGPTアプリ経由の流入がdirectに化けている可能性がある
サーバーログにもGA4にもAI関連がほぼない AIクローラーがまだサイトを発見していない、またはrobots.txtで拒否している可能性がある

ログを見て「AIに全然来てもらえていない」と焦る必要はありません。クローラーが巡回していることが確認できれば、AIがサイトを認識しはじめているサインです。引用につながるかどうかは、コンテンツの質と継続的な発信が決めます。

まとめ:GA4+サーバーログで計測の死角を減らす

GA4は優秀なツールですが、AIが関わるアクセスのすべてを記録できるわけではありません。AIクローラーの巡回・アプリ経由の流入・AI Overview経由のクリックは、GA4の画面からはほぼ見えません。

サーバーログはその死角を補完する、もっともシンプルな手段です。難しい設定は必要なく、ログをダウンロードしてgrepコマンドを1行実行するだけで、GA4には出てこないAI関連のアクセスを確認できます。

やること 使うもの
AIクローラーの巡回を確認する サーバーログ+grepコマンド
AIリンクから人が来ているか確認する GA4「参照元/メディア」
directに化けたAI流入を推測する GA4のdirect流入の増減を観察

2つのデータを定点観測することで、「AIにサイトが読まれているか」「引用につながる流入が発生しているか」を継続的に把握できるようになります。

なお、サーバーログにはAIクローラーのアクセスが記録されますが、「AIが実際に引用しているか」まではログだけでは判断できません。サイトのAI可視性を総合的に確認したい場合は、AI観測ラボの診断ツールをあわせて使うと、より全体像が見えやすくなります。

AIクローラーをそもそも許可しているかどうかも確認しておきましょう。「AIクローラーを拒否する前に知っておくべきこと」で設定の考え方を整理しています。

あなたのサイト、AIにちゃんと読まれていますか?

サーバーログで確認できるのはクローラーの巡回までです。AIに引用されやすいサイト設計になっているか、AI観測ラボの診断ツールで確かめてみてください。

AI可視性を診断する(無料)

Free Diagnostic Tool

あなたのサイトは、
AIに見えていますか?

URLを入力するだけで30秒。8項目を自動診断し、優先度別の改善プランを提示します。完全無料・登録不要。