核对抓取限制,核心是确认搜索引擎能抓到什么、不能抓到什么,以及这个结论是否可复现。假设一个多人协作的例子:A负责在服务器上加了robots.txt,B负责提交页面,C负责验收。三人各自看自己的工具,都以为“没问题”,结果上线后大量页面没被抓取。返工的原因往往不是技术多难,而是没人把“限制”当成一份可交付物来核对。下面给出可执行步骤。
抓取限制至少来自三个层面,混在一起核对就会互相甩锅:
robots.txt里的Disallow、Allow、Crawl-delay,以及sitemap声明。<meta name="robots">,以及HTTP响应头中的X-Robots-Tag。核对顺序建议从站点级到页面级再到服务端,因为上层限制会掩盖下层现象。判断结果时,只要任一层明确禁止,就不应假定“其他层放行就能抓”。
假设某站点改版,需要确认新栏目能否被抓取。可执行步骤如下:
robots.txt,记录User-agent分组与对应规则,注明抓取时间。curl -I,记录状态码和X-Robots-Tag。<meta name="robots">是否存在noindex或nofollow。常见错误有三个:只看robots.txt就下结论;用浏览器正常打开页面就认为可抓;改动后立刻比较流量并归因于抓取限制。前两个是方法错误,第三个是因果错误。
下面这张清单可直接用于多人协作交付:
robots.txt是否返回200,规则是否针对目标User-agent。X-Robots-Tag: noindex或类似值。<meta name="robots" content="noindex">。判断结果时要区分“可能原因”和“已经定位的原因”。例如页面没被抓取,可能是robots.txt禁止,也可能是状态码异常或抓取预算分配,不能只凭一个现象断言唯一原因。若规则写的是Disallow: /,那基本可判定为站点级全站禁止;若只是某目录被禁,则要回到具体URL逐条比对。
解除抓取限制后,不要用“今天改、明天涨”来判断成败。比较时应固定同一批URL、同一统计口径,并考虑季节与搜索需求变化、数据采集延迟、缓存与CDN未刷新等因素。假设某页面从noindex改为可索引,合理做法是记录改动日期、复核日期和抓取状态,而不是把流量波动直接归因于这次改动。多人协作时,把改动人、复核人、时间点写进同一记录,能显著减少返工。
下一步:选一个目标URL,按上面的清单逐项填写,再让另一位同事独立复核一遍,把两份结果差异作为返工入口。