核对抓取限制,关键是确认搜索引擎实际能抓到什么、被什么挡住,而不是只看配置文件。最可靠的做法是:用服务器访问日志或爬虫命中记录,对比robots.txt、页面meta robots、HTTP响应头和内链可达性,找出“声明允许”与“实际抓取”之间的差异,并把结论写成可复核的交付记录。
多人协作最容易返工的地方,是每个人看的对象不同。开始前先约定三件事:核对哪些目录或模板、以哪份日志为准、由谁负责导出。证据优先级建议如下:
robots.txt:只声明允许或禁止,不代表一定被抓取。X-Robots-Tag:控制单页或整类响应的索引与跟进。把这几类证据整理成一张表,每行一个URL或模板,列写“日志是否命中”“robots是否放行”“响应头是否禁止”“内链是否可达”。这张表就是后续交付的核心。
按从外到内的顺序检查,避免一上来就改配置。
robots.txt是否对目标爬虫关闭了目录。注意通配符和结尾斜杠的写法差异,例如Disallow: /search与Disallow: /search/覆盖范围不同。X-Robots-Tag和页面内的meta robots。两者同时存在时,限制更严的一方生效。假设某分类页日志中长期没有命中,同时robots.txt放行、返回200、meta为index,follow,那问题更可能出在内链深度或站点地图未包含,而不是抓取限制。这个判断需要日志与配置同时对照,不能只凭单一现象下结论。
修改任何限制后,不要只看配置文件是否生效,要回到日志验证。比较时注意三点:
验证结果可以写成一句话结论加证据编号,例如“模板A在改动后7天内出现命中,证据为日志第X行区间”,方便同事复核。
抓取限制会随模板迭代、活动页上线、CDN规则调整而变化。建议在每次发版或大促前,固定跑一遍上面的表格,并记录变更人和日期。交付时只提交结论、证据位置和待确认项,不提交整段日志。这样多人协作时,接手的人能直接定位到具体限制,而不是重新排查一遍。
下一步:挑一个当前没有抓取记录的模板,按上面的表格填一遍,标出哪一层是真正的阻断点。