seo网站日志分析工具(WEB日志是网站分析和网站数据整理最基础的数据)
优采云 发布时间: 2022-01-13 08:09seo网站日志分析工具(WEB日志是网站分析和网站数据整理最基础的数据)
WEB日志是网站分析和网站数据数据整理的最基本数据。了解其格式和组成将有助于更好地采集、处理和分析数据。
一、日志格式类型
常见的WEB日志格式有两种,一种是Apache的NCSA日志格式,另一种是IIS的W3C日志格式。NCSA 格式进一步分为两类:NCSA 通用日志格式 (CLF) 和 NCSA 扩展日志格式 (ECLF)。目前最常用的是NCSA扩展日志格式(ECLF)和基于自定义类型的Apache日志格式;而W3C扩展日志格式(ExLF)虽然输出信息比较丰富,但目前应用并不广泛,所以这里主要介绍NCSA扩展日志格式(ECLF)。
二、常见日志格式的构成
以下是基于 NCSA 扩展日志格式 (ECLF) 的最常见 Apache 日志示例:
58.61.164.141 – – [22/Feb/2010:09:51:46 +0800] “GET / HTTP/1.1″ 206 6326 ” http://www.google.cn/search?q=webdataanalysis” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”
可以看到这个日志主要由以下几部分组成:
访问主机(remotehost)显示主机的IP地址或解析的域名。
标识符(Ident)由 identd 或浏览器直接返回给浏览器的 EMAIL 或其他唯一标识符。由于涉及到用户邮箱等隐私信息,目前几乎所有浏览器都取消了该功能。
授权用户(authuser)用于记录浏览器提供的用于认证的名称。如果需要认证或访问受密码保护的信息,则该选项不为空,但目前网站的大部分日志也有此选项。是空的。
日期和时间(日期)的一般格式为[22/Feb/2010:09:51:46 +0800],即[日期/月/年:时:分:第二时区],占用的字符也基本固定。
请求(request)是在网站上获取了哪些信息,也是日志中的一个重要项,主要包括以下三个部分:
状态码(status)用来表示服务器的响应状态。通常,状态码 1xx 表示继续消息;2xx 表示请求成功;3xx 表示请求的重定向;4xx 表示客户端错误;5xx 表示服务器错误。
传输的字节数(bytes)是本次请求中传输的总字节数。
源页面(referrer)用于表示浏览器在访问该页面之前浏览过的页面。只有从上一页链接的请求才会有这个输出。如果是新打开的页面,此项为空。上例中,源页面为google,即用户从google搜索的结果中点击进入。
用户代理(agent)用于显示用户的详细信息,包括IP、OS、Bowser等。
三、日志格式扩展
可以自定义 apache 日志格式以配置其输出格式。基于 NCSA 扩展日志格式 (ECLF) 的常用添加包括域名(域)和 cookie。当网站拥有二级域名或子域名时,域名可以更好的区分日志;并且cookie可以作为用户的身份。有关其他特定自定义信息,请参阅:
四、将日志数据导入MySQL
访问分析是SEO的一项重要工作,但统计分析工具毕竟是面向大众的。在很多情况下,SEO 需要一些特定的数据,而这些数据是统计分析软件和程序无法提供的。这样,直接的Web日志分析是最合适的。每次访问情况都会记录在日志中。只要按照自己的意愿提取和组合,就可以得到想要的数据。使用SQL语句分析是最方便的,需要什么样的数据,只要使用对应的SQL命令即可。
将Web日志导入MySQL数据库的实现
1、修改Apache日志格式
将网络日志格式修改为:
Logformat combined %>a,%ui,%un,[%tl],”%rm %ru HTTP/%rv”,%Hs,%h”,”%{User-Agent}>h”,%Ss:%Sh
SQL 需要导入的内容有特定的分隔符。Apache日志默认用空格分隔,部分内容(如状态码中的200 610))也收录空格,无法准确导入。格式可以修改为逗号分隔,可以准确导入。您也可以根据自己的需要取消日志格式中不必要的内容,减小日志文件大小。
2、创建MySQL数据表
drop table if exists weblog;
create table weblog (
id int unsigned auto_increment PRIMARY KEY not null,
l_date date,
l_time time,
c_ip varchar(15),
s_ip varchar(15),
s_port varchar(5),
method varchar(10),
path varchar(255),
query varchar(255),
status varchar(3),
domain varchar(50),
system varchar(200)
);
注意:以上只是MySQL数据表结构示例,与上一步的日志格式不对应,请勿直接复制!
新建一个数据库,数据表结构对应日志格式。
3、将日志导入 MySQL
LOAD DATA INFILE ’/日志位置/日志文件’ INTO TABLE weblog FIELDS TERMINATED BY ‘,’;
weblog 对应上面的数据表名。
另外,乐思书从网上找了一个.pl程序,将IIS日志导入MySQL数据库。如果您需要,请点击此处下载(Readme.txt 为使用说明)。
五、常用日志分析工具
1.awstats
2.模拟
3.webalizer
4.PHPMyVisites
本文参考: