Google Anlytics 分析代碼是異步加載的,一般來(lái)講不會(huì)影響網(wǎng)頁(yè)性能,但是技術(shù)部的網(wǎng)頁(yè)性能報(bào)告里老是提到ga.js的狀態(tài)為Aborted。出現(xiàn)請(qǐng)求Aborted狀態(tài),意思著這個(gè)請(qǐng)求被終止,原因很簡(jiǎn)單,因?yàn)槲覀兲幱谀硞€(gè)特定地區(qū)的網(wǎng)絡(luò)環(huán)境(你懂的)。那如何解決非GA代碼請(qǐng)求ga.js的加載速度?網(wǎng)上找到的方案不多于三種,但基本上都是修改跟蹤代碼,比如刪除http:與https:的判斷、忽略cookie殘缺性檢查等。但是筆者認(rèn)為:提高ga.js可用性的徹底辦法是“本地托管ga.js,將ga.js移植到本地服務(wù)器”。本文經(jīng)過(guò)實(shí)測(cè),與站長(zhǎng)/SEO朋友們分享一下實(shí)現(xiàn)過(guò)程。
本地化ga.js:本地托管ga.js文件,網(wǎng)頁(yè)性能/加載時(shí)間神馬的都是浮云
Google分析代碼到底會(huì)不會(huì)影響網(wǎng)頁(yè)性能?
跟一些站長(zhǎng),或者網(wǎng)站數(shù)據(jù)分析師們交流時(shí)發(fā)現(xiàn),大部分人的觀點(diǎn)是“因?yàn)镚A跟蹤是異步跟蹤模式,所以不會(huì)影響頁(yè)面性能”。在這一點(diǎn)上,SEO祥子倒有自己的保留意見(jiàn):是的,2009年底,google analytics推出GA異步跟蹤代碼,性能相比以前的同步跟蹤代碼在網(wǎng)頁(yè)性能方面有了跨越式的提升。但是,祥子根據(jù)多年做站與SEO的經(jīng)驗(yàn),GA并非有了異步跟蹤就萬(wàn)無(wú)一失了!
1。首先,我們要基于一個(gè)前提,GA使用的是異步統(tǒng)計(jì)模式,大大提高網(wǎng)頁(yè)性能。但是我們不能忽略:客戶端瀏覽器仍然要下載大約為35.9KB的ga.js文件,而這個(gè)文件是從位于美國(guó) 加利福尼亞州的Google服務(wù)器上下載。
2。我們的網(wǎng)絡(luò)環(huán)境不是非常理想,雖然GOOGLE服務(wù)器的可能性很高, 但是對(duì)中國(guó)用戶來(lái)講,成功連接率有明顯影響。我曾經(jīng)查閱過(guò)相關(guān)的資料,中國(guó)用戶打開(kāi)www.google.com的可用率為92%左右,www.google-analytics.com/ga.js 的可能率高很多,但是也就是99.2%上下。這是2011年的數(shù)據(jù),進(jìn)入2012年,情況更糟糕,Google analytics網(wǎng)站更難打開(kāi)。
3。ga.js瀏覽器緩存周期為12小時(shí),而且用戶訪問(wèn)使用GA分析的不同網(wǎng)站,加載的是同一個(gè)ga.js文件。意味著用戶訪問(wèn)不同網(wǎng)站時(shí)不需重復(fù)加載文件。這是個(gè)很好的消息。 但是,鑒于google在中國(guó)大陸用戶的連通率,現(xiàn)在使用GA分析系統(tǒng)的網(wǎng)站不是太多;受ga.js 12小時(shí)緩存周期的影響,如果用戶是12小時(shí)前瀏覽過(guò)使用GA的網(wǎng)站,將重新加載文件;還有部分沒(méi)有瀏覽器從來(lái)沒(méi)有加載過(guò)ga.js的用戶就更不用說(shuō)了,網(wǎng)頁(yè)性能肯定受到影響。
綜上所述,GA代碼雖然對(duì)網(wǎng)頁(yè)性能影響的幾率很小,但對(duì)部分用戶來(lái)講仍有加載ga.js文件失敗的風(fēng)險(xiǎn)。
本地托管ga.js是否可行?
那么,將ga.js本地化能否有效跟蹤訪問(wèn)?ga.js是否允許本地化?
查閱了google analytics幫助中心“本地托管 ga.js 文件”,Google是充許ga.js本地托管的,不過(guò),它似乎并不鼓勵(lì)這么做。
以下為GOOGLE關(guān)于ga.js本地化的說(shuō)明:
GOOGLE幫助中心:本地托管 ga.js 文件
雖然您可以下載文件進(jìn)行檢查,但我們建議用戶不要自行托管 ga.js。
大部分人希望在本地托管 ga.js,是為了避免網(wǎng)站訪問(wèn)者在每次請(qǐng)求網(wǎng)頁(yè)時(shí)都要從 Google 下載該文件。然而,無(wú)論 ga.js托管在何處,它都只需下載一次,然后就會(huì)緩存(保存)在訪問(wèn)者的瀏覽器中,以便用于后續(xù)網(wǎng)頁(yè)瀏覽。
因此,對(duì)于您和您的訪問(wèn)者來(lái)說(shuō),從 Google 的服務(wù)器中引用 ga.js 文件最有利。這樣能夠確保您使用的是最新版本:只要有新功能和其他改進(jìn),立刻就會(huì)提供給您。這將有助于我們盡可能確保您報(bào)告的準(zhǔn)確性。
本地服務(wù)器托管ga.js的基本思路:
托管ga.js到本地服務(wù)器的思路非常簡(jiǎn)單:
1。用程序下載ga.js到本地服務(wù)器;
2。定期檢查ga.js文件,保持本地服務(wù)器為最新版本的文件;
3。修改并將跟蹤代碼植入網(wǎng)頁(yè);
4。成功發(fā)做分析數(shù)據(jù),GA帳戶接收?qǐng)?bào)表。
從google服務(wù)器下載ga.js文件到本地服務(wù)器,更新周期--每天。
值得一提的是,ga.js文件會(huì)不定期的更新內(nèi)容,如果使用舊版本的ga文件,可能導(dǎo)致跟蹤出現(xiàn)問(wèn)題,所以需要保持本地服務(wù)器ga.js為最新版本,我想一天更新一次,應(yīng)該沒(méi)有問(wèn)題。
在網(wǎng)頁(yè)里植入GA代碼
本地服務(wù)器已有最新版本的ga.js文件,只需修改頁(yè)面內(nèi)跟蹤代碼即可,修改的主要內(nèi)容就是把ga.src修改即可。如果你的網(wǎng)站不使用https://,那么可以對(duì)代碼進(jìn)行簡(jiǎn)化,刪除網(wǎng)頁(yè)是http:或https:的判斷即可。以下為測(cè)試代碼,經(jīng)過(guò)驗(yàn)證,GA接收數(shù)據(jù)正常。
<script type='text/javascript'>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-232915-7']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src ='http://www.giigift.com/本地服務(wù)器目錄/ga.js';
//因?yàn)椴恍枧袛囗?yè)面是否屬于https:
//可以把ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
//改為:ga.src ='你的本地ga.js地址';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>