example.com、example.cn、example.net 都解析到同一个站点,三个域名都能打开,后台显示同一篇文章有三个收录地址,外链也散在三处。日志里能对上时间点,这种反而好排。
服务器没有按 Host 做统一跳转,三个域名各自返回 200。canonical 又跟着当前域名走,等于告诉引擎三个地址都是正版。这一点先确认清楚,后面就不用反复试。
server {
listen 80;
server_name example.cn example.net;
return 301 https://www.example.com$request_uri;
}
围绕「多域名收录分散」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。
处理上按这个顺序:选定一个主域名,其余全部 301 过去;canonical 固定写主域名,不跟随 Host;备用域名保留解析但只做跳转;在搜索后台分别提交地址变更。
结果对不对很好判断,访问另外两个域名只跳一次到主域名,收录数合并成一个地址。
