標籤:
http://www.yilingsj.com/xwzj/2016-08-30/435.html
說起網站統計代碼,稍微有過瞭解的看官肯定會想起一堆統計平台,例如:百度統計、51.la統計、友盟統計等等。而這些統計代碼中也是存在陷阱的哦!
一、回顧最佳化網頁常識
通常來說,我們會將js代碼置於閉合的</body>
前,因為這樣做的好處就是:網頁是從上往下進行載入的,js放最下面是最後載入,這樣可以提升開啟網頁的速度。
雖然道理看官都懂,不就是將js
放最下面嘛,有什麼好說的。可看官真的懂???
二、陷阱一:統計代碼放頁尾但還是出現在head中
如果看官是一個站長,可以檢查下您的網站,看看統計代碼有沒有出現在head
中。好了,藝靈也不賣關子了,直接用代碼說話吧!畢竟語言不太好表達,各位看官可要看仔細看圖了!
2.1、百度統計代碼
下面是百度最新統計代碼,如果看官需要百度統計,可從百度官網擷取,登入地址:sitecenter.baidu.com/sc-web/
。
2.1.1、範例程式碼
- <script>
- var _hmt = _hmt || [];
- (function() {
- var hm = document.createElement("script");
- hm.src = "//hm.baidu.com/hm.js?......";
- var s = document.getElementsByTagName("script")[0];
- s.parentNode.insertBefore(hm, s);
- })();
- </script>
看官產生代碼後會看到一個安裝說明,配圖:可以看到百度是提倡將代碼放到</head>
中的。如果看官願意,就照百度說的操作吧。下面還是來看藝靈這篇的教程吧!
如果看官將產生的程式碼放到了</body>
前,按常理來說,統計代碼會在我們的意料中,而事實並非如此!為何???
2.2、原因分析
不知道看官有沒有注意藝靈代碼中黃色高亮部分,一共有兩行:
第一行是尋找節點;
第二行是節點前插入內容。
那麼問題就來了!如果看官在<head>
中寫有<script>
標籤的話,百度的統計代碼就會蹭的一下跑到這個<script>
標籤前。配圖一張: 明白???
2.3、解決方案
既然我們知道了原因,那解決就很簡單了。解決也分兩步:
第一步:更換節點,
第二步:追加內容。
2.3.1、修改代碼
- var s = document.getElementsByTagName("body")[0];
- s.appendChild(hm);
- })();
- </script>
上面黃色高亮為修改部分,我們再來重新整理下頁面看下效果吧,配圖: 怎麼樣,這樣乖了吧!
對於其它平台的統計代碼,修改方法可參考上面的2.3.1。
下面再說下統計代碼中的第二個陷阱。
三、陷阱二:統計代碼圖片拖慢了網速
下面以51.la為例。
使用過統計代碼的站長應該知道統計代碼有很多種樣式,比如說:圖片、文字形式等。來一張51.la的吧!登入地址:www.51.la
配圖: 怎麼樣,看著很多吧,總有一款適合自己的。
前段時間,藝靈的網站因各種因素問題,總是打不開或開啟很慢,後來看到除了一些因素外,統計代碼也有份!
我們來看下正常情況下載入表徵圖的速度吧,配圖: 可以看到,表徵圖載入時間在1min以上,儘管這些還只是一個小小小表徵圖.....
那段時間,51.la這樣的一個表徵圖,有時載入了幾分鐘還沒載入完,這也就導航了頁面內容無法正常展示。後來換成文字,速度立馬快了些,但還是有問題。而這個問題就是各統計代碼本身的,比如說51.la的:web.51.la:82/go.asp?
這個請求比較花費時間,但這些是統計平台的問題,我們是無法解決的。
四、最後
好了,關於統計代碼,普遍存在的兩個陷阱藝靈已經進行了示範和提供瞭解決的方法,各位站長可查看下自己的網站,如果覺得藝靈說的不靠譜,自己運用測試下時間就知道了,畢竟幹這行是要靠資料說話的!
除了統計代碼外,各種平台的分享代碼、推送代碼等等或多或少都存在上面提供的陷阱現象。最明顯的又是百度家的百度推送!至於怎麼解決,想必看官應該學會了吧!
統計代碼陷阱之無形中影響了網速