网站日志分析
网站管理者应该尽可能的对网站日志进行分析,通过对网站日志数据的分析,可以发现和解决网站的性能问题,并提高网站的用户体验和可靠性,例如,通过分析网站的日志数据,可以发现网站的服务器负载过高,导致网站的响应速度变慢,从而影响用户的体验和搜索引擎的排名。此时,可以通过优化服务器配置、增加服务器资源等措施,来解决网站的性能问题,这样有利于提高网站的SEO效果。
通过网站日志对搜索引擎蜘蛛(爬虫)日志数据进行分析,了解爬虫程序的性能和健康状况。 爬虫日志分析可以帮助开发人员和系统管理员了解爬虫程序的工作情况,如爬取的网页数量、爬取的时间和速度等,以及爬取的数据是否符合预期等。通过分析爬虫日志数据,可以发现和解决爬虫程序的性能问题,如爬取的网页数量过多导致服务器负载过高,或者爬取的数据不符合预期导致数据质量下降等。
以Apache日志中的一行为例:
27.115.124.70 - - [14/Oct/2022:11:15:23 +0800] "GET / HTTP/2.0" 200 4899 "http://baidu.com/" "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1"
拆解
1、27.115.124.70,解析:remotehost,请求主机端的IP地址为27.115.124.70;
2、- 解析:username,值为-,表示为空,该字段一般都为空,可以忽略不计;
3、- 解析:auth-username,值为-,表示为空,该字段一般都为空,可以忽略不计;
4、[14/Oct/2022:11:15:23 +0800],解析:timestamp,请求的时间;
5、"GET / HTTP/2.0",解析:request-line,精确的HTTP请求行文本;
6、200,解析:response-code,响应中返回的HTTP状态码,200代表成功;
7、4899,解析:response-size,响应主体中的内容长度Content-Length,没有主体返回时,值为0;
8、"http://baidu.com/",解析:referer,来源页面,表明该页是从百度跳转过来的;
9、"Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1",解析:user-agent,用户代理信息。
找一段有百度蜘蛛爬行记录的日志来看看:
116.179.32.17 - - [14/Oct/2022:16:47:09 +0800] "GET /news/detail/104.html HTTP/2.0" 200 9467 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
拆解,只解释与上面上不同项,相同项不再累述。
1、116.179.32.17
2、-
3、-
4、[14/Oct/2022:16:47:09 +0800]
5、"GET /news/detail/104.html HTTP/2.0" ,解析:request-line,搜索引擎蜘蛛爬行的页面URL地址
6、200
7、9467
8、"-"
9、"Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)",解析:user-agent,用户代理信息,这个就是代表百度蜘蛛“Baiduspider/2.0”来过了。
大部分商用和开源的HTTP应用程序都支持以一种或多种常用格式进行日志记录。很多这样的应用程序都支持管理者配置日志格式,创建自定义的格式。以下日志字段描述为组合日志格式(Combined Log Format),即combined格式,上面拆解的两条日志记录都是combined日志格式。user-agent字段对SEO工作者分析网站日志来说非常重要。
序号 | 字段 | 描述 |
---|---|---|
1 | remotehost | 请求端机器的主机名或IP地址(如果没有配置服务器去执行反向DNS或无法查找请求端的主机名,就使用IP 地址) |
2 | username | 如果执行了ident查找,就是请求端已认证的用户名,一般内容为-,表示为空 |
3 | auth-username | 如果进行了认证,就请求端已认证的用户名,一般内容为-,表示为空 |
4 | timestamp | 请求的日期和时间, |
5 | request-line | 精确的HTTP请求行文本 |
6 | response-code | 响应中返回的HTTP状态码 |
7 | response-size | 响应主体中的content-Length,如果响应中没有返回主体,为0 |
8 | referer | 来路url,引荐页面,例如如果从百度搜索来的,会显示https://www.baidu.com |
9 | user-agent | 用户代理,用户浏览的,会显示用户使用的浏览器信息,搜索引擎蜘蛛信息会显示在这里。 |
网站日志分析并不是SEO工作中必须的内容,应该说它有一定的技术性。例如对于一些买虚拟主机的网站,有很多是不可控的,例如Apache日志分割,需要服务器商的配合。但分析网站日志里面蜘蛛爬行日志,对SEO工作相当重要。