企业官网用久了,底层系统往往会跟不上业务发展——比如早年用的某款老旧国产 CMS 已经停止维护、频繁爆出安全漏洞,或者为了提升海外打开速度,团队决定把传统模板站重构成现代前后端分离架构。

但在“换引擎(更换 CMS 或技术栈)”的过程中,最容易发生一种让市场部和销售部抓狂的事故:新网站上线后看着挺漂亮,结果过了一周,销售突然发现以前某个产品页里的 PDF 规格书下载链接全断了;市场部发现老文章里的图片路径全变成了裂图;负责投流的同事发现百度统计和 Google Ads 的转化追踪代码在换系统时被漏掉了,导致整整一周的广告数据全瞎了。

要让一次跨系统的底层重构做到“滴水不漏”,在 JVDS界达设计 的技术迁移规范里,绝对不能靠程序员拍脑袋手动复制粘贴,必须走完下面这 4 步工程盘点:

建立内容模型映射

1. 动工前:先用爬虫跑出旧站的“全量资产底表”

很多时候连客户自己都记不清老网站上到底有多少个隐藏专题页和多少份附件。在写新代码之前,先用 Screaming Frog 等专业站点爬虫把旧网站从头到尾扫一遍,导出一份完整的资产清单:

  • 全部返回 200 OK 的 HTML 页面 URL、各自的 <title>、<meta description> 和 <H1>;
  • 全站所有的静态资源路径(特别是 /upload/ 或 /downloads/ 目录下的产品画册 PDF、CAD 图纸、驱动压缩包——很多外包客户的宣传册上印着这些 PDF 的直接下载二维码,一旦路径变了,印出去的几万本画册全成死码!);
  • 页面头部与底部挂载的所有第三方脚本(GA4、百度统计、GTM、在线客服、CRM 表单 Webhook 接口)。

URL尽量保留

2. 数据库迁移:做字段映射与“正文富文本路径清洗”

旧 CMS 和新 CMS 的数据库表结构肯定不一样。在写数据迁移脚本(Migration Script)时,最需要小心的是文章和产品详情的富文本正文(Rich Text HTML):

  • 很多老系统的正文里写死了绝对路径(比如 <img src="http://old-test-ip/uploads/2022/1.jpg">)或者老旧的内联样式(style="font-family: SimSun; font-size: 12px")。
  • 迁移脚本必须在入库前做一次正则清洗:把所有图片和附件链接统一替换为新站的 CDN/相对路径,剥离掉破坏新站排版的垃圾内联样式,只保留干净的 <p>、<h2>、<ul>、<table> 语义标签。

编辑工作流程

3. URL 路由继承:能保持原路径的绝不改路径,必须改的配齐 301

这是保住百度和 Google 排名的命根子。如果旧站的文章路径是 /share/website-design/123.html,新系统完全可以通过路由重写(Rewrite Rules)继续兼容这个地址;如果为了 URL 语义化确实要把路径改成英文别名,必须根据第一步导出的资产底表,在 Nginx 层配置严格的 一对一 301 永久重定向规则,包括那些印在纸质画册上的老 PDF 下载路径也要一并做好映射。

4. 切换解析前:测试服与正式服的“自动化回归比对”

在测试服(Staging)完成数据导入后,用爬虫把测试服也扫一遍,与旧站底表进行交叉比对:核对页面总数是否对得上、图片和附件是否存在 404、每个核心页的 TDK 是否完整继承、表单提交后 CRM 是否正常收到数据。只有当所有指标绿灯通过,才在夜间低峰期平滑切换 DNS 解析。