我爱水煮鱼 » 互联网 » 使用 Google Analytics 统计页面加载时间

使用 Google Analytics 统计页面加载时间

页面加载速度和排名

Google 已经把页面加载速度纳入了页面排名影响因素,所以现在建立一个对搜索引擎友好的站点,除了要进行 SEO (页面优化和获取外链即)之外,还要考虑选择一个运行稳定而且速度不错的主机,以及网站程序的优化。

那么网站上那些页面夹在时间比较长,影响了网站性能,从而影响整个网站的排名呢?如何获取这些数据呢?

使用 Google Webmaster 查看网站性能

首先我们可以在 Google Webmaster 工具中查看哪些页面速度速度比较慢,具体方法是,登录 Google Webmaster,选择你要查看的站点,然后点击实验室 > 网站性能,就能看到 Google Webmaster 对你整个网站性能的描述,一些示例网页的载入速度,以及 Page Speed 对你网站的优化建议。

Google Analytics 事件跟踪

但是上面的这份信息不够清晰,并且含有的数据不够多,比如不能查看所有页面的载入速度,不能查看哪个地区或者 IP 访问速度,其实我们可以使用 Google Analytics 的事件跟踪的功能来查看网站上每个页面的访问速度,以及每个 IP 的访问速度。

Google Analytics 事件跟踪是对独立于网页浏览的事件进行跟踪,用来记录不产生页面浏览的用户交互行为的。通常的网站跟踪模式,是基于页面浏览行为的。当访问者点击链接打开一个页面,追踪代码就会把当前页面的信息和访问者点击的链接信息记录下来,并把这些信息组织起来生成报告。但是在很多情况下,访问者点击了链接后不会产生新的页面,比如最常见的文档下载,和基于 Flash 和AJAX 的页面等等。这些情况下访问者的点击后都不会产生新的页面。在这种情况下,Google Analytics 无法追踪到后面的信息。解决这个问题的方法是使用 Google Analytics 的事件追踪和虚拟页面功能,这里由于我们要统计加载时间,所以最好的方法还是使用 Google Analytics 的事件追踪的功能。

使用 Google Analytics 事件跟踪功能统计页面加载时间

使用 Google Analytics 事件追踪功能来统计页面加载时间的大概的想法是,在页面开始加载(<body> 标签之后)的时候增加一个计时器,在页面加载完成之后(</body> 标签之前)计算出共花费了多少时间,然后把时间差传给 Google Analytics 的 _trackEvent 函数。

<body> 标签之后添加如下代码,WordPress 博客修改你的 header.php 文件:

<script type="text/javascript">
var begin = new Date();
var page_start = begin.getTime();
</script>

</body> 标签之前添加如下代码,WordPress 博客修改你的 footer.php 文件:

<script type="text/javascript">
var end = new Date();
var page_stop = end.getTime();
var load_time = page_stop - page_start;
_gaq.push(['_trackEvent', 'LoadTime', '<?php echo $_SERVER['REMOTE_ADDR']; ?>', '<?php echo $_SERVER["REQUEST_URI"];?>',load_time]);
</script>

然后在 Google Analytics 后台 > Content > Event Tracking 就可以看到每个页面的加载时间

使用 Google Analytics 事件跟踪功能统计页面加载时间
使用 Google Analytics 事件跟踪功能统计页面加载时间

标签:

分享到:

6 条评论 添加你的评论 →

  • 劳叶彬 2010-06-23 10:18:33 #

    Google Analytics好多选项,一直不会用,呵呵
    看来也要研究研究

    支持 反对

  • Kevin 2010-06-23 13:32:13 #

    强大

    支持 反对

  • 小欧 2010-06-28 15:49:13 #

    Google Webmaster 打不开呀。。水煮鱼

    支持 反对

  • 小欧 2010-06-28 16:15:15 #

    是不是刚把那个JS传上去后没反应啊~~

    支持 反对

  • evan 2010-07-06 02:10:30 #

    加载结束的时间就这样简单放在页脚还是不准的,这样拿到时间应该只是文档结构的加载,没有计算到图片等静态资源(HTML之外的请求),至少应该在 window.onload 里面去计算 page_stop。页面的初始化时间我觉得应该取 http header 里面那个,而不是在 body 去 new date() :lol:

    支持 反对

    • Denis 2010-07-06 03:54:16 #

      哈哈,我也觉得这个有问题,你这么一说我就知道怎么弄了,娃哈哈!

      支持 反对

发表评论

你必须 登陆 之后才能留言。你可以使用以下方式快速登陆我爱水煮鱼:

使用新浪微博登陆 使用腾讯微博登陆 使用豆瓣登陆

你也可选择直接在本站 注册