出現請求Aborted狀態,意思着這個請求被終止,緣由很簡單,由於咱們處於某個特定地區的網絡環境(你懂的)。那如何解決非GA代碼請求ga.js的加載速度?網上找到的方案很少於三種,但基本上都是修改跟蹤代碼,好比刪除http:與https:的判斷、忽略cookie殘缺性檢查等。可是筆者認爲:提升ga.js可用性的完全辦法是「本地託管ga.js,將ga.js移植到本地服務器」。本文通過實測,與站長/SEO朋友們分享一下實現過程。java
本地化ga.js:本地託管ga.js文件,網頁性能/加載時間神馬的都是浮雲git
Google分析代碼到底會不會影響網頁性能?
跟一些站長,或者網站數據分析師們交流時發現,大部分人的觀點是「由於GA跟蹤是異步跟蹤模式,因此不會影響頁面性能」。在這一點上,SEO祥子倒有本身的保留意見:是的,2009年末,google analytics推出GA異步跟蹤代碼,性能相比之前的同步跟蹤代碼在網頁性能方面有了跨越式的提高。可是,祥子根據多年作站與SEO的經驗,GA並不是有了異步跟蹤就萬無一失了!github
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文件失敗的風險。cookie
本地託管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接收數據正常。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<script
type
=
"text/javascript"
>
var
_gaq
=
_gaq
||
[
]
;
_gaq
.
push
(
[
'_setAccount'
,
'UA-37616747-1'
]
)
;
_gaq
.
push
(
[
'_trackPageview'
]
)
;
(
function
(
)
{
var
ga
=
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地址';
var
s
=
document
.
getElementsByTagName
(
'script'
)
[
0
]
;
s
.
parentNode
.
insertBefore
(
ga
,
s
)
;
}
)
(
)
;
</script>
|