站点搬家这件事,很多人第一次做都是被动的:服务器到期、服务商调整、公司换品牌,或者单纯想把主域名换一个更短的。迁移本身不难,难的是过程中很容易顺手丢掉一些东西——旧地址没接上、证书没跟上、日志没人看,结果是访客点进来看到错误页,蜘蛛抓到一半断了线。下面按执行顺序把几个容易漏的环节过一遍。
迁移前先做一次全站清单
不要一上来就改 DNS。先花半天把下面这些东西整理成一张表,后面每一条都要靠它对账:
- 当前所有能正常返回的地址,包括栏目页、详情页、标签页、分页。
- 每个地址的访问量或外链情况,哪怕只是粗略排个序,也要知道哪些页面值得优先保证。
- 站内引用的资源:图片、CSS、JS、字体、接口域名。这些如果还指向旧域名,迁移后会出现混合内容或跨域问题。
- 对外提交过的地址:站点地图、RSS、站长平台验证文件、第三方统计和广告代码。
这份清单不需要多精确,但必须存在。凭记忆做迁移,最后一定会在某个角落发现一个没人记得的旧地址。
地址映射要一条条对得上
如果只是换服务器、域名不变,那基本只需要切 DNS 并确认服务配置。但只要域名变了,就必须建立完整的跳转映射。几个原则:
- 能一对一就不要一对多。旧页面 A 跳到新页面 A,而不是全部扔到首页。全站堆到首页,等于把之前积累的页面价值直接丢掉。
- 确实没有对应内容的,才退到最近的上级栏目。比如某个已经取消的详情页跳回它所属的栏目列表,比跳首页更合理。
- 旧域名继续保留解析和证书。跳转要靠旧域名回应,域名一停,跳转也就没了,通常建议保留一段较长周期。
- 返回正确的状态码。用 301 做永久跳转,别用 JS 跳转或 meta refresh 充当替代,那对访客和蜘蛛都不友好。
执行顺序:先准备好,再切流量
比较稳的做法是把准备和切换分成两步:
- 新环境先把站点完整部署好,用临时域名或 hosts 绑定验证页面是否正常、证书是否有效、是否有报错。
- 确认新环境无误后,再配置旧域名的跳转规则,并挑若干条典型地址测试。
- 最后才切换 DNS,并适当降低 TTL,让解析变更更快生效。
- 切换后立刻检查:首页、栏目页、随机几个详情页、静态资源、表单提交。
尽量避免迁移和整站改版同时进行。两个变量叠在一起,出问题时很难判断是哪一步造成的。
迁移后要看日志,而不是等反馈
切换完成后的一到两周是观察期。服务器日志里重点看几件事:旧域名是否还有大量 404,说明跳转漏了;新域名是否出现陌生来源的抓取,说明蜘蛛已经开始跟过来;静态资源是否仍有指向旧域名的请求,说明模板里还有残留。
同时把站点地图里的地址全部更新为新域名,并在站长平台提交变更。内链、规范链接、分享按钮里的地址也要一起替换,别只改首页。
迁移不是一次性动作,而是一段持续一到两周的观察期。真正出问题的往往不是切换那一刻,而是切换之后没人回头看。
容易忽略的几个点
- 邮件、接口、客户端里的硬编码地址,改起来慢,但漏了会一直产生错误请求。
- CDN 和缓存层里可能还存着旧域名的内容,切换后要清一次。
- 统计代码、广告位、第三方验证文件没换,会造成数据断层或验证失效。
- 备份要提前做,并且验证能恢复,而不是只导出个文件放那儿。
把这些环节按顺序走一遍,迁移本身就不会太折腾。它考验的不是技术难度,而是耐心和清单意识。