核对抓取限制,核心是确认搜索引擎到底能不能抓到你的页面,以及抓不到时卡在哪一层。最有效的顺序是:先看页面是否被 robots 规则挡住,再看页面本身是否返回可索引状态,最后看站内链接和站点地图是否把页面暴露出来。时间有限时,优先处理“整站或整类页面被抓取限制”的问题,而不是单个页面的小异常。
抓取限制不是单一原因,常见有三类,处理代价差别很大:
这三类的排查代价不同。规则层改动最快但风险高,响应层需要看服务器日志,发现层往往要调整内链结构,耗时最长。人手有限时,先确认是不是规则层问题,能排除就排除掉一大片。
直接打开站点根目录下的 robots.txt,逐条看 Disallow 和 Allow 规则。重点不是看有没有写规则,而是看目标路径是否被某条规则覆盖。路径匹配按前缀判断,比如 Disallow: /search 会挡住 /search 及其下级路径。
判断方法:把目标 URL 的路径部分拿出来,和每条 Disallow 的前缀逐一比对。如果被挡住,且这条规则不是有意为之,就是需要优先处理的限制。注意 Allow 和 Disallow 同时命中时,一般以更具体的那条为准,但不同实现可能有差异,不要只凭印象下结论。
检查项:
Disallow: / 这类整站屏蔽规则被误加。robots.txt 放行不代表页面能被索引。页面 head 里的 <meta name="robots"> 如果写了 noindex,即使被抓取也不会进入索引。核对时直接查看页面源代码,确认没有误加的 noindex 或 nofollow。
响应状态同样关键。用抓取工具或命令行请求目标 URL,看返回码:
这里要区分“可能原因”和“已经定位的原因”。看到 403 只是现象,可能是防火墙、可能是权限配置、也可能是抓取频率触发限制,必须看日志才能确定。没有日志依据时,不要断言唯一原因。
如果规则层和响应层都没问题,页面仍不被抓取,就要看发现路径。检查两点:
适用条件:这步适合页面数量多、层级深的站点。判断结果时,如果页面只能通过站点地图找到、没有任何内链,抓取优先级通常较低,可以补一两条相关内链改善。
时间和人手有限时,建议按以下顺序执行:
改动前后比较时要注意,搜索需求和季节变化本身会影响抓取数据,不能把波动全部归因于这次修改。判断是否有效,应看多天趋势,而不是单日数据。
下一步:挑一个当前最影响收录的路径,按上面顺序走一遍,把确认到的限制原因记下来,再决定改哪一处。