青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 支持中国访问Google Blogger的网站设置谷歌街景车疑撞死一头驴 »

通过本地文件提高Google Anlytics性能

  Google Anlytics 分析代码是异步加载的,一般来讲不会影响网页性能,但是技术部的网页性能报告里老是提到ga.js的状态为Aborted,说明ga虽然是异步跟踪,但某些情况下对网页性能与加载时间确实存在影响。Google分析代码到底会不会影响网页性能?本地托管ga.js是否可行?本文提供本地服务器托管ga.js的基本思路与实现方法。

  Google Anlytics 分析代码是异步加载的,一般来讲不会影响网页性能,但是技术部的网页性能报告里老是提到ga.js的状态为Aborted。出现请求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-232915-7']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src ='http://www.giigift.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>

  来源:投稿,原文链接



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/3344.html
  • 文章排行:
  • 1.拣宝
  • 本地托管。。。你只能自己分析。。。。别人如果还是第一次进网站的话,也只能乖乖加载,这个想法不可取。
    seo祥子 于 2013-1-17 22:07:17 回复
    首先感谢月光通过本文投稿,我是本文作者seo祥子。
    考虑本地化ga.js最直接的原因是今年google的连接率却是差强人意。
    而我们公司网站现在用的是google analytics,日pv20万左右的站点流量数据与用户体验都比较重要,所以不得不这样处理。
    并不是建议大家都这样,要视情况而定
  • 2013/1/15 21:00:30   支持(6)反对(2) 回复
  • 2.小笨鱼
  • 也没多大影响吧
    好 于 2013-1-15 14:36:26 回复
    想开网店的加我Q229385164
  • 2013/1/15 7:15:10   支持(2)反对(1) 回复
  • 3.wer25668
  • 求救 博主您好 我的谷歌阅读器按钮没了 急死俺了 太他不方便了 望博主帮忙 谢谢

  • 2013/1/15 21:33:36   支持(4)反对(3) 回复
  • 4.张衡Henry
  • 介绍的真不错,但是我还是用google服务器的,毕竟流量也小,而且方便
  • 2013/1/25 0:02:26   支持(3)反对(3) 回复
  • 5.新世纪娱乐城
  • 多多学习了。很好。
    好 于 2013-1-15 14:34:24 回复
    想开网店的加我Q229385164
    好 于 2013-1-15 14:34:36 回复
    想开网店的加我Q229385164
  • 2013/1/15 10:17:13   支持(3)反对(4) 回复
  • 6.suanming
  • 你好,为什么我都打不开谷歌分析网站呢?老是出现错误
    三五电影 于 2013-1-29 11:55:48 回复
    正常,GG都搬香港去了
  • 2013/1/27 14:32:19   支持(2)反对(3) 回复
  • 7.情侣网名
  • 太专业了,看不懂
    好 于 2013-1-15 14:31:55 回复
    想开网店的加我Q229385164
  • 2013/1/15 1:10:36   支持(2)反对(4) 回复
  • 8.藏章博客
  • 第一次在这里回复
    好 于 2013-1-15 14:34:55 回复
    想开网店的加我Q229385164
  • 2013/1/15 9:33:11   支持(1)反对(3) 回复
  • 9.Jackie
  • 实际上大部分网站都是用GA监测的,所以电脑上肯定是有缓存的,应该影响甚微
  • 2013/3/29 16:50:50   支持(1)反对(3) 回复
  • 10.刘恒通
  • 对于本地化ga.js 其实看规模了。
    可以用linux 计划任务,弄个shell 定时检查是否为最新,
    if 不是最新{
    下载最新并替换。
    }

    即可。
    好 于 2013-1-15 14:35:19 回复
    想开网店的加我Q229385164
  • 2013/1/15 8:07:56   支持(2)反对(5) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.