核对抓取限制,不是先打开某个后台开关,而是先确认搜索引擎到底能不能拿到你希望它抓的页面。最省时间的做法是:用“抓取—渲染—索引”三段来定位,先排除 robots.txt 和页面级 noindex 这两个最常见、也最容易误判的原因,再去看服务器返回状态和内部链接。时间和人手有限时,优先处理“整站或整类页面被挡”的问题,而不是逐页排查。
很多人把“抓取限制”等同于 robots.txt 里有没有 Disallow。实际上 robots.txt 只控制爬虫是否来抓,页面能不能进入索引还受其他因素影响。一个页面可能允许抓取,但带有 noindex,或者返回 404、500,或者需要登录才能看到内容。反过来,一个页面被 robots.txt 挡住,搜索引擎通常不会抓取它,也就很难发现其中的 noindex 指令。因此核对时要分清:你是在解决“爬虫不来”,还是“来了但不收”。
判断顺序可以这样安排:先看整站级限制,再看目录级限制,最后看单页级限制。整站级问题影响面最大,修复收益最高,适合人手有限时先做。
在浏览器地址栏输入你的域名加 /robots.txt,查看其中每一条 Disallow。重点不是看有没有写规则,而是看规则是否覆盖了你希望被抓取的路径。
Disallow: /,表示整站被挡,这是最高优先级问题。Disallow: /search,通常只挡搜索类页面,一般不影响内容页。Disallow: / 后又用 Allow 放行某个目录,要确认放行顺序和匹配规则是否符合预期。检查时用一个具体 URL 去比对:假设你有一篇页面地址是 https://example.com/blog/seo-guide,而 robots.txt 里写了 Disallow: /blog/,那么这篇页面就可能被挡住。注意,不同爬虫对规则匹配的细节处理可能不同,不要只凭肉眼感觉,最好用搜索引擎官方提供的 robots.txt 测试工具或抓取工具验证。没有把握时,先保留一份修改前的记录,再改动。
如果 robots.txt 没有挡住目标页面,下一步看页面本身是否告诉搜索引擎“不要索引”。有两种常见形式:
<meta name="robots" content="noindex">,通常写在 <head> 中。X-Robots-Tag: noindex,这种形式不会出现在页面源码里,容易被忽略。核对方法:打开目标页面,查看源代码搜索 noindex;同时用抓取工具或浏览器开发者工具查看响应头,确认有没有 X-Robots-Tag。如果两者都没有,再继续下一步。如果发现 noindex,要先判断它是有意设置还是模板误带。比如分类页、标签页、内部搜索结果页常被批量设置为 noindex,这是合理做法;但如果内容页也带上了,就需要修正。
状态码能说明服务器对爬虫的回应。常见情况:
200:正常返回,可以继续检查内容是否可渲染。301 或 302:跳转,要确认最终落地页是否是你希望被抓的页面。403:服务器拒绝访问,可能是防火墙、CDN 或权限设置挡住爬虫。404:页面不存在,检查链接是否写错或内容已删除。503:服务暂时不可用,可能是维护或过载,爬虫可能稍后再来。如果状态正常、也没有 noindex,但页面仍未被收录,可以查看服务器日志或搜索引擎后台的抓取统计,确认爬虫是否真的来过。这里要区分“可能原因”和“已经定位的原因”:日志里没有爬虫记录,可能是抓取预算不足,也可能是链接入口太少,还可能是 robots.txt 挡住了,不能只凭一个现象下结论。一次改动前后比较时,要考虑季节、搜索需求变化和数据采集差异,不要用短期波动判断长期效果。
先查整站 robots.txt,再查模板级 noindex,再抽查重点页面的状态码和响应头。如果整站被挡,优先修 robots.txt;如果只是个别页面,优先修页面级设置。每次只改一类问题,改完后记录修改时间、修改内容和验证结果,避免多个变量混在一起。下一步可以选一个最重要的栏目页,按上面的顺序完整走一遍,把发现的问题列成清单,再决定先修哪一项。