改版或迁移时,百度收录问题最需要核对的不是“新页面有没有上线”,而是旧地址是否还能把百度蜘蛛和用户正确送到新地址,以及新地址是否允许被抓取、被索引。核心检查项是:URL 映射、301 跳转、robots.txt、页面可访问性、canonical、站点地图和旧链接流量。只要其中一环出错,百度就可能继续保留旧快照,或迟迟不收录新页面。
改版后不要只看浏览器里的效果。浏览器会执行跳转,但百度蜘蛛抓取时可能遇到不同结果。可以用百度搜索资源平台提供的抓取诊断工具,或直接查看服务器日志,确认百度蜘蛛请求旧 URL 时返回的状态码。
这里要区分“可能原因”和“已经定位的原因”。旧页仍被收录,可能是跳转没生效,也可能是百度尚未重新抓取,不能只凭一次搜索结果就下结论。
下面这些项目要按顺序核对,任何一项不通过,都可能表现为百度收录问题。
如果百度蜘蛛访问旧 URL 返回 200 而不是 301,先检查服务器配置和 CMS 跳转插件。Apache 环境可检查 .htaccess,Nginx 环境可检查 rewrite 规则;如果规则写在 HTML 里,例如 <meta http-equiv="refresh">,它不能替代 301。
如果新 URL 返回 404,先确认文件或路由是否存在,再检查大小写、结尾斜杠和参数规则。百度蜘蛛对大小写和参数敏感,旧链接带 ?id=123 时,新站如果只支持 /123.html,就需要在服务器层做映射。
如果新页面能打开但不被收录,检查 robots.txt 是否放行、页面是否有 noindex、canonical 是否指向别处。假设一个例子:某站点迁移后新页面全部带 <meta name="robots" content="noindex">,这是测试环境残留,百度就不会收录。这个例子只说明检查方向,不是真实项目结果。
处理完成后,不要只提交一次就结束。复查要分三层:
site:新域名 抽查,但结果数不等于真实收录量,只能作为观察线索。如果旧 URL 仍大量出现在搜索结果中,先确认跳转是否稳定,再确认百度是否已经重新抓取。不同搜索引擎支持情况须分别核查,百度、必应和谷歌的抓取与索引节奏并不一致,不能用一个引擎的结果推断另一个。
下一步:选 10 个有代表性的旧 URL,逐一记录状态码、跳转目标、canonical 和 robots 状态,形成一张迁移核对表;发现异常后先修服务器层跳转,再提交新站点地图并观察抓取日志。