(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 的數據也不會跟著增加了。