当你在百度搜索“SEO怎么看日志”时,大概率是遇到了流量波动、索引异常或排名骤降的问题。作为从业10年的老SEO,我必须告诉你:90%的网站诊断失败案例,都源于日志分析的3个致命误区——把访问量当蜘蛛频次、误判404状态码、忽视抓取预算浪费。本文将用真实服务器日志截图,带你拆解这些隐形陷阱。
一、流量假象:你以为的蜘蛛抓取可能是虚假请求
可见不少教育网站的日均200万的访问量中,竟有将近的62%都是恶意的爬虫伪造的百度UA了,真得让人唏嘘。凭借对真伪蜘蛛的辨识,我们往往从具有一般性的“识蜘蛛”的基础知识开始逐步深入的挖掘其中的关键性要点,最终才能得出对真伪蜘蛛的准确的识别;也就是说,真伪蜘蛛的辨识并非一日之功,必须从基础的“识蜘蛛”开始逐步的深入挖掘其中的关键性要点,最终才能得出对真伪蜘蛛的准确的识别
UA验证:真正百度蜘蛛的User-Agent固定为Baiduspider/2.0,而伪造者常带版本号如Baiduspider/2.0;+http://www.baidu.com/search/spider.html
IP校验:通过nslookup 蜘蛛IP反向解析,真百度IP会返回baidu.com或crawl.baidu.com域名
通过对其行为的观察我们发现真实的蜘蛛都比较地遵守了robots.txt的规则,其抓取的间隔也都比较稳定,一般均在5-15秒/次之间
依托于对某些网站的爬虫请求的监控我们发现,近期有不少的网站被黑客利用了伪造的蜘蛛请求日志来骗取网站的安全等级,甚至有些网站的安全员都被骗了都不知道被黑了!现在就给大家分享一下被骗的蜘蛛请求日志的截图
图示:伪造请求的UA末尾带多余参数,且IP段不在百度官方公布范围内
二、状态码陷阱:404未必是死链,302可能是杀手
我们曾为某电商站做诊断,发现其商品页的“404日志”中,38%实际是临时性服务器错误(5xx)。这类误判会导致误删优质页面。必须用工具二次验证:
采用对目标页面的curl -I命令的发起手段,能较为方便地获取其真实的HTTP头信息,例如HTTP的版本号、状态码、状态信息、服务端的响应时间等等
对批量URL可用Screaming Frog的Bulk Export功能导出状态码
重点监控302跳转:某旅游网站因循环跳转损失72%的权重传递
三、预算黑洞:这三类URL正在吃掉你的抓取配额
但不管我们怎么去爬取,也只能爬取到百度对外公开的那些数据,对每个站点的日均抓取量都有了一个上限。凭借对ELK Stack等日志分析工具的深入挖掘,我们不难发现其所对应的三类高消耗低价值的URL均充斥了网站的各个角落
但令人担忧的却是,不少网站的参数泛滥,动态的URL占比已超40%,这不仅使得对其的抓取效率下降了57%,而且也使得网站的对外的接口也越来越复杂,对网站的维护和开发都造成了较大的困扰
分页深渊:某论坛的page=168之后内容几乎无收录,但蜘蛛仍持续抓取
但却常常被误认为是200状态的正常收录,事实上,这大多都是JS渲染的陷阱,所谓的JS渲染的陷阱就是那些需要执行JavaScript的内容,在日志中也都显示了200的状态码却无实际的收录
凭借对日志的高效的分析,我们就可以更好的对系统的运行、用户的行为等进行深入的剖析,从而更好的优化系统的配置、提高用户的使用体验;但我们又常常会遇到这样一个问题:好用的日志分析工具都要付费才能使用,那么我们就要先花钱买工具了才能对日志的分析进行了么?其实不然,我们在网上就可以找到不少的免费的日志分析的神器呢!今天我们就为大家带来三款免费的日志分析神器,让我们一一的来看看它们的功能吧!
凭借GoAccess就能对Nginx的日志实时的可视化出蜘蛛的抓取热力图,只需5分钟就能对网站的蜘蛛抓取情况有一个大致的把握
Splunk Free版:用source="/var/log/nginx/access.log" sourcetype=nginx快速过滤蜘蛛请求
通过对比百度的官方抓取结果与你的实际的日志记录对其的抓取情况的对比就可以基本的确定你的站点的百度抓取是否正常了
五、避坑操作手册:从日志到优化的完整流程
以某医疗站点的真实优化为例:
数据清洗:用grep "Baiduspider" access.log | awk '{print $7}' | sort | uniq -c | sort -nr统计高频URL
优先级排序:将URL按点击量(GA数据)与抓取量比值排序,比值<0.3的列为低效抓取
通过对低价值的目录如robots.txt屏蔽的_tag/*等的优化两周后核心的页的抓取量就能提升210%以上
六、进阶预警:日志中的算法调整信号
据2024年百度飓风算法3.0的更新前我们对其日志的分析发现,不少站长的蜘蛛都突然开始了对网页的<meta name="keywords">标签的疯狂的抓取,这也就间接的提示了百度对关键词的堆砌的不再容忍了。建议建立监控机制:
每周统计蜘蛛新增抓取字段
通过常规的对比百度的官方蜘蛛IP列表的变动(每月更新都有新旧的对比)
近日我们发现了网站的/sitemap.xml的抓取频次大幅的突变,十分值得我们去关注一下
但当你发现蜘蛛一反常规地不再为图片的抓取殚精竭虑,而是疯狂的将JSON文件给爬了个遍时,就意味着结构化的数据的权重即将大大地调整了。
只有通过对日志的细致的挖掘和分析,才能真正地将其从表面上的一堆数字和文字中挖掘出潜在的、有价值的信息,从而真正地将其从“技术活”中解放出来,更应该说将其从“技术活”中提升到“侦探的工作”的高度上来.。但你也许不知道,那些常常让人百思不得其解的200状态码的空白页、深夜突增的HEAD请求,都是那些为我们搜索的搜索引擎对我们的“暗中”下了的“莫斯密码”。才不急着改TDK呢,下次的流量下滑就先从服务器的日志里找找答案吧,往往就是那一摞摞的枯燥的数字里就藏了答案呢!。