(Pic from: freevectorgraphics.org)大抵上而言,無論任何的流量統計工具,一定會把站長自己的瀏覽數(Page View,以下簡稱 PV)包含進去。雖然 Google Analytics(以下簡稱 GA)可以排除特定 IP 的統計數據,但這功能對於撥接上網所產生的浮動 IP 則完全無效。而 Blogger 後台雖可設定「不追蹤我自己的網頁瀏覽量」,可惜並沒有作用。
其實小小的數據失真也不是什麼嚴重的事,畢竟自己的流量所佔的百分比不高。不過若是有以下情況,的確會讓 PV 稍微失真:
- 常常回頭編輯、修正文章的內容時 → 影響 Blogger 後台數據
- 留言很多的文章,站長一一回覆時 → 影響 GA 及 Blogger 後台數據
因此,這個主題的研究確實有其意義存在。+Reggie Li 於這個「Blogger 中文社群討論串」提出的構想,讓徹底解決這個問題有了曙光,以下將分別介紹如何在 Blogger 後台、與 GA 的統計數據中,排除自己的瀏覽量。(請注意,本文的程式碼只能在 Blogger 平台生效)
一、不追蹤自己的 Blogger 後台數據
1. 構想出處
+Reggie Li 的構想為,利用書籤的方式,來封鎖站長自己使用的瀏覽器,不紀錄 cookie。詳細的介紹、說明與原理,請直接參考原文「blogger 不追蹤我自己的網頁瀏覽量 bug 處理」。
2. 安裝於範本
Reggie 的考量為,希望範本保持乾淨(不裝太多的 js),因此使用書籤的方式來執行。由於 WFU 的範本自認為已經夠亂了,不差多這個程式,因此借用 Reggie 的思路,把他的 code 搬到範本中執行。如果你也不在意安裝於範本中的話,可參考以下的安裝步驟:
請到後台「範本」→「編輯 HTML」,搜尋
<!-- 不追蹤 Blogger 後台自己瀏覽量 start -->
<span id="notTrackBloggerOwnVisit">WFU</span>
<script>
(function(){var a=document.getElementById("notTrackBloggerOwnVisit"),c;a.className="item-control blog-admin";c=window.getComputedStyle?window.getComputedStyle(a).display:a.currentStyle.display;if(c!="none"){var b=new Date();b.setDate(b.getDate()+365);document.cookie="_ns=2; expires="+b.toUTCString()+"; path=/; domain="+location.host}a.parentNode.removeChild(a)})();
</script>
<!-- 不追蹤 Blogger 後台自己瀏覽量 end, code by Reggie Li & WFU BLOG-->
以上為了節省空間將程式碼壓縮了,想了解程式碼請參考 Reggie 原文即可。
將範本儲存後,以後開啟自己的網頁,後台的數據也不會跟著增加了。
二、不追蹤自己的 GA 數據
其實這部份的原理跟上面一模一樣,因此就省略說明的篇幅,直接敘述安裝的步驟。
1. 刪除原本的 GA 追蹤碼
如果是 Blogger 新範本,那麼範本中已經內建 GA 安裝碼,請找到這個字串
<!--<b:include data='blog' name='google-analytics'/>-->
為何不刪除程式碼,而使用註解的方式讓程式碼不執行,原因請參考「Blogger 範本__(一)」→「一、範本註解方式」。
2. 刪除額外的 GA 安裝碼
很多 Blogger 使用者看了網路上的教學,可能操作錯誤、或為了保險,不但在後台填過 GA 追蹤碼 ID,同時也在範本中安裝了程式碼,導致會執行兩次一模一樣的程式。因此請找找看範本中是否有類似以下兩組程式碼的其中之一(分別為 GA 的新版及舊版程式碼)──
新版:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-x', 'wayne-fu.blogspot.com');
ga('send', 'pageview');
</script>
舊版:
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxxxx-x']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
找到後,參考「1. 刪除原本的 GA 追蹤碼」的方式,將整段程式碼的頭尾,分別加上 "<!--"、"-->" 的字串註解掉即可。
3. 找出 GA 追蹤碼 ID
如果原本在 Blogger 後台 → 設定 → 其他 → Google Analytics → 這裡有填過 ID 的話,請將這組字串記起來即可。
不然的話,可先登入 google 帳號,再進入 GA 網站:
如上圖,網站右邊的字串就是 GA 追蹤碼 ID。
4. 安裝 GA 程式碼
以下的程式碼可讓訪客的瀏覽器正常執行 GA 追蹤碼,但自己的瀏覽器不執行 GA 追蹤碼。請到後台「範本」→「編輯 HTML」,搜尋
<!-- 不追蹤 Google Analytics 自己瀏覽量 start -->
<span id="notTrackGAownVisit">WFU</span>
<script>
//<![CDATA[
(function () {
var GAid = "UA-xxxxxxxx-x",
host=document.getElementById("notTrackGAownVisit"),display,ga,s;host.className="item-control blog-admin";display=window.getComputedStyle?window.getComputedStyle(host).display:host.currentStyle.display;if(display=="none"){window._gaq=window._gaq||[];window._gaq.push(["_setAccount",GAid]);window._gaq.push(["_trackPageview"]);ga=document.createElement("script");ga.type="text/javascript";ga.async=true;ga.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga,s)}host.parentNode.removeChild(host);
} )();
//]]>
</script>
<!-- 不追蹤 Google Analytics 自己瀏覽量 end, code by WFU BLOG-->
以上程式碼最重要的是將紅色的字串,依照「3. 找出 GA 追蹤碼 ID」的步驟,改成自己的「GA 追蹤碼 ID」字串即可。
將範本儲存後,以後開啟自己的網頁,GA 的數據也不會跟著增加了。
Google Analytics 相關應用:
連自己使用的瀏灠量也計算在內又真是不準碓,
回覆刪除很多網頁都做到這樣, blogspot 也真落後!
有你這達人幫忙、反映竟見, 希望他們自動改善啦!
<969824727202129341>(以上內容請勿刪除,從括號之後開始留言) 對啊,像留言很多的網誌,每回一則留言,就要重新洗網頁 XD
回覆刪除讚讚讚!
回覆刪除網誌流量小一下就知道差別
最近連 histats 排除 IP 都失效了
如果在試算表裡加一個總數據弄成流量總覽
連 histats 都不用了 :D
<969824727202129341>(以上內容請勿刪除,從括號之後開始留言)其實這一點算是技術上還滿困難的,也不能怪blogger(應該所有部落格平台都一樣),像我就是用撥接上網,每次的IP都不一樣,所以的確是很難判定哪些瀏覽量是站長的。
回覆刪除不過blogger平台比較幸運的是,用本文的程式碼就搞定啦!
<8964532092158422084>(以上內容請勿刪除,從括號之後開始留言)這一點我就真的不喜歡,每回一則必須refresh才能看到結果,其實google的技術是可以做到動態刷新留言結果的。
回覆刪除<4939621087745708831>(以上內容請勿刪除,從括號之後開始留言)[quote]在試算表裡加一個總數據弄成流量總覽[/quote]這個idea滿不錯的,不過寫一篇文章的話,這樣有點單薄,有沒有其他數據建議一下,順便一起寫好了~
回覆刪除[quote]連 histats 都不用了[/quote]
其實histats有很多功能還滿喜歡的,所以一直無法讓他退休,例如即時知道線上訪客在看你哪些文章、訪客從什麼網頁過來的等等~
BTW,之前你提的「單篇文章計數器」加入歷史資料,最近快進入排程了,應該不久就能發布!
我之前也有發現:明明已經按了不統計自己的瀏覽量但好像還是一樣會統計。
回覆刪除心裡覺得有點奇怪。不過我覺得:算了,那就這樣吧。然後就不理他了 XDD(平凡人的思維)
大大確認問題,思考問題及解決問題的能力真讓人敬佩呀!!!
<3442629739616866002>(以上內容請勿刪除,以下引言請自行刪減) [quote]這個idea滿不錯的,不過寫一篇文章的話,這樣有點單薄,有沒有其他數據建議一下,順便一起寫好了~其實histats有很多功能還滿喜歡的,所以一直無法讓他退休,例如即時知道線上訪客在看你哪些文章、訪客從...[/quote]
回覆刪除瀏覽數據應該是變不出什麼新把戲了
不外乎就單篇數據跟總數據而已
差別在於哪種工具統計值會比較準
最多再把排除作者數據後另外弄出一個非官方的熱門文章工具吧?
感覺這樣工程太浩大了 XD
用 GA 好處是 GA 不會算網路爬蟲的數據
histats 的話在對 GA 統計的改良過後
應該剩下知道訪客會有哪種解析度的螢幕尺寸無法被取代而已
因為流量來源 GA 跟 blogger 後台資料都看得到啊 :D
對了請問一下
GA 統計執不算自己的瀏覽數是判定
是由從作者自己的後台連出去還是看瀏覽器 cookie 決定?
<1747328309175405248>(以上內容請勿刪除,從括號之後開始留言)過獎了,我也是平凡人,當初跟你一樣OS:"算了,那就這樣吧" → 功勞是火星人(Reggie Li)的,我是借花獻佛 :)
回覆刪除<7233256716752872881>(以上內容請勿刪除,從括號之後開始留言)1. 其實非官方的"熱門文章"工具很久以前就在計畫中,只是進不了排程而已~~XD
回覆刪除2. histats我無法放在的原因在其操作界面簡單,快速,GA 這個多年過去了,始終做不到 histats 給我的方便。
3. 其實只不過是以站長登入時,不執行GA罷了,自然就沒有統計數據了~
感謝大大!每次點選不要再追蹤自己都無效,看到那些「人氣」其實都是自己的實在令人火大.....照大大的方法做了之後終於解決了!
回覆刪除Reggie Li 他的程式碼,似乎只有在blogger登錄後,再到blogspot設定不追踪(默認是追踪),才可以不統計自己的瀏覽量!!
回覆刪除<3020549424840045412>(以上內容請勿刪除,從括號之後開始留言)這功能的原理是偵測 cookie, 要登錄後 cookie 才有紀錄喔~ 否則 Blogger 無法知道身分,自然不能判斷是否要計算瀏覽量。
回覆刪除https://drive.google.com/file/d/1sezn27NAF3O7mlWYpwZ1MNlBh2IvnQlM/view
回覆刪除不追蹤Blogger後台的自己流量安裝後無法正常使用,只知道紅色是錯誤語法
另外想請教一下,如果是用GTM的代碼來管理GA的話,這方法可行嗎
"不追蹤Blogger後台的自己流量安裝後無法正常使用" → 如果不能使用的話,核心 code 的出處是另一位作者,您可到他的網頁跟他反應。
刪除"GTM的代碼來管理GA" → 當然可以,請 google 有很多教學
GA4的追蹤碼ID跟原本的不同,程式碼其他部分是否也要更動呢?
回覆刪除請不要使用 GA4 追蹤碼
刪除使用原本的追蹤碼