上线前核对抓取与索引配置,核心是确认三件事:搜索引擎能否正常访问页面、页面是否允许被抓取、抓取后是否允许被索引。三者任意一环出错,页面都可能进不了搜索结果。最有效的做法是:在预发布环境用真实域名与协议做一次抓取测试,再对照 robots 规则、页面级 meta 指令和站点地图逐项复查,而不是等上线后再靠搜索表现反推。
抓取失败和主动禁止抓取,现象相似但处理方向完全不同。前者通常是服务器、DNS、证书或防火墙问题,后者是配置意图。判断方法是看返回状态码与响应内容:
这里需要区分“可能原因”和“已定位原因”:看到页面没被收录,不能直接断定是 robots 写错了,也可能是服务端拦截、页面返回 404、或内容被判为重复。只有拿到实际响应状态和抓取日志,才能下结论。
上线前常见的取舍是:测试阶段整站禁止抓取,上线时一次性放开;还是测试阶段就允许抓取、只对个别页面加限制。两种方案适用条件不同。
方案一:测试期整站 Disallow,上线时改为 Allow。适合内容尚未定稿、存在大量占位页或价格未确认的站点。优点是避免半成品被收录;风险是上线时若忘记修改,整站会长期不被抓取,而且已经积累的外部链接也无法传递有效信号。使用这个方案,必须把“修改 robots”列为上线检查清单的必做项。
方案二:测试期允许抓取,仅对敏感或未完成页面单独限制。适合内容基本定稿、需要提前验证抓取与渲染效果的站点。优点是上线切换风险小;风险是测试内容可能提前进入索引,需要在上线后通过页面级指令或状态码清理。
判断依据可以简化为一句话:如果测试环境与正式环境共用同一域名,优先选方案二并严格控制暴露范围;如果测试环境是独立域名或独立路径,方案一更省事,但必须配套上线核对动作。两种方案都不要依赖“上线后自然恢复”,配置不会自己改变。
robots 管的是“能不能抓”,页面里的 meta 指令管的是“抓到后能不能收录、能不能跟随链接”。上线前应抽查以下项目:
<head> 中是否存在 <meta name="robots">,其值是 index 还是 noindex。noindex 与 nofollow 组合,误把整批栏目页设为不可索引。X-Robots-Tag,响应头通常优先级更高。一个可执行的检查例子(假设站点为示例用途):把首页、一个栏目页、一个详情页的正式地址分别用抓取测试工具请求一次,记录状态码、robots 规则、meta 指令和 canonical 四项。若四项中任意一项与预期不符,先改配置再上线,不要先上线再改。适用条件是页面数量可控;若站点有成千上万条 URL,则应改为按模板抽样,每个模板至少抽一条,并优先覆盖首页、列表页、详情页和搜索页。
站点地图的作用是帮助发现 URL,不保证收录,也不能替代 robots 和 meta 的正确性。上线前应确认:站点地图中的地址全部是正式域名、返回 200、且未被 robots 禁止抓取。若站点地图里混入了测试地址或 404 地址,会浪费抓取资源,也会干扰对收录情况的判断。
上线后的复查建议按固定节奏做,而不是反复手动提交:
下一步:把上述四项检查(状态码、robots、meta、canonical)做成一张上线核对表,每个页面模板至少抽一条,在正式切换前完成一次,切换后再复查一次。