蜘蛛日志分析这玩意儿,听起来挺高大上,上手了也就那么回事儿,主要是看门道。
我刚开始做网站那会儿,也瞎琢磨过这玩意儿,总感觉一堆乱码,看了跟没看一样。后来跟着一个做SEO的老鸟学了点皮毛,才慢慢摸清了门路。今天就跟大家唠唠我是怎么看这些日志的,保证你这新手也能囫囵个儿懂个大概。
你得有日志文件,一般都是服务器后台给你导出来的文本文件,名字可能叫*或者别的什么带日期的名字。我一般是直接用SSH工具连上服务器,然后用cat或者tail -f命令实时看日志,或者直接下载下来用文本编辑器打开。
我习惯性地会先用grep过滤一下,看看是不是真有我想找的东西。

比如我想看Google爬虫的活动,我就会敲这么一串:
grep "Googlebot" * less这一下,屏幕上就只剩Google爬虫访问过的记录了,干净利落多了。
日志里信息太多了,不能平均用力,得抓重点。我主要看三个东西:状态码、访问URL、和User-Agent。
这个最直观。我看日志,第一个动作就是看状态码,就是那一串三位数的数字。

200: 这个最好看,说明爬虫成功抓取了页面,正常收录。我盯着200看,说明抓取是有效的。
301/302: 重定向,说明页面换地方了。如果爬虫抓到一堆301,那说明我网站的内链结构有点乱,得赶紧改改。
404: 找不到页面。如果看到蜘蛛大量访问404,那肯定是我网站里有很多死链,得赶紧清理那些不存在的链接或者301到正确的地方。
5xx: 服务器错误。这个最严重,说明我的服务器在那会儿可能抽风了,蜘蛛抓取失败。我看到500或者503,立马跑去检查服务器和代码。
接着我就看它抓了哪些页面。我一般会统计一下,哪些页面被抓得最频繁,哪些页面没被抓。
我不会老盯着首页看,首页肯定被抓。我重点去看那些重要内容页、新闻列表页啥的。如果发现一些新发布的文章蜘蛛很久都没来抓,我就得考虑是不是内部链接权重没给够,或者*设置有问题。
我还会特别留意那些被抓了很久但是一直没啥更新的旧页面,如果它们还被频繁抓取,说明我的抓取预算可能浪费了,得想办法引导它去抓新的内容。
这个就是看谁在访问。我主要区分搜索引擎蜘蛛和正常的访客。
搜索引擎的User-Agent通常很明确,比如Googlebot、Baiduspider。我确认它们是来干正事的。
有时候也会看到一些奇怪的爬虫或者扫描工具的User-Agent,我一般会隔离出来看,如果发现它们在恶意爬取或者扫描漏洞,我会果断在防火墙或者.htaccess文件里给它封了。
我通常是这么操作的:
反正你看日志,就是一个“发现问题—定位问题—解决问题”的过程。你把它当成一个工具,而不是一份报告,看得就轻松多了。