返回文章列表
域名

自建站域名迁移怎么做?自建站域名迁移完整复盘

小艺
2025-12-06
4天前
自建站域名迁移怎么做?自建站域名迁移完整复盘

域名迁移不是一个动作,而是十几个环节的连锁反应。
稍微一个地方没处理好,就会导致:
网站打不开
图片丢失
后台跳转异常
Google 搜索死链
SEO 全部清零

这篇文章,我会把实际流程步骤 全部写出来,帮助你快速、安全迁移自己的站点。

第 1 步:明确迁移对象

迁移不是简单的“换域名”。

你必须确认:

  • 新旧域名都解析正常
  • 新域名已经做好 SSL(HTTPS 必须先配好)
  • WordPress 文件夹准备好
  • Nginx / Apache 服务正常运行

这一步看似简单,但决定后面是否顺利。

为所有域名申请 SSL

宝塔 → SSL → Let’s Encrypt

勾选全部域名:

✔ new.com✔www.new.com✔ old.com✔www.old.com

点击「申请」。

若旧域名不申请 SSL,则 HTTPS 访问旧域名会报错,无法正常跳转。


第 2 步:处理 Nginx 的 server_name 配置

在服务器面板里(如宝塔),你会看到 Nginx 的配置文件。

很多新手会按一个域名对应一个 site 配置,这样其实没必要。

我采用的是:

用同一个 server 块同时管理多个域名。


server_name olddomain.com www.olddomain.com \            newdomain.com www.newdomain.com;root /www/wwwroot/newdomain.com;

重点:root 指向新域名所在文件夹!

我最开始犯的错误就是误以为旧站文件夹不能动,导致网站结构混乱。
正确做法:迁移后根目录必须切换成新站文件夹。

第 3 步:WordPress wp-config.php 修改

只改两个参数:


define('WP_HOME', 'https://newdomain.com');define('WP_SITEURL', 'https://newdomain.com');

很多文章说不要改 wp-config.php,但实战证明:

如果不改,会出现前后台引用旧链接的问题。
➤ 改了之后,WordPress 才会统一读取新域名。

第 4 步:数据库替换(是整个迁移的灵魂)

绝大多数“迁移后图片打不开 / 路径出错 / 新旧域名混合”的问题,都是因为数据库里还有旧域名残留。

解决方法:
进入 phpMyAdmin → 执行 SQL 批量替换。


UPDATE wp_options SET option_value = REPLACE(option_value, '旧域名', '新域名');UPDATE wp_posts SET post_content = REPLACE(post_content, '旧域名', '新域名');UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, '旧域名', '新域名');

第 5 步:301 重定向

这一步主要保证 SEO 不掉分,也确保访客访问旧域名会跳到新域名。

在宝塔里设置:

  • 类型:域名重定向
  • 方式:301(永久重定向)
  • 保留参数:开启
  • 目标 URL:填写新域名,不要加斜杠“/”

我一开始在末尾加了“/”,结果出现了这种情况:

https://newdomain.com//

双斜杠的 bug 不会影响访问,但会影响 SEO,所以一定要注意格式!

第 6 步:修复 WordPress 的“// 双斜杠” bug

这是迁移中最让我崩溃的一环。

我明明全部替换了域名,可前台链接还是变成:

https://newdomain.com//

原因是:
WordPress 自动拼接路径时会造成“双斜杠”,尤其旧域名迁移后。

解决办法是在主题 functions.php 添加过滤器:

add_filter('home_url', function($url){return preg_replace('#(?<!:)//#', '/', $url);}, 20);

这个代码会把所有多余斜杠自动清理,非常管用。

第 7 步:文件权限导致“无法保存”问题

我在修改 WordPress 主题文件(header.php、functions.php)时一直提示:

无法保存
文件不可写

原因是服务器权限锁定。
解决方法:

在服务器里把对应文件夹改为:

权限:666  所有者:www

完成修改后再改回安全权限即可。

8 步:Google Search Console 重新验证

域名迁移后,GSC 会视为一个全新网站。


你需要:

重新添加新域名
上传 HTML 验证文件或在 <head> 放 meta 标签
提交 sitemap
查看索引状态

我在这里踩坑:
GSC 报错 “无法抓取 sitemap”,原因是 Nginx 还没刷新配置 → 重启服务即可修复。

第 9 步:最后测试清单(非常关键)

迁移后的自检一定要包括:

功能测试

  • 首页加载正常
  • 图片是否丢失
  • 菜单跳转是否正确
  • 登录后台是否跳转回旧域名

SEO 测试

  • URL 结构是否统一
  • 301 是否生效
  • sitemap 是否读取成功

安全测试

  • http 是否强制跳转 https
  • 后台是否泄露旧域名

这些检查会直接决定你新站未来是否稳定。

迁移完成后的感悟

域名迁移这件事,如果没有经验,就像是:

踩着十几个开关走钢丝。
不是某一步难,而是每一步都容易出错。

我这次最大的感受是:

真正决定迁移成败的不是操作,而是“理解整个链路”。

域名 → Nginx → WordPress 配置 → 数据库 → 301 → 主题路径 → GSC → SEO
任何一个环节出错,都会表现为“网站坏掉”。

现在把这些坑全部写出来,希望能:

让你少走弯路
让迁移变成一件可控的事情


本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。

分享文章
合作伙伴

本站所有广告均是第三方投放,详情请查询本站用户协议