個人サイトのGA4、表示回数の17〜42%は本番以外のホストだった(実測)
僕は個人でいくつかの小さなWebサイトを運営していて、アクセス解析にはGoogleアナリティクス4(GA4)を使っています。立ち上げから1か月ほどたったころ(2026年8月14日と9月3日に実測)、GA4の「表示回数」をホスト名(どのドメインで見られたか)ごとに分けてみました。
先に結論です。2026年8月6日〜9月2日の28日間で、表示回数のうち本番ドメイン以外が占めた割合は、1つ目のサイト群で17.2%、2つ目で42.1%(574中99、140中59)でした(9月3日に確認)。中身は、開発中の自分のアクセス(localhost・127.0.0.1)と、Cloudflare Pagesが最初に割り当てる既定ドメイン(〜.pages.dev)です。どちらも、何もしなければ本番の数字と同じ表に足されます。
1. よく読まれている解説と、足りなかったもの
書く前に、「GA4 自分のアクセス 除外」で検索して上位の解説記事を開きました(2026年10月29日)。どれも手順は丁寧で、社内のIPアドレスを「内部トラフィック」として定義してフィルタで外す方法、Googleタグマネージャーで自分のブラウザに目印のCookieを付ける方法、ホスト名でステージング環境を外す方法が紹介されていました。「フィルタはいきなり有効にせず、まずテスト状態で確認する」という注意も共通しています。
一方で、「実際にどれくらい混ざるのか」という数字は、開いた記事のどれにも載っていませんでした。手順は分かっても、自分のサイトでやる価値があるのかは判断できません。そこで、自分のサイトの数字をそのまま出すことにしました。
2. ホスト名で分けた結果(2回分)
GA4の「ページとスクリーン」レポートに、ディメンション「ホスト名」を足して数えました。どの数字も、GA4の画面で読み取ったものです。設定は変えずに読み取りだけしています。
| 計測 | 合計 | 開発環境 | 既定ドメイン | 本番以外の計 |
|---|---|---|---|---|
| サイト群A:7/17〜8/13(8/14時点の実測) | 175 | 16 | 34 | 50(28.6%) |
| サイト群A:8/6〜9/2(9/3時点の実測) | 574 | 48 | 51 | 99(17.2%) |
| サイト群B:8/6〜9/2(9/3時点の実測) | 140 | 36 | 23 | 59(42.1%) |
サイト群Aは、方言クイズや資格の練習ツールなど、ひとつのGA4プロパティにまとめている複数のサブドメインです。サイト群Bは、別のプロパティで計測しているゲームのルール解説サイトです。どちらも立ち上げて間もなく、そもそもの母数が小さいサイトです。1つ目の計測と2つ目の計測は期間が8月6日〜13日で重なっているので、足し合わせて読まないでください。
母数が小さいほど、自分の作業の重みは大きくなります(表1の実測が示すとおりです)。サイト群Bで4割を超えたのは、そのぶん本番に来た人が少なかったからです。
3. 混ざっていたものの中身
本番以外のホストは、性質の違う2種類に分かれます。ここを混ぜて「全部ノイズ」と考えると、判断を間違えます。
| ホスト名 | 表示回数 | ユーザー | 正体 |
|---|---|---|---|
| localhost | 46(実測) | 2 | 自分の開発中の確認 |
| 127.0.0.1 | 2 | 1 | 同上 |
| 既定ドメイン(pages.dev)3つの合計 | 51 | 25(9/3時点) | 自分の確認+検索から来た人 |
localhostは、2人で46回です。1人あたり20回以上で、普通の訪問者ではありえない数です。開発中に自分のパソコンで画面を開くたびに、GA4のタグが動いていました。これは消してかまいません。
注意が要るのは既定ドメインのほうです。8月14日の計測では、既定ドメインのひとつに検索(Organic Search)経由のセッションが11ありました。本番と同じページが、別のアドレスでも検索に出ていたということです。ここに来た人は本物の訪問者なので、フィルタで消すと実在する読者まで消えます。直すべきなのは計測ではなく、検索に別のアドレスが出ていること自体です(canonicalタグや転送で本番に寄せる)。
4. 国別に見たら、日本からは1人だった
ホスト名とは別の問題も見つかりました。サイト群Bの2026年7月17日〜8月13日(8月14日に確認)を国別に見ると、こうなっていました。
| 国 | ユーザー |
|---|---|
| アメリカ | 30(8/14時点) |
| ドイツ | 10 |
| フランス | 6 |
| ポーランド・ロシア | 各2 |
| 香港・韓国 | 各1 |
| 日本 | 1(エンゲージメント時間0秒・実測) |
日本語だけで書いたサイトなのに、53人中52人が海外です。全体の平均エンゲージメント時間は2秒でした(同じ期間の実測)。人が読みに来たとは考えにくく、自動のアクセスだろうと見ています(推定です。正体までは確かめられていません)。
GA4の管理画面を探しましたが、「既知のボットを除外する」という切り替えはありませんでした。GA4は、Googleが把握しているボットを自動で除外すると説明しています。つまりこの52人は、その自動除外をすり抜けた側です。ここはフィルタで消せるものではないので、数字を読むときに国で絞る、という読み方で対処しています。
5. 除外しようとして分かったGA4の仕様
2026年8月14日〜15日に、実際に除外の設定をしました。そこで手順の解説には書かれていなかったことが3つありました。
- 「内部トラフィック」フィルタを有効にしても、何も除外されなかった。フィルタは状態が「テスト」になっていたので「有効」に変えましたが、内部トラフィックの定義(IPアドレスのルール)が0件でした。ルールが無いと目印が一度も付かないので、除外される対象もゼロです。自宅のIPアドレスが変わる環境だと、このルール自体が作りにくいという事情もあります。
- ホスト名のフィルタに「含まない」が無い。選べる条件は「完全一致」「先頭が一致」「最後が一致」「次を含む」の4つでした。最初は「本番ドメインを含まないものを除外」にしたかったのですが作れず、「localhostを含む」または「pages.devを含む」を除外する形にしました。2つの条件は自動でOR(どちらか)になります。
- フィルタ名にハイフンが使えない。先頭は英字で、英数字・スペース・アンダースコアだけでした。
作ったホスト名フィルタは、まず「テスト」状態にしました。ところが、テストのまま置いていた期間に取ったのが表1の2回目の計測で、混入は続いていました。テスト状態のフィルタは、レポートの数字を何も変えません。作っただけで安心していた、というのが正直なところです。
6. 小さなサイトで最初にやること
自分の失敗をふまえて、立ち上げたばかりの小さなサイトなら、この順番がいいと思っています。
- GA4でホスト名を1回だけ分けて見る。「ページとスクリーン」にホスト名を足すだけです。混ざっていなければ、ここで終わりです。
- 開発環境では、そもそもタグを読み込まない。表示しているホスト名がlocalhostなどのときにタグを読まないようにすれば、フィルタが要りません。後から消すより、最初から送らないほうが確実です。
- 既定ドメインは、消す前に「検索から人が来ていないか」を見る。来ているなら、直すのはフィルタではなく、本番への転送やcanonicalです。
- フィルタを作ったら、テストから有効に切り替える日を決める。テストのままでは数字は変わりません。有効にした後に除外されたデータは戻せないので、本番のホスト名を消していないかだけは先に確かめます。
母数の小さいサイトほど、この数十回の差で「伸びた」「落ちた」の判断が変わります。僕は検索での伸びを判断するときは、GA4ではなくSearch Consoleの数字を使うようにしました。Search Consoleは検索結果での表示とクリックだけを数えるので、開発中の自分のアクセスは入りません。
まとめ
- 2026年8月6日〜9月2日の表示回数のうち、本番以外のホストはサイト群Aで17.2%、サイト群Bで42.1%でした
- localhostは2人で46回=自分の開発中のアクセスです。既定ドメインには、検索から来た本物の訪問者も混ざっていました
- 「内部トラフィック」フィルタはルールが無いと効かず、ホスト名フィルタはテストのままだと数字を変えません
次の1アクションとして、自分のGA4で「ページとスクリーン」にホスト名を足し、本番以外のホストが何回あるかを数えてみてください。数分で終わります。
ほかにも、自分で運営して測った記録を書いています。503を出したあとのSearch Console実測や、Search Consoleのクエリ表が見えなかった日もどうぞ。