事情本身不复杂,线索都在日志里。迁移时统一用了 308 永久跳转,Google 正常合并,百度三个月没动静。site 查询还是旧域名,新域收录只有几百条,两边差距越拉越大。
第一反应是「旧域 sitemap 还在提交,两个域长期并存」,验证下来不成立。
排查方向其实有限,先把可能性排一排。百度对 308 支持不完整,部分场景按未知状态处理。另一种情况是跳转链里混了 302,信号更弱。
另外,没有在百度平台提交改版规则。
先看跳转返回的状态码
curl -sI https://old.example.com/post/1 | head -3
单独确认状态码
curl -s -o /dev/null -w '%{http_code}\n' https://old.example.com/post/1
再往下把 308 统一改成 301
return 301 https://new.example.com$request_uri;
剩下的就是在
平
这台环境是别人交接的,不少默认值被动过,只能一项项核。
同事提醒我看一下最近一次发布,时间点确实对得上。
恢复的判定其实很直接。改成 301 并在平台提交改版后,百度在六周内完成了大部分换址,新域收录涨到迁移前的八成。
迁移一律用 301,308 在部分引擎里等于没写。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。
