Ray的漫漫碼路

問題是路標,解決是旅程

0%

Google Analytics(GA) 排除統計localhost流量

前言

昨天新增文章的時候反覆在本機端查看文章的顯示效果

無意間切到GA的畫面,然後就發現點閱次數整個衝了上去,雖然次數不高,但當下的心情真的是蠻開心的,原來我的部落格開始會有人來觀看了,網路的力量真強大啊!!

開心不了多久,我就發現為什麼我沒有發佈的文章也有流量XD??

思考了一下,是因為我的localhost也同樣有植入GA的追蹤碼以及程式,而且環境同樣有連網,所以雖然是在localhost執行,但還是會被GA納入追蹤。

在這篇文章開始之前,如果你先前還沒有在Hexo中設定GA的話,可以先去參考這篇文章做設定哦~

為Hexo新增Google Analytics服務

排除localhost

知道問題是出在這段程式碼的話,那我們就著手從程式碼著手就可以囉~

(迷之音:原本叫ChatGPT幫我改,結果依然會追蹤到,還好有爬到網路的其他文章才得以解決)

讓我們再度回到.\themes\next\layout\_partials\head\找到head.swig這個檔案

將原本的程式碼刪除或者註解,改貼上這一段程式即可~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{{ next_config() }}
<!-- Google tag (gtag.js) -->
<script>
var host = window.location.hostname;
const pattern = /localhost.*/;
let pattern_re = new RegExp(pattern)
if(!pattern_re.test(host))
{
let head = document.getElementsByTagName('head')[0];
let script = document.createElement('script');
script.src= "https://www.googletagmanager.com/gtag/js?id=你的追蹤ID";
script.onload = function(){
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '你的追蹤ID');
};
head.appendChild(script);
}
</script>

測試

  1. 這時候可以用localhost瀏覽幾篇文章跟頁面,再去GA上面確認是不是沒有流量進來
  2. 如果沒有就可以佈署到Github上,然後再測試看看Github上面的網頁是不是會正常被GA追蹤

畢竟如果改完之後,Github上面的網站追蹤也失效,就本末倒置了嘛XD

參考資料

Google Analytics排除localhost访问