网站日志分析


第19章

Database

我们通常不会使用网站日志数据作为网站分析的主要数据来源,但我们可以用网站日志数据来弥补web分析工具中的不足。

典型的网站日志文件

网站日志数据的优势在于不需要提前预装跟踪代码,只要你的网站上线,即网站代码在服务器运行时,它就会开始记录数据。

  • 当用户访问你网站一个页面,这时你的网站日志就会记录一行。
  • 同时,当同一个用户访问网站上的另一个页面或图像,网站日志又会记录另一行。

通常来说,用户访问你的网站触发任何行为,网站日志都会一一记录。

下面是一个典型的网站日志记录。用户使用IP:192.168.22.10地址、成功访问了网站首页(/)(即HTTP的返回码是200)、流量来源是谷歌(www.google.com)、用户使用的是火狐浏览器。

192.168.22.10 - - [21/Nov/2003:11:17:55 -0400] "GET / HTTP/1.1" 200 10801 "http://www.google.com/search?q=china+seo&ie=utf-8&oe=utf-8 &aq=t&rls=org.mozilla:en-US:official&client=firefox-a" "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7"

网站日志数据文件的缺陷

网站日志数据文件是有短板的。

从网站日志中获得的数据不足以输出完整的数据分析系列报表,目前大部分网站使用的是JavaScript等代码来实现用户在网站上的交互行为,但网站日志不能记录这些由JavaScript代码产生的交互行为。这导致网站日志分析数据缺失了用户交互行为的数据。注意,很多典型的数据分析工具是能跟踪JavaScript交互行为的。

当你的网站有网站静态的缓存文件时,文件缓存机制将只会返回用户的缓存文件。例如,图像文件、CSS文件、JavaScript文件等文件类型适用于文件缓存机制。所以,当你的网站日志返回用户缓存文件时,将不会被记录到网站日志中。

当网站每天的访问数超过100,000时将会生成一个至少30G的网站日志文件,那一个月就会累计1TB的原始数据。从如此大的原始数据中加工成人们易懂的日常报表是非常困难而且非常耗时的,而且还占用了很多宝贵的储存资源。

网站日志中的搜索引擎蜘蛛数据

网站日志数据主要优势是能记录搜索引擎蜘蛛访问网站的数据。这也是其他网站分析工具不能做到的。

下面是一个典型的网站日志记录了搜索引擎蜘蛛(比如谷歌蜘蛛Googlebot)访问/抓取你网站某一页面(/a.html)的数据记录:

66.250.65.101 - - [21/Nov/2003:04:54:20 -0400] "GET /a.html HTTP/1.1" 200 11179 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

这个部分记录了搜索引擎蜘蛛来自谷歌(Googlebot):

compatible; Googlebot/2.1; +http://www.google.com/bot.html

我们如何利用搜索引擎蜘蛛数据

处理自然搜索流量的原理是这样的:

抓取(Crawl) -> 索引(Index) -> 排名(Ranking) -> 流量(Traffic)

如果想要你的网站有排名和被搜索引擎索引,第一步是要让搜索引擎蜘蛛抓取你的网站。

网站日志数据能够暴露网站的问题

在网站日志文件中,无论是记录用户访问的数据,还是记录搜索引擎蜘蛛访问/抓取的数据,都会显示HTTP状态码。下面就是一些常见的HTTP状态码:

  • 200状态码——表示返回成功
  • 301状态码——永久性跳转
  • 302状态码——临时性跳转
  • 404状态码——请求失败,未找到
  • 500—状态码——内部服务器错误
  • 503状态码——服务不可用

在网站日志里,所有的记录返回200或300状态码表示没有异常,如果返回404、500或503状态码表示存在问题你应该注意一下了。



数据分析技术白皮书在2016年11月正式出版。

英文版:Web Server Log Analytics – 繁体中文版:网站日志分析







数据分析技术白皮书上的内容按下列许可协议发布: CC Attribution-Noncommercial 4.0 International

Gordon Choi's Analytics Book