网站搬家这件事,做顺了就是一次计划周密的迁移,做砸了轻则数据丢失,重则收录清零。多数问题都出在准备不足:以为备份了,结果只备了文件没备数据库;以为解析切过去就完事,结果旧域名解析早就改了没法回滚。这篇按实际操作的顺序,把搬家全流程拆开讲。

图片由 AI 生成
动手前:备份要做到「能恢复」
备份是搬家的第一步,也是唯一能救命的步骤。完整的备份包括三块:网站文件、数据库、以及容易漏掉的配置项。文件直接打包网站根目录;数据库用 phpMyAdmin 导出或 mysqldump 命令行导出,两者都行,关键是导出后要打开看一眼,确认表结构和不小于零的数据量都在。
备份做两份,本地一份、云盘一份。有条件的话在新服务器上先做一次恢复演练:用这份备份把站点在测试环境跑起来,确认能正常打开。很多人跳过这步,等搬到一半发现备份损坏,就只剩下哭。
新环境先跑通,再切流量
新服务器装好环境(宝塔或手动 LNMP 都行)后,先把站点在新机器上完整搭起来:导入数据库、上传文件、改配置文件里的数据库连接信息。这时候别急着切域名,先 hosts 解析测试——本地电脑的 hosts 文件里把域名指向新服务器 IP,浏览器就能强制访问新站,逐页检查链接、图片、登录、评论是否正常。
如果迁移后域名不变,数据库里存的站点 URL 通常不用改;要换域名的话,就得批量替换数据库里的旧域名,记得同时处理序列化数据(WordPress 用 wp-cli 的 search-replace 最稳,手工替换 SQL 容易把序列化长度改错导致主题设置丢失)。

图片由 AI 生成
切换日:把每一步的时间留足
正式切换建议选访问量最低的时段,按这个顺序走:
- 提前一两天把域名 DNS 的 TTL 调短(比如 300 秒),切换后能快速生效和回滚。
- 停掉旧站的文章更新、评论等写入操作,再补一次增量备份。
- 修改 DNS 解析指向新服务器 IP,等待生效,TTL 短的话一般十几分钟。
- 新站开启伪静态、SSL 证书、缓存等配置,逐项验证。
- 旧服务器不要马上注销,保留一至两周观察期,期间保持旧站可访问或至少做了 301 跳转。
SSL 证书要在切换前就签好。新服务器上的证书如果用 Let's Encrypt,得等 DNS 生效后才能通过验证签发,所以流程上 DNS 切换和证书签发要排在前面,别等站切完了发现浏览器提示不安全。
搬家之后:盯三样东西两周
切换完成不等于搬家结束。接下来两周要观察三样:一是搜索引擎抓取,用站长平台的抓取诊断确认蜘蛛访问的是新服务器;二是收录变化,site 命令和站长平台的索引量曲线,正常波动不用慌,持续下跌才要查;三是站内功能,评论、表单、定时任务这些容易在环境差异下悄悄失灵。
收录不丢的核心其实就两条:域名没变、新站内容与旧站一致。只要这两条守住,搜索引擎自己会找到新服务器。
换域名的情形要额外做一件事:旧域名全部页面 301 到新域名对应页面(不是全站跳首页),并在站长平台提交改版规则。301 生效后搜索引擎会逐步把权重转移过去,这个过程通常要几周到几个月,耐心比技巧有用。
最后一份清单
把搬家要带的东西列一遍:网站文件、数据库、robots.txt、伪静态规则、SSL 证书、邮件服务配置、定时任务、以及后台里容易被忽略的外观设置和插件配置。对照这份清单核对完,基本就没什么会漏。搬完家记得把备份流程照旧跑起来——新服务器上没有自动备份的站点,等于又一次裸奔。

