核对抓取限制,核心是判断百度蜘蛛是否被服务器、页面代码或站长平台规则挡住,而不是只看页面能否在浏览器打开。浏览器能访问不代表百度能抓取,因为两者的来源标识、访问路径和权限判断可能不同。下面按观察、判断、处理、复查四步展开。
不要凭感觉说“百度不抓了”。先收集可重复出现的证据,常见现象包括:
这些现象只能说明“抓取可能受限”,不能直接断定原因。比如抓取减少也可能是搜索需求下降、页面质量调整或站点整体改版导致。
抓取限制通常分三层,需要逐层排除:
robots.txt是否禁止了目标目录;页面是否写了<meta name="robots" content="noindex">或nofollow;重要内容是否由JavaScript加载而百度未能执行。判断时用一条具体URL做样本。先看robots.txt是否允许,再用抓取诊断发起一次抓取,同时对照服务器日志中同一时间的记录。如果诊断显示抓取成功但日志没有对应请求,说明请求可能被中间层拦截;如果诊断返回403,则优先查服务器或CDN规则。
只改已经定位到的那一层,不要一次调整多项,否则复查时无法判断哪项生效。
robots.txt误屏蔽,修改后确认目标URL不再被禁止,再发起抓取诊断。noindex,去掉该标签并确保模板不再自动输出。假设一个例子:某目录下文章长期不抓,检查发现robots.txt里写了Disallow: /article/,而该目录正是需要收录的内容。这属于页面层屏蔽,处理方式是删除或修正该条规则,而不是去改服务器防火墙。这个例子只说明判断顺序,不代表所有不抓取都是同一原因。
复查要固定样本、固定观察项。选3到5条代表性URL,记录改动前后的抓取诊断结果、返回状态码和日志中百度蜘蛛的访问次数。对比时注意:搜索需求本身会波动,季节、热点和采集差异都会影响抓取量,所以不要用“今天没抓”直接否定改动。
判断标准可以设为:目标URL能返回200、抓取诊断成功、日志中出现对应请求、robots.txt不再屏蔽。四项都满足,说明抓取限制基本解除;若仍不抓,回到判断层继续排查,而不是重复修改同一处。
下一步,挑一条当前最需要被抓取的URL,按上面的顺序做一次完整核对,把观察结果和改动记录留在同一张表里,便于后续复查。