换掉全站模板后,判断内容有没有溢出或缺项,最可靠的办法不是逐页肉眼看,而是先做一次结构对照:把旧模板下每个内容区域实际承载的字段,与新模板每个槽位允许的字段数量、长度、层级逐项比对,再对差异最大的页面抽样确认。这个结论有前提——你至少能拿到旧模板的页面结构或历史快照,并且能访问新模板的渲染结果。如果两者都拿不到,只能退而求其次,靠可见文本长度和区块数量的粗筛,但结论只能定位到“可疑页”,不能直接判定某字段丢失。
很多人把两者混在一起排查,结果越查越乱。它们的成因和证据完全不同。
区分清楚以后,排查方向就分开了:溢出要调容器和样式,缺项要查模板有没有为这个字段留槽位。
假设你只有前台访问权限,拿不到数据库和后台字段配置,可以做下面这组动作,成本低且能缩小范围。
这一步的结果只说明“某区块在新模板里数量变少”,不能直接推出“字段被删了”。变少的合理解释至少还有三种:新模板故意做了折叠或分页;该页面的数据本身在两次抓取之间被编辑过;渲染依赖的某个接口这次没返回完整数据。所以数量差异只是线索,不是结论。
假设旧模板的列表页每页显示 12 条,新模板同一页只显示 6 条。可能的原因按概率从高到低大致是:新模板把每页条数改成了 6;新模板的循环条件写错,只渲染了一半;数据源这次只返回了 6 条。
要区分它们,可以做一个动作:手动把新模板的列表翻到第二页,看第 7 条是否出现。如果第二页从第 7 条开始,说明只是分页条数变了,属于配置差异而非缺项;如果第二页重复了前 6 条或为空,才更可能是循环或数据问题。这个动作的结果直接决定下一步是改配置还是查数据。
有一个反例需要特别注意:当新模板对内容做了合并、折叠或懒加载时,DOM 里看到的数量不能代表实际内容量。比如折叠面板默认收起、图片懒加载未滚动不渲染、长文分页只在点击后加载,这些都会让“数量变少”成为假象。此时靠数 DOM 得出的缺项结论会完全失效。遇到这类模板,必须先触发展开、滚动到底、点开分页,再重新计数,否则前面的对照全部作废。
把粗筛出的可疑页整理成一张对照清单,每行写清楚:页面类型、区块位置、旧版数量或长度、新版数量或长度、疑似类型(溢出或缺项)。
拿着这张清单,再去申请或查找对应的字段配置和模板输出位置,就能把排查从“全站盲查”压缩到“几个具体槽位”。如果暂时拿不到配置权限,清单本身也足以让有权限的人快速定位,而不是重新从零开始看。判断顺序上,先处理缺项,再处理溢出——缺项意味着内容没输出,溢出至少内容还在,优先级更低。