出现请求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>
|