2014年3月14日

[小工具]Blogger 與 Google Analytics 如何不追蹤自己的瀏覽量(Page View)

A+

(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」,搜尋 <body...> 這一行,找到後在下一行插入以下程式碼:

<!-- 不追蹤 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'/>,改成以下字串把他註解掉即可:

<!--<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」,搜尋 <body...> 這一行,找到後在下一行插入以下程式碼:

<!-- 不追蹤 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 相關應用:

13 則留言:

  1. 連自己使用的瀏灠量也計算在內又真是不準碓,
    很多網頁都做到這樣, blogspot 也真落後!

    有你這達人幫忙、反映竟見, 希望他們自動改善啦!

    回覆刪除
  2. <969824727202129341>(以上內容請勿刪除,從括號之後開始留言) 對啊,像留言很多的網誌,每回一則留言,就要重新洗網頁 XD

    回覆刪除
  3. 讚讚讚!
    網誌流量小一下就知道差別
    最近連 histats 排除 IP 都失效了
    如果在試算表裡加一個總數據弄成流量總覽
    連 histats 都不用了 :D

    回覆刪除
  4. <969824727202129341>(以上內容請勿刪除,從括號之後開始留言)其實這一點算是技術上還滿困難的,也不能怪blogger(應該所有部落格平台都一樣),像我就是用撥接上網,每次的IP都不一樣,所以的確是很難判定哪些瀏覽量是站長的。

    不過blogger平台比較幸運的是,用本文的程式碼就搞定啦!

    回覆刪除
  5. <8964532092158422084>(以上內容請勿刪除,從括號之後開始留言)這一點我就真的不喜歡,每回一則必須refresh才能看到結果,其實google的技術是可以做到動態刷新留言結果的。

    回覆刪除
  6. <4939621087745708831>(以上內容請勿刪除,從括號之後開始留言)[quote]在試算表裡加一個總數據弄成流量總覽[/quote]這個idea滿不錯的,不過寫一篇文章的話,這樣有點單薄,有沒有其他數據建議一下,順便一起寫好了~
    [quote]連 histats 都不用了[/quote]
    其實histats有很多功能還滿喜歡的,所以一直無法讓他退休,例如即時知道線上訪客在看你哪些文章、訪客從什麼網頁過來的等等~

    BTW,之前你提的「單篇文章計數器」加入歷史資料,最近快進入排程了,應該不久就能發布!

    回覆刪除
  7. 我之前也有發現:明明已經按了不統計自己的瀏覽量但好像還是一樣會統計。
    心裡覺得有點奇怪。不過我覺得:算了,那就這樣吧。然後就不理他了 XDD(平凡人的思維)

    大大確認問題,思考問題及解決問題的能力真讓人敬佩呀!!!

    回覆刪除
  8. <3442629739616866002>(以上內容請勿刪除,以下引言請自行刪減) [quote]這個idea滿不錯的,不過寫一篇文章的話,這樣有點單薄,有沒有其他數據建議一下,順便一起寫好了~其實histats有很多功能還滿喜歡的,所以一直無法讓他退休,例如即時知道線上訪客在看你哪些文章、訪客從...[/quote]
    瀏覽數據應該是變不出什麼新把戲了
    不外乎就單篇數據跟總數據而已
    差別在於哪種工具統計值會比較準
    最多再把排除作者數據後另外弄出一個非官方的熱門文章工具吧?
    感覺這樣工程太浩大了 XD

    用 GA 好處是 GA 不會算網路爬蟲的數據
    histats 的話在對 GA 統計的改良過後
    應該剩下知道訪客會有哪種解析度的螢幕尺寸無法被取代而已
    因為流量來源 GA 跟 blogger 後台資料都看得到啊 :D

    對了請問一下
    GA 統計執不算自己的瀏覽數是判定
    是由從作者自己的後台連出去還是看瀏覽器 cookie 決定?

    回覆刪除
  9. <1747328309175405248>(以上內容請勿刪除,從括號之後開始留言)過獎了,我也是平凡人,當初跟你一樣OS:"算了,那就這樣吧" → 功勞是火星人(Reggie Li)的,我是借花獻佛 :)

    回覆刪除
  10. <7233256716752872881>(以上內容請勿刪除,從括號之後開始留言)1. 其實非官方的"熱門文章"工具很久以前就在計畫中,只是進不了排程而已~~XD

    2. histats我無法放在的原因在其操作界面簡單,快速,GA 這個多年過去了,始終做不到 histats 給我的方便。

    3. 其實只不過是以站長登入時,不執行GA罷了,自然就沒有統計數據了~

    回覆刪除
  11. 感謝大大!每次點選不要再追蹤自己都無效,看到那些「人氣」其實都是自己的實在令人火大.....照大大的方法做了之後終於解決了!

    回覆刪除
  12. Reggie Li 他的程式碼,似乎只有在blogger登錄後,再到blogspot設定不追踪(默認是追踪),才可以不統計自己的瀏覽量!!

    回覆刪除
  13. <3020549424840045412>(以上內容請勿刪除,從括號之後開始留言)這功能的原理是偵測 cookie, 要登錄後 cookie 才有紀錄喔~ 否則 Blogger 無法知道身分,自然不能判斷是否要計算瀏覽量。

    回覆刪除

張貼留言注意事項:

◎ 勾選「通知我」可收到後續回覆的mail!
提問請附網址、詳細描述狀況,如提供的資訊不足,則無法回覆。
◎ 請在相關文章留言,與文章無關的主題請至「Blogger 中文論壇」。
◎ 若詢問 CSS 、非官方範本問題、或貴站為商業網站 ,請參考「本站諮詢頁面」→「1. 諮詢服務」
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 若發現留言不見了,通常是因為 "複製貼上" 的內容常被系統判定為垃圾留言,請不用擔心,我會定期將留言恢復。
◎ 本站「已關閉自刪留言功能」。