结论先说:模板替换后,不要靠肉眼逐页翻,而要用“字段清单比对 + 边界内容抽查”两步法。前者找出模板没有对应输出位置的字段,后者找出虽然输出但被截断、换行或隐藏的内容。两者都通过,才算真正迁移完成。但如果你的旧模板允许正文自由插入任意 HTML 结构,而新模板把正文限制为纯文本或固定组件,那么字段清单比对会失效——因为缺的不是字段,而是字段内部的富文本结构,这时必须改用结构抽样法。
模板本质上是一套字段到页面位置的映射。旧模板里某个产品可能有“规格参数”“适用场景”“常见问题”三个独立字段,新模板如果只保留了“规格参数”,另外两个字段的数据还在数据库里,但前台永远不会被渲染出来。这类缺项不会报错,页面照常打开,只是内容凭空少了一块。
识别方法是先导出旧站的内容结构清单,再对照新模板的字段绑定表。具体动作:打开旧站任意三个不同类型页面(如产品页、文章页、案例页),记录每个页面上出现的所有信息块,标出哪些来自独立字段、哪些来自正文富文本。然后打开新模板的对应模板文件,逐项核对每个字段是否有输出语句。结果会直接告诉你哪些字段被丢弃——如果发现某个字段在模板中完全没有对应的输出位置,下一步就是决定补回模板还是合并进正文。
溢出通常表现为文字被截断、图片撑破布局、表格横向滚动或按钮被挤出可视区。它和缺项相反:数据还在,只是显示不下。模板改变后,容器宽度、字体大小、行高、图片最大宽度这些约束条件都可能变化,旧内容在新约束下就会溢出。
判断溢出的可靠依据是容器边界与内容实际尺寸的对比,而不是靠感觉。可以在浏览器中临时给可疑容器加一个可见轮廓,观察内容是否超出该轮廓。常见的溢出来源包括:固定宽度的表格在窄容器中横向撑开、长英文单词或连续数字不换行、图片没有设置最大宽度、绝对定位元素随模板结构变化而偏移。
一个假设例子:旧模板正文区宽度为 800px,新模板改为 680px。某篇文章中有一张宽度 760px 的图片,旧模板下正常显示,新模板下就会溢出到侧边栏。这不是图片本身的问题,而是容器宽度变化后,原有内联宽度失去了适配。处理动作是把图片宽度改为相对单位或加最大宽度限制,然后重新检查同一篇文章在窄屏下的表现,确认没有新的溢出点。
这套方法适合字段结构清晰、正文以纯文本为主的站点。如果你不确定是否适合,先看旧站正文里是否大量出现自定义 HTML 模块,如果有,请直接跳到下一节的结构抽样法。
这个动作的结果会直接影响下一步:如果缺项集中在少数几个字段,补模板即可;如果缺项涉及大量页面且字段之间有关联,可能需要重新设计内容模型,而不是逐个补输出。
旧站正文中常见的自定义结构包括:带样式的提示框、多列布局、内联表格、折叠面板、按钮链接。新模板如果只输出纯文本,这些结构会丢失样式甚至丢失内容。字段清单比对查不出这类问题,因为正文作为一个整体字段仍然存在。
结构抽样法的做法是:从旧站抽取包含不同 HTML 结构的页面各一个,在新模板中打开对应页面,逐段对比。重点看四类信号:样式类名是否残留但无效果、内联样式是否被过滤、标签是否被转义显示为文本、嵌套结构是否被打平。如果发现标签被转义,说明新模板对正文做了转义输出,需要调整输出方式或改用允许 HTML 的字段。
这一步的结果决定了后续工作量:如果只是样式丢失,补 CSS 即可;如果标签被转义或过滤,需要改模板输出逻辑,并重新检查所有含富文本的页面。
反例:旧站内容通过前端 JavaScript 在页面加载后动态插入,而不是由后端模板直接输出。这种情况下,字段清单里看不到这些内容,结构抽样时如果只查看 HTML 源码也看不到。此时需要在实际渲染后的 DOM 中比对,而不是比对模板文件或源码。判断信号是:源码中没有某段内容,但页面上能看到。遇到这种情况,先确认内容来源是接口、脚本还是内联数据,再决定迁移方式。
另一个失效条件是模板替换同时改变了 URL 结构且未做重定向。这时缺项和溢出可能被 404 掩盖,你看到的“缺内容”其实是页面根本没加载。排查顺序应该是先确认页面可访问,再检查内容完整性。
识别出缺项和溢出之后,不要立刻批量修改。先按影响面分类:影响所有页面的模板级问题优先处理,只影响个别页面的内容级问题批量处理。处理完一类后,重新执行同一套比对动作,确认没有引入新的溢出或缺项。只有当你用同一方法复查后不再发现新问题时,才适合进入全站巡检阶段。这一步的判断依据是复查结果,而不是修改数量。