核对抓取限制,核心是确认搜索引擎能否正常访问你的页面,以及哪些规则在阻止它。时间和人手有限时,不要逐条翻SEO教程,按下面五项清单依次检查,每项都给出要查什么、怎么查、结果说明什么。多数抓取问题会在这五步内暴露出来。
要查的是:站点根目录下的robots.txt有没有禁止抓取重要目录或整站。
怎么查:在浏览器地址栏输入你的域名加/robots.txt,直接看返回内容。重点找Disallow: /这类整站禁止规则,以及是否误封了CSS、JS、图片目录。
结果说明:如果发现整站被禁,抓取会立刻归零,这是优先级最高的问题。如果只封了后台、搜索参数页等无价值路径,属于正常配置,不必改动。注意区分“可能原因”和“已定位原因”:看到Disallow不等于它一定生效,还要确认规则语法正确、路径匹配。
要查的是:具体页面有没有被noindex或nofollow标记挡住。
怎么查:打开页面源代码,搜索<meta name="robots">标签;再用浏览器开发者工具的Network面板查看响应头,找X-Robots-Tag字段。两者都要看,因为响应头优先级通常更高。
结果说明:出现noindex意味着该页不会进入索引;出现nofollow则链接权重不传递。如果只有个别页面异常,先怀疑模板或CMS的全局设置被误改。逐页抽查首页、栏目页、详情页三类模板即可,不必全站扫描。
要查的是:服务器对搜索引擎爬虫返回的是200、301、403还是5xx。
怎么查:用命令行工具请求页面并打印响应头,例如curl -I 你的页面地址,观察状态码。再查看服务器访问日志,筛选爬虫User-Agent,统计每天的请求量和错误比例。
结果说明:持续返回5xx会让爬虫降低抓取频率甚至暂时停止;403说明被服务器或防火墙拦截;大量301说明跳转链路过长。这些属于“可能原因”,需要结合日志时间点判断,不能只凭一次请求下结论。
要查的是:未登录状态下能否直接看到完整内容。
怎么查:用无痕窗口访问页面,不登录、不点验证码,看正文是否完整呈现。再对照服务器日志中爬虫请求的返回内容大小,如果明显小于正常页面,说明被拦截或跳转到登录页。
结果说明:需要登录才能看的内容,搜索引擎一般无法抓取。如果内容必须登录,考虑对核心内容做部分公开;如果只是误配了访问策略,调整白名单即可。这一步的判断依据是“匿名访问能否拿到正文”,不是页面看起来是否正常。
要查的是:搜索引擎实际抓取时看到的页面与你看到的是否一致。
怎么查:使用搜索引擎官方提供的抓取测试或网址检查工具,输入单个URL,查看返回的HTML、状态码和资源加载情况。也可以对比“抓取到的HTML”和“浏览器渲染后的HTML”差异。
结果说明:如果抓取到的HTML里没有正文,只有框架或占位符,说明内容依赖JS渲染而爬虫未执行;如果状态码正常且正文完整,说明该页抓取路径通畅。一次改动前后比较时,要考虑季节、搜索需求变化和数据采集差异,不能把波动全部归因于本次调整。
按影响面排序:先看robots.txt整站封禁,再看全站meta robots,然后查服务器状态码,最后处理单页拦截和渲染问题。前两项几分钟就能确认,却能排除大部分严重故障。
下一步:从清单第一项开始,把每一项的检查结果记下来,形成一份抓取状态记录。改动任何限制规则后,隔一段时间再复核一次,确认爬虫请求恢复正常,而不是改完就结束。