把旧页面的正文、标题和链接搬进新模板后,最容易被漏掉的不是文字本身,而是模板自动附加的结构:导航、面包屑、相关推荐、页脚链接、结构化数据,以及正文容器里多出来的空标签。发现隐藏差异的可靠做法,是先固定一个对比基准,再逐层比较“浏览器里看到的”和“源码里发出的”两套结果,而不是凭肉眼扫一遍页面就判断迁移完成。
迁移开始前,把旧页面按最终线上状态保存一份完整源码,而不是只复制正文。保存对象应包括:HTTP响应中的状态码与规范链接、HTML源码全文、渲染后的DOM快照、页面上的内链与外链清单。若旧系统还能访问,优先用同一用户代理分别抓取“原始HTML”和“渲染后HTML”,两者都留存。
这一步的实际动作是给每个待迁移页面建立一份基线文件。结果会直接影响后续判断:有了基线,你才能确认新模板里某个标题是“原本就有”还是“模板自动加的”;没有基线,后面所有差异都只能靠印象争论。
把新页面与基线并排比较时,按以下三层推进,每层关注的对象不同:
假设一个页面在旧站有“相关阅读”模块,新模板把它替换成自动推荐。此时源码层可能看不出问题,但渲染层会出现一批基线中没有的链接。你需要判断这些链接是该保留的新功能,还是应当从迁移范围中排除的模板噪音。这个判断会决定下一步是修改模板配置,还是调整单页内容。
隐藏差异通常表现为两种相反方向,处理方式完全不同:
把这两类混在一起改,最容易出现“补了缺失、又删了有用新增”的反复。建议先列一张差异表,每条注明方向、所在层级、是否影响正文语义,再决定改动顺序。
在批量迁移前,选三到五个结构不同的页面做受控抽查:一个纯文章页、一个带列表的栏目页、一个包含表单或嵌入内容的页面。对每个页面执行同一套对比流程,记录差异数量和类型。
抽查结果会回答一个关键问题:差异是模板全局造成的,还是个别页面数据造成的。如果是全局造成,修改模板映射规则即可覆盖大部分页面;如果只在个别页面出现,说明问题出在旧内容的特殊结构上,需要单独处理。这个结论直接决定你是先改模板,还是先清理源数据。
比较前后变化时要注意,抓取量或某类请求归零并不能单独证明迁移正确,它也可能来自采集时间、缓存状态或访问限制的变化。判断差异是否被消除,应以基线对比结果为准,而不是以某个单一指标的变化为准。
旧内容、旧系统或旧合作关系退出时,不必整页丢弃。对每个页面,按“保留、改写、重定向、移除”四类给出处理决定,并写明依据:
每个决定都要落到一个具体动作,并说明该动作之后如何复查。例如,把旧页面重定向到新页面后,下一步应检查目标页面是否返回正常状态、规范链接是否自指、正文是否与旧页面主题一致。只有这些复查通过,重定向才算处理完成,而不是设置完规则就结束。