网站迁移最容易出问题的时刻,往往不是切换域名的那几分钟,而是迁移前没有把“现在能正常工作”的状态记录下来。下面是我处理个人站点时会走一遍的检查顺序,重点是让迁移可以回退,而不是追求一次完成所有优化。
先画出站点的边界
先列出域名、DNS、主机、数据库、上传目录和定时任务。WordPress 站点至少要区分程序文件、数据库和 wp-content/uploads。还要记下 PHP 版本、站点时区、固定链接结构以及是否有反向代理。边界写清楚后,迁移时才不会把“文件已复制”误认为“服务已恢复”。
给现状留一份可验证的记录
我会保存首页、几篇代表性文章、登录入口和 robots.txt 的状态码,同时记录当前的规范域名和证书到期时间。数据库和上传目录要分别打包,并在本地计算文件校验值。备份完成后,至少抽取一张图片和一篇文章做恢复测试;无法恢复的备份,在真正迁移时等同于没有备份。
先在临时地址验证功能
如果主机支持临时域名或 hosts 绑定,可以先在不改 DNS 的情况下检查首页、文章、搜索、图片、评论和后台登录。需要特别确认站点生成的绝对链接不会把测试地址写进数据库,也不要让搜索引擎抓取临时环境。测试完成后删除临时环境里的缓存,避免把旧页面继续提供给访客。
切换时缩短不可用窗口
正式切换前降低 DNS 的 TTL,并提前准备回滚条件,例如首页连续返回 5xx、图片全部失效或登录无法完成。切换 DNS 后先观察解析、证书和首页,再逐步检查文章、站点地图和表单。不要在同一时间进行主题大升级、插件替换和数据库结构调整,这样出现问题时很难判断原因。
迁移后做一次外部检查
最后从站点外部访问 http 和 https、带 www 和不带 www 的地址,确认它们收敛到同一个规范地址。再检查 robots.txt、sitemap.xml、ads.txt 和隐私政策。迁移不是“服务器换了就结束”,而是访客、搜索引擎和站点所有者都能稳定找到同一份内容。