核对抓取限制,就是确认搜索引擎在访问你的网站时,哪些页面可以被抓、哪些被明确挡住、哪些因为技术原因抓不到。多人协作时,最怕的是有人改了 robots.txt、有人加了 noindex、有人动了服务器规则,彼此不知道,最后页面没被抓,交付时才发现。下面这份清单按“要查什么、怎么查、结果说明什么”组织,适合在每次上线前或交接时执行一遍。
抓取限制不是一个开关,而是三层叠加的规则,排查时必须分开看:
<meta name="robots"> 或 HTTP 响应头中的 X-Robots-Tag,控制是否允许索引、是否跟随链接。常见误判是:robots.txt 里 Disallow 了某目录,就以为页面一定不会出现在搜索结果里。实际上如果其他页面有链接指向它,仍可能被索引,只是没有摘要。所以核对时要三层都过一遍,不能只看一个文件。
要查什么:是否误封了整站、关键目录或静态资源。
怎么查:直接在浏览器打开 你的域名/robots.txt,逐条读 Disallow 路径。重点看有没有 Disallow: / 这样的全站禁止,以及 CSS、JS、图片目录是否被挡。多人协作时,用版本记录对比最近一次改动,确认是谁、为什么加的。
结果说明什么:如果关键目录被 Disallow,爬虫不会抓取其中页面;如果只是挡了后台或搜索结果参数页,属于正常做法。注意 robots.txt 是公开文件,不要在里面写敏感路径当作安全手段。
要查什么:页面是否带了 noindex、nofollow,或只允许特定爬虫。
怎么查:打开页面源码,搜索 meta name="robots";同时用命令行或浏览器开发者工具的 Network 面板查看响应头里有没有 X-Robots-Tag。两者可能同时存在,以更严格的一条为准。
结果说明什么:出现 noindex 表示该页不应进入索引;出现 nofollow 表示不追踪页面上的链接。模板批量生成页面时最容易出错,比如测试环境残留的 noindex 被带到线上。发现后要确认是有意设置还是遗留,再决定删除或保留。
要查什么:爬虫请求时返回的状态码,以及是否被登录、验证码或防火墙拦截。
怎么查:用 curl -I 页面地址 看响应头状态码。正常应为 200;301/302 表示跳转,要确认跳转目标是否可抓;403 表示被拒绝;5xx 表示服务器出错。再在未登录的浏览器无痕窗口打开同一页面,看是否需要登录或触发验证。
结果说明什么:持续 5xx 会让爬虫降低抓取频率,403 或登录墙则直接拿不到内容。如果是 CDN 或安全策略误伤,需要把搜索引擎爬虫的 User-Agent 加入允许列表,但不要只靠 User-Agent 判断,因为它可以被伪造。
要查什么:重要页面是否被其他可抓页面链接到。
怎么查:从首页出发,用站内搜索或爬虫工具模拟点击,看目标页面能否在少量跳转内到达。也可以查站点地图里列出的 URL,是否都能从站内链接进入。
结果说明什么:如果页面只能靠站点地图发现,没有任何内链指向,抓取优先级会偏低。多人协作时,导航和栏目改版最容易造成孤儿页面,交接前应把新增页面挂到至少一个可抓入口下。
假设一个场景:某产品页上线后没有被抓。按上面顺序查,可能原因包括 robots.txt 挡了该目录、模板带了 noindex、页面返回 403、或没有任何内链指向它。这几种解释都要逐一验证,不能看到 robots.txt 正常就断定问题在别处。每次修改抓取相关设置后,前后对比要考虑搜索需求本身的波动和抓取数据采集延迟,不要用“改完立刻见效”来判断成败。
下一步建议:把这份清单固化成上线检查表,指定一人负责核对、一人负责复核,把每次改动记录在同一个文档里,避免多人同时改 robots.txt 或模板指令造成冲突。