要判断“网站被百度收录”这件事在日志里走到哪一步,核心是核对百度蜘蛛的请求记录:先看访问时间、来源IP、User-Agent、请求URL、HTTP状态码、响应大小、Referer这几个字段。它们能区分蜘蛛是否来过、抓的是不是目标页面、服务器是否正常返回。注意:日志只能证明“抓取行为”,不能直接证明“已收录”,收录结果仍需结合百度搜索资源平台的数据核对。
多人协作时,第一步不是看状态码,而是先筛出百度蜘蛛的记录,否则后面的统计会混入普通用户和其他爬虫。
Baiduspider。把它作为筛选条件,而不是只看IP。判断方法:用 grep "Baiduspider" access.log 先导出蜘蛛记录。如果User-Agent可以伪造,可对来源IP做反向DNS解析,看是否归属百度官方域名段。适用条件是你能拿到完整原始日志;如果日志被CDN或WAF截断,字段可能缺失,需要回到上游取日志。
筛出蜘蛛后,重点看它到底请求了哪些地址、服务器怎么回应。
200表示正常返回;301/302是跳转;404是页面不存在;403是拒绝访问;5xx是服务器错误。状态码直接决定这次抓取是否有效。200但响应体极小,可能是空页面或被拦截后的提示页,需结合页面内容核对。验收信号:目标URL出现200,且响应大小与正常页面接近,说明这次抓取拿到了真实内容。若长期只有404或5xx,先修服务器和链接,再谈收录。robots.txt的抓取限制不等于可靠的索引移除,状态码正常也不代表一定被收录。
这一步回答“蜘蛛是从哪里发现页面的”,对排查新页面不被抓很有用。
适用条件:Referer字段在部分日志中可能被省略,不能作为唯一依据。判断结果时,把Referer与内链结构、站点地图提交记录放在一起看,才能确认入口是否有效。站点地图不保证收录,它只是发现渠道之一。
多人协作要减少返工,建议固定一份可复用的核对表,每次交付附上原始筛选命令和结论。
4xx、5xx、响应体过小、长期无抓取。验收信号:协作方拿到清单后,能直接判断每个URL当前处于哪一步,不需要重新翻日志。若日志显示抓取正常但页面仍未出现在百度搜索结果中,下一步应到百度搜索资源平台核对抓取诊断与索引状态,而不是继续在日志里找原因。