本文约 2,384 字,预计阅读 6 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:换了域名,收录从八千掉到两百
换域名是站点生命周期里风险最高的操作之一。流程走得不完整,常见结果是:新域名被当成全新站点从头开始,旧域名的收录慢慢流失,两边都没捞着。更糟的是很多站长在看到收录下降后开始慌张操作——改回旧域名、同时保留两个域名都能访问、反复提交,把本可以恢复的局面彻底搞乱。
原理分析:301 传递的是信号,不是即时结果
301 告诉搜索引擎”这个地址永久搬家了”。百度收到这个信号后,需要重新抓取新地址、把旧地址的权重与索引关系迁移过去,这个过程不是一次跳转就完成的。
| 阶段 | 典型表现 | 大致周期 |
|---|---|---|
| 跳转生效期 | 新旧域名都能搜到,结果混排 | 数天到数周 |
| 索引迁移期 | 新 URL 逐渐替代旧 URL | 数周到两三个月 |
| 稳定期 | 旧 URL 基本退出结果页 | 两三个月以上 |
| 旧域名下线 | 流量完全由新域名承接 | 确认稳定后再执行 |
影响恢复速度的关键变量有三个:旧站点的抓取频次(高频站点迁移快)、301 是否覆盖全部 URL 而不只是首页、以及站内是否还残留指向旧域名的内部链接。第三个最容易被忽略,也最拖后腿。
保姆级实操
步骤 1:新域名完成验证并保持可访问。 在百度搜索资源平台添加并验证新域名,确保新站在切换前就能正常访问(可以先做完内容迁移,用新域名在 staging 环境验证)。
步骤 2:配置全站 301,不是只跳首页。 只跳首页是最大的失误,会让所有内页的权重无处可去:
# 旧域名:除验证文件与必要静态资源外,全部按原路径 301 到新域名
server {
listen 80;
server_name old-example.com www.old-example.com;
# 保留验证文件,避免新站验证被中断
location = /baidu_verify_xxxxxx.html {
root /var/www/verify;
}
location / {
return 301 https://mimangfei.com$request_uri;
}
}
注意 $request_uri 保留完整路径与参数,不要用 rewrite ^/(.*)$ https://mimangfei.com/ permanent; 这种丢路径的写法。
步骤 3:替换站内残留的旧域名。 数据库里的文章内容、自定义字段、选项里都可能有旧链接:
# 先干跑,确认影响范围
wp search-replace 'old-example.com' 'mimangfei.com' --dry-run --skip-columns=guid
# 确认无误后执行,输出报告便于回溯
wp search-replace 'https://old-example.com' 'https://mimangfei.com' \
--skip-columns=guid --report-changed-only --log=replace.log
# 修正站点地址
wp option update home 'https://mimangfei.com'
wp option update siteurl 'https://mimangfei.com'
# 刷新固定链接与缓存
wp rewrite flush --hard
wp cache flush
--skip-columns=guid 是必要的:GUID 不是真实链接,改它没有任何意义,还可能导致阅读器误判文章为未读。
步骤 4:提交网站改版规则。 在百度搜索资源平台找到「网站改版」工具,按规则提交旧域名到新域名的对应关系(整站换域名通常提交域名级的改版规则)。这一步是明确告诉百度”我搬家了”,比只靠 301 被动等待快得多。
步骤 5:更新 sitemap 并持续推送。 新域名的 sitemap 提交到平台,核心页面用 API 推送(接口用法见 百度 API 推送接口)。前两周建议每天推一次新增与更新页面。
步骤 6:每周记录指标,别中途改主意。 建一张表,每周记录:新域名收录量、旧域名收录量、新域名关键词数、总流量。看到下降不要立刻回滚——迁移期的波动是正常现象,反复切换域名等于告诉百度”这个站不稳定”。
步骤 7:确认稳定后再下线旧域名。 判断标准是:旧域名流量连续四周低于总流量的 5%,且新域名主要关键词已经承接。旧域名的 301 至少保留半年更稳妥。
常见踩坑
- 只做首页 301,内页全部 404,权重无处传递。
- 301 规则写在
if判断里导致路径丢失,所有请求都跳到首页。 - 忘了替换正文里的旧链接,用户在站内点一下就跳出新域名,形成循环跳转。
- 新旧域名同时可访问且都返回 200,被判定为重复站点。
- 迁移后立刻关闭旧域名,”网站改版”还没处理完。
- 案例: 某站在换域名时只提交了新域名 sitemap,没有用网站改版工具,也没改正文里的旧链接。三个月后新域名收录只有旧域名的四成,旧域名结果仍未退出。补做改版规则提交和正文替换后,又花了两个月才追平,前后多损失近五个月。
- 看到收录下降就回滚到旧域名,导致百度反复重新判断。
- 改了 home/siteurl 但没刷新固定链接,站内链接仍指向旧结构。
总结
换域名的动作顺序不能乱:新域名验证 → 全站路径级 301 → 站内链接替换 → 网站改版规则提交 → sitemap 与 API 推送 → 每周记录指标 → 稳定后再下线旧域名。恢复周期按两三个月预期,期间最重要的纪律是「不中途改主意」。迁移过程中如果需要短暂关闭,务必按 网站临时关闭 503 设置 的方式返回 503。
