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

域名迁移不是一个动作,而是十几个环节的连锁反应。
稍微一个地方没处理好,就会导致:
网站打不开
图片丢失
后台跳转异常
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
任何一个环节出错,都会表现为“网站坏掉”。
现在把这些坑全部写出来,希望能:
让你少走弯路
让迁移变成一件可控的事情
本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。



