通過本地文件提高Google Anlytics
性能
Google Anlytics
分析代碼是異步加載的,一般來講不會影響網頁性能,但是技術部的網頁性能報告里老是提到 ga.js
的狀態爲 Aborted
,說明 ga
雖然是異步跟蹤,但某些情況下對網頁性能與加載時間確實存在影響。Google
分析代碼到底會不會影響網頁性能?本地託管ga.js
是否可行?本文提供本地服務器託管ga.js
的基本思路與實現方法。
出現請求Aborted
狀態,意思着這個請求被終止,原因很簡單,因爲我們處於某個特定地區的網絡環境(你懂的)。那如何解決非GA
代碼請求ga.js
的加載速度?網上找到的方案不多於三種,但基本上都是修改跟蹤代碼,比如刪除http:
與https:
的判斷、忽略cookie
殘缺性檢查等。但是筆者認爲:提高ga.js
可用性的徹底辦法是“本地託管ga.js
,將ga.js
移植到本地服務器”。本文經過實測,與站長/SEO朋友們分享一下實現過程。
本地化ga.js
:本地託管ga.js
文件,網頁性能/加載時間神馬的都是浮雲
Google分析代碼到底會不會影響網頁性能?
跟一些站長,或者網站數據分析師們交流時發現,大部分人的觀點是“因爲GA跟蹤是異步跟蹤模式,所以不會影響頁面性能”。在這一點上,SEO祥子倒有自己的保留意見:是的,2009年底,google analytics
推出GA異步跟蹤代碼,性能相比以前的同步跟蹤代碼在網頁性能方面有了跨越式的提升。但是,祥子根據多年做站與SEO的經驗,GA
並非有了異步跟蹤就萬無一失了!
1。首先,我們要基於一個前提,GA
使用的是異步統計模式,大大提高網頁性能。但是我們不能忽略:客戶端瀏覽器仍然要下載大約爲35.9KB
的ga.js
文件,而這個文件是從位於美國 加利福尼亞州的Google
服務器上下載。
2。我們的網絡環境不是非常理想,雖然GOOGLE
服務器的可能性很高, 但是對中國用戶來講,成功連接率有明顯影響。我曾經查閱過相關的資料,中國用戶打開www.google.com
的可用率爲92%
左右,www.google-analytics.com/ga.js
的可能率高很多,但是也就是99.2%
上下。這是2011年的數據,進入2012年,情況更糟糕,Google analytics
網站更難打開。
3。ga.js
瀏覽器緩存週期爲12小時,而且用戶訪問使用GA
分析的不同網站,加載的是同一個ga.js
文件。意味着用戶訪問不同網站時不需重複加載文件。這是個很好的消息。 但是,鑑於google
在中國大陸用戶的連通率,現在使用GA分析系統的網站不是太多;受ga.js
12小時緩存週期的影響,如果用戶是12小時前瀏覽過使用GA
的網站,將重新加載文件;還有部分沒有瀏覽器從來沒有加載過ga.js
的用戶就更不用說了,網頁性能肯定受到影響。
綜上所述,GA代碼雖然對網頁性能影響的機率很小,但對部分用戶來講仍有加載ga.js
文件失敗的風險。
本地託管ga.js
是否可行?
那麼,將ga.js
本地化能否有效跟蹤訪問?ga.js
是否允許本地化?
查閱了google analytics
幫助中心“本地託管 ga.js 文件”,Google是充許ga.js
本地託管的,不過,它似乎並不鼓勵這麼做。
以下爲GOOGLE關於ga.js本地化的說明:
GOOGLE幫助中心:本地託管 ga.js 文件
雖然您可以下載文件進行檢查,但我們建議用戶不要自行託管 ga.js
。
大部分人希望在本地託管 ga.js
,是爲了避免網站訪問者在每次請求網頁時都要從 Google 下載該文件。然而,無論 ga.js託管在何處,它都只需下載一次,然後就會緩存(保存)在訪問者的瀏覽器中,以便用於後續網頁瀏覽。
因此,對於您和您的訪問者來說,從 Google 的服務器中引用 ga.js 文件最有利。這樣能夠確保您使用的是最新版本:只要有新功能和其他改進,立刻就會提供給您。這將有助於我們儘可能確保您報告的準確性。
本地服務器託管ga.js
的基本思路:
託管ga.js到本地服務器的思路非常簡單:
1。用程序下載ga.js
到本地服務器;
2。定期檢查ga.js
文件,保持本地服務器爲最新版本的文件;
3。修改並將跟蹤代碼植入網頁;
4。成功發送分析數據,GA帳戶接收報表。
從google服務器下載ga.js
文件到本地服務器,更新週期–每天。
值得一提的是,ga.js
文件會不定期的更新內容,如果使用舊版本的ga
文件,可能導致跟蹤出現問題,所以需要保持本地服務器ga.js
爲最新版本,我想一天更新一次,應該沒有問題。
在網頁裏植入GA代碼
本地服務器已有最新版本的ga.js
文件,只需修改頁面內跟蹤代碼即可,修改的主要內容就是把ga.src
修改即可。如果你的網站不使用https://
,那麼可以對代碼進行簡化,刪除網頁是http:
或https:
的判斷即可。以下爲測試代碼,經過驗證,GA接收數據正常。
<script type="text/javascript">
var_gaq=_gaq||[];
_gaq.push(['_setAccount','UA-37616747-1']);
_gaq.push(['_trackPageview']);
(function(){
varga=document.createElement('script');ga.type='text/javascript';ga.async=true;
ga.src='http://www.55ben.com/本地服務器目錄/ga.js';
//因爲不需判斷頁面是否屬於https:
//可以把ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
//改爲:ga.src ='你的本地ga.js地址';
vars=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s);
})();
</script>
ga.js是一個JavaScript庫,用於衡量用戶與您網站的互動方式。 這是一個遺留庫。 如果您開始使用Google Analytics,則應使用最新的跟蹤庫analytics.js。