2014年3月2日 星期日

blogger 不追蹤我自己的網頁瀏覽量 bug 處理

blogger 後台的「統計資料」->「總覽」可以設定「不追蹤我自己的網頁瀏覽量」。
在正常的情況下,設定了「不追蹤我自己的網頁瀏覽量」,blogger 的流量統計,便不會統計這個瀏覽器的的瀏覽量。

我一直都有使用這個功能,因為可以確定網誌的瀏覽量不含自己。畢竟最常看自己網誌的人,可能就是自己。

很久以前,忽然發現這個這個功能壞了。
儲存設定時會出現「取得統計資料時發生錯誤,請重新載入網頁」,當然,不管重新載入幾次,還是一樣。


另一種情況,則是後台可以正常設定,不會出現上圖的錯誤訊息,但前台完全沒作用,一樣會追蹤自己的瀏覽量。


因為我之前成功設定過,到現在都還有效果。所以比較了一下,設定成功跟設定失敗的 cookie 有何差異。
然後寫了下面的書籤小工具。這個小工具,可以在前台設定是否追蹤自己的瀏覽量。

[書籤小工具]
blogger不追蹤我自己的網頁瀏覽量


使用方式:
  1. 將上面的「blogger不追蹤我自己的網頁瀏覽量」加入書籤,當成書籤小工具 (bookmarklet)。
    加入方式如下圖, 將「blogger不追蹤我自己的網頁瀏覽量」連結拖曳到工具列。
  2. 即可將小工具加入書籤。
  3. 然後到您的網誌,再點擊工具列上的「blogger不追蹤我自己的網頁瀏覽量」書籤。
  4. 這時會彈出對話視窗。可以選擇「確定」或「取消」。
    選擇「確定」:表示讓這個網誌追蹤您的瀏覽量。這也是 blogger 的預設值。
    選擇「取消」:表示不讓這個網誌追蹤您的瀏覽量
  5. 選擇「確定」之後的畫面如下。讓該網誌可以正常追蹤您的瀏覽量 (Track my pageviews)。
    按確定關閉對話視窗後,再瀏覽該網誌,該網誌的計數器統計會正常增加。
  6. 選擇「取消」之後的畫面如下。讓該網誌不追蹤您的瀏覽量 (Don't track my pageviews)。
    按確定關閉對話視窗後,再瀏覽該網誌,該網誌的計數器統計將不會增加。

程式碼如下
(function() {
    var setCookie=function(c_name, c_value, exdays, path, domain) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + exdays);
        var c_value = escape(c_value) + ((exdays == null) ? '' : '; expires=' + exdate.toUTCString()) + ((path == null) ? '' : '; path=' + path) + ((domain== null) ? '' : '; domain=' + domain);
        document.cookie = c_name + '=' + c_value;
    };
    var domain = window.location.host;
    if(confirm('追蹤我自己的網頁瀏覽量(blogger預設),請按 [確定(OK)]\n不追蹤我自己的網頁瀏覽量,請按 [取消(Cancel)]')){
        setCookie('_ns',2,-10,'/',domain);
        alert('Track my pageviews');
    }else{
        var pattern = /\.cinc\.biz$/;
        if(!pattern.test(domain)){
            setCookie('_ns',2,365,'/',domain);
            alert('Don\'t track my pageviews');
        }else{
            alert('error');
        }
    }
})();


其它:
  • 是否追蹤瀏覽量,是由 cookie 判斷,所以有設定過的瀏覽器才會有作用。
  • 其實這個小工具不只可以讓自己的網誌不追蹤自己的瀏覽量。如果到其他人的 blogger 網誌,用這個小工具設定成不追蹤瀏覽量時,那麼您以後到該網誌時,您的瀏覽量也不會被該網誌統計。不過我還是建議只使用在自己的網誌,畢竟一個網誌的瀏覽量,是該網誌持續創作的最佳動力啊。
  • 我想,有看到這篇,而且想測試的網友,可能很直接的在這個網誌測試,為了避免測試的網友忘記改回允許追蹤瀏覽量。所以這個小工具在本網誌無作用 XD,不過會 javascript 的網友,看上面的程式碼,應該也很容易修改。
  • 2014-03-10 補充:新增安裝在範本裡面的做法「blogger 不追蹤我自己的網頁瀏覽量 bug 處理(範本版) 」。

