先选一个你手上真实存在的页面,把旧模板渲染结果和新模板渲染结果并排打开,逐块比对“文字有没有被截断、图片有没有被裁掉、原本存在的模块有没有消失”。这一步比全站扫一遍更快暴露问题,也更容易判断是模板的容器宽度、字段映射还是内容本身长度造成的。发现溢出后不要急着改CSS,先确认是内容超长还是模板结构不兼容,两种情况的处理代价完全不同。
挑页面时优先选同时包含长标题、多段落正文、带说明文字的图片和嵌套列表的那一页。这类页面能同时触发横向溢出、纵向裁切和模块缺项三类问题。假设你选的是“产品参数”页,旧模板下参数表能完整显示,新模板下右侧被切掉一列,这就是一个可复现的溢出证据。
把两边的HTML结构用浏览器开发者工具各存一份,重点看三处:正文容器的max-width、图片容器的overflow取值、自定义字段在模板里被调用时有没有输出包裹元素。如果新模板把自定义字段直接塞进固定宽度的<div>,而旧模板用了弹性容器,那溢出几乎必然出现在长文本字段上。
溢出通常来自三种情况:正文里存在旧模板容忍但新模板不容忍的超长英文串或URL;图片原始尺寸大于新模板的容器上限;表格或代码块没有横向滚动容器。缺项则多来自字段名变更、循环条件收窄,或新模板根本没有渲染某个自定义文章类型。
判断方法很直接:在旧模板页面里搜索某个具体字段值,比如一段产品编号,然后在新模板页面里搜索同一串字符。如果新页面搜不到,说明是缺项而非溢出;如果搜得到但视觉上被切掉,说明是溢出。这个动作的结果决定下一步:缺项要回到模板的字段映射层查,溢出只需调整容器或内容格式。
面对溢出,常见两种做法:改内容去适配模板,或改模板去适配内容。选择依据不是哪个更省事,而是这类内容以后还会不会继续产生。
缺项的处理同理:如果缺失的模块在新模板里确实没有对应位置,要么在子主题里补回渲染逻辑,要么承认这个模块不再需要并清理旧数据。前者要承担后续模板更新的合并成本,后者要确认没有其他页面依赖该模块。
假设你的“案例展示”页在旧模板下有客户名称、行业标签和一段两百字说明,新模板下只剩标题和正文。先在新页面搜索客户名称,搜不到,判定为缺项。接着检查新模板是否注册了该自定义字段的显示位置,如果没有,说明这是模板能力缺口而非数据丢失。
此时的选择是:在子主题里为这个文章类型补一个字段输出区块,或者把客户名称并入正文开头。前者保留结构化数据、便于以后筛选,后者改动快但丢失字段独立性。做完任一步后,重新用同一页面比对,确认客户名称可见且没有把相邻元素挤变形,再决定是否把同一处理推广到其他文章类型。
单页修好不等于全站修好。用同样的搜索比对法再抽三类页面:列表页、带侧栏的单篇、无侧栏的独立页。列表页重点看摘要长度是否触发截断,带侧栏页重点看主内容区变窄后表格是否溢出,独立页重点看宽屏下图片是否被放大到模糊。每类各查一页即可,目的是确认问题来自全局容器还是个别字段。
如果三类页面表现不一致,说明问题出在模板的局部区块而非全局样式,修复范围可以缩小到对应模板文件。如果表现一致,说明是全局容器宽度或字段输出规则的问题,改动一处可能影响所有页面,这时要先在子主题里改并用一页验证,再逐步放开。完成这轮验证后,你才能判断这次模板更换是只影响外观,还是已经改变了内容的呈现边界。