通过本地文件提高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
文件,网页性能/加载时间神马的都是浮云
跟一些站长,或者网站数据分析师们交流时发现,大部分人的观点是“因为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本地化的说明:
虽然您可以下载文件进行检查,但我们建议用户不要自行托管 ga.js
。
大部分人希望在本地托管 ga.js
,是为了避免网站访问者在每次请求网页时都要从 Google 下载该文件。然而,无论 ga.js托管在何处,它都只需下载一次,然后就会缓存(保存)在访问者的浏览器中,以便用于后续网页浏览。
因此,对于您和您的访问者来说,从 Google 的服务器中引用 ga.js 文件最有利。这样能够确保您使用的是最新版本:只要有新功能和其他改进,立刻就会提供给您。这将有助于我们尽可能确保您报告的准确性。
本地服务器托管ga.js
的基本思路:
托管ga.js到本地服务器的思路非常简单:
1。用程序下载ga.js
到本地服务器;
2。定期检查ga.js
文件,保持本地服务器为最新版本的文件;
3。修改并将跟踪代码植入网页;
4。成功发送分析数据,GA帐户接收报表。
ga.js
文件到本地服务器,更新周期–每天。值得一提的是,ga.js
文件会不定期的更新内容,如果使用旧版本的ga
文件,可能导致跟踪出现问题,所以需要保持本地服务器ga.js
为最新版本,我想一天更新一次,应该没有问题。
本地服务器已有最新版本的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。
将 analytics.js 添加到网站中