站点搬家這件事,很多人第一次做都是被動的:服務器到期、服務商調整、公司換品牌,或者單纯想把主域名換一個更短的。迁移本身不难,难的是過程中很容易顺手丢掉一些東西——舊地址没接上、證书没跟上、日誌没人看,结果是訪客点進来看到错誤頁,蜘蛛抓到一半断了线。下面按执行顺序把几個容易漏的环节過一遍。
迁移前先做一次全站清單
不要一上来就改 DNS。先花半天把下面這些東西整理成一張表,後面每一條都要靠它對帳:
- 目前所有能正常返回的地址,包括栏目頁、詳情頁、标簽頁、分頁。
- 每個地址的訪問量或外鏈情况,哪怕只是粗略排個序,也要知道哪些頁面值得優先保證。
- 站内引用的资源:图片、CSS、JS、字体、接口域名。這些如果還指向舊域名,迁移後會出現混合内容或跨域問题。
- 對外提交過的地址:站点地图、RSS、站長平台驗證文件、第三方統計和广告代碼。
這份清單不需要多精确,但必须存在。凭记忆做迁移,最後一定會在某個角落發現一個没人记得的舊地址。
地址映射要一條條對得上
如果只是換服務器、域名不變,那基本只需要切 DNS 並確認服務配置。但只要域名變了,就必须建立完整的跳轉映射。几個原則:
- 能一對一就不要一對多。舊頁面 A 跳到新頁面 A,而不是全部扔到首頁。全站堆到首頁,等于把之前积累的頁面價值直接丢掉。
- 确實没有對應内容的,才退到最近的上級栏目。比如某個已经取消的詳情頁跳回它所属的栏目列表,比跳首頁更合理。
- 舊域名繼續保留解析和證书。跳轉要靠舊域名回應,域名一停,跳轉也就没了,通常建议保留一段較長周期。
- 返回正确的狀態碼。用 301 做永久跳轉,別用 JS 跳轉或 meta refresh 充当替代,那對訪客和蜘蛛都不友好。
执行顺序:先准备好,再切流量
比較稳的做法是把准备和切換分成两步:
- 新环境先把站点完整部署好,用临时域名或 hosts 绑定驗證頁面是否正常、證书是否有效、是否有报错。
- 確認新环境無誤後,再配置舊域名的跳轉規則,並挑若干條典型地址測試。
- 最後才切換 DNS,並适当降低 TTL,让解析變更更快生效。
- 切換後立刻检查:首頁、栏目頁、随机几個詳情頁、静態资源、表單提交。
尽量避免迁移和整站改版同时進行。两個變量叠在一起,出問题时很难判断是哪一步造成的。
迁移後要看日誌,而不是等反馈
切換完成後的一到两周是观察期。服務器日誌里重点看几件事:舊域名是否還有大量 404,說明跳轉漏了;新域名是否出現陌生来源的抓取,說明蜘蛛已经開始跟過来;静態资源是否仍有指向舊域名的請求,說明模板里還有残留。
同时把站点地图里的地址全部更新為新域名,並在站長平台提交變更。内鏈、規范連結、分享按钮里的地址也要一起替換,別只改首頁。
迁移不是一次性動作,而是一段持續一到两周的观察期。真正出問题的往往不是切換那一刻,而是切換之後没人回头看。
容易忽略的几個点
- 邮件、接口、客戶端里的硬编碼地址,改起来慢,但漏了會一直产生错誤請求。
- CDN 和缓存层里可能還存着舊域名的内容,切換後要清一次。
- 統計代碼、广告位、第三方驗證文件没換,會造成資料断层或驗證失效。
- 备份要提前做,並且驗證能恢复,而不是只導出個文件放那儿。
把這些环节按顺序走一遍,迁移本身就不會太折腾。它考驗的不是技術难度,而是耐心和清單意识。