21 則留言:

  1. 原來你是弄成書籤的形式,我原本以為是寫在範本中~~

    回覆刪除
    回覆
    1. 因為我之前不知道範本能否達成「只有管理者能使用」的效果 XD
      不過看了您給我的網址,應該是可行,有時間再來研究看看。

      刪除
  2. 我使用了之後不能恢復追蹤我自己阿(拜託請一定要回復我阿

    回覆刪除
    回覆
    1. 您好,您的blog 是 http://bob8601111lovesasakinozomi.blogspot.tw/ 嗎?
      如果是的話,似乎沒有放內建的「網誌統計資料」(計數器) 小工具。
      還是您不能恢復追蹤的資訊,是從其他地方看的?

      刪除
    2. 感謝您的回覆!是的,那是我的blog"內建的「網誌統計資料」(計數器) 小工具"是指用語法做的嗎?不好意思,我是新手,不太了解。
      我是從後台"發表文章"那邊點檢視之後再刷新"發表文章"的頁面瀏覽次數應該會多1。
      您可以點面的兩個網址比較清楚:
      http://a404.file-static.com/data/attachment/album/201407/20/222104a4j6b4wv8wzr8epj.png
      http://a408.file-static.com/data/attachment/album/201407/20/222105brgo6blowe1c1ksk.png
      ps.我現在重新開機就又正常顯示+1了,但是我下午有使用了您的那個範本做修改,也使用過不同台的電腦操作,但就是不能追蹤我自己。
      不知道是我操作上有錯誤,或是google方面有瑕疵。再次感謝您的回覆!

      刪除
    3. 您好,「網誌統計資料」在左選單按「版面配置」->右邊內容按「新增小工具」->出現小工具選擇視窗,裡面有「網誌統計資料」可以選。
      「網誌統計資料」可以顯示整個網站的瀏覽數,可以選擇統計所有時間、30天、7天,
      像我目前網誌右邊是顯示最近30天的瀏覽數。

      這邊的是否追蹤,我之前是看「網誌統計資料」小工具統計的整個網站瀏覽數。
      不過,您提到發表文章列表的單篇瀏覽數,我測試了一下,也是同樣有效。

      至於您重開機後,在文章列表的單篇瀏覽數才會+1,
      我猜這是因為,文章列表頁面如果您有瀏覽過一次,則blogger會將頁面暫存,
      下次若僅是單純的頁面切換,回到文章列表時,並不會更新取得最新的資料,所以才沒辦法看到已經+1了,
      此時您可以重新整理頁面,不用重開機,就可以看到最新資料了。
      blogger有時很奇怪,會在不該暫存的時候暫存 :)

      刪除
    4. 好的,我大概瞭解了。感謝您撥空回覆我的疑問又這麼詳細的解說!

      刪除
  3. 您好
    我用了您的小工具後 真的不會追蹤到自己的網路瀏覽量了!真的是萬分感謝 ^^
    不過我沒有想過要在別的網誌用這個說(第一次看時太心急沒看清楚)

    回覆刪除
    回覆
    1. 在別的網誌也能用,是非預期的作用,所以才特別在文後提醒一下 XD

      刪除
  4. 感謝~設為書籤方便多了! 不然每次都要進後台設定
    說來自動計入機制真的很煩...
    剛登入時 就算去設定不追蹤 第一次按預覽網誌還是會計入1...
    然後手機和平板如果有登入又要重新設定一次..
    搞到最後一堆人次都是我自己 = =
    要是官方設計改成登入帳戶後就不會計算自己那有多好...

    回覆刪除
    回覆
    1. 今天才發現這篇留言跑到垃圾留言 Orz,之前只看到Email兩次留言通知,然後刪掉了,
      還想說您怎麼能夠修改之前的留言,這是blogger的新功能嗎?! 想說有空要來研究研究 XD
      話說,我也是在每個會用到的瀏覽器都放一個書籤,尤其我常用無痕模式來瀏覽,就常常需要按一下

      刪除
  5. 謝謝你的研究啊!幫了我一個大忙欸!

    回覆刪除
  6. 我的網誌也忽然出現了您第一張圖的問題
    "不追蹤我自己的網頁瀏覽量" 壞了
    然後找到了您這篇解決了問題
    十分感謝!

    回覆刪除
  7. 感謝分享,我是遇到第二個情況,可以用書籤小工具的方式解決!

    回覆刪除
  8. 請問一下,
    如果有人用了這個小工具,要怎麼樣令其失效?

    其實我想問的是「如何只限定瀏覽自己的網頁時才不計數,有其他人來的時候還是照樣計算,無論其他人有沒有用小工具」?
    非常感謝喔!!

    回覆刪除
    回覆
    1. 因為這個功能,只須靠瀏覽器操作的技巧就能達到,所以沒辦法沒完全避免。
      頂多只能變成不是管理者畫面的話,就一律做一次清掉設定的動作,勉強會有一點效果,
      缺點是,就算是自己,假如畫面不是管理者畫面,也會照計算。

      刪除
  9. 謝謝真的很實用 也很容易使用

    回覆刪除
  10. 研究一整晚一大堆方法,結果樓主的最簡單實用啊!QAQ感激樓主!

    回覆刪除