先给结论:把内容本体放在一个“主记录”里,栏目页只保存引用和展示规则。这样改一次标题、价格或联系人,所有栏目同步更新;反之,如果同一段文字在多个栏目各存一份,维护成本会随栏目数量成倍增加,且很难判断哪一份才是最新。下面以一个资料页为例,说明怎样把它转成可执行的处理方案。
不是所有重复出现的内容都适合合并。判断标准是“改动的触发点是否相同”。
一个可核对的证据是:统计同一段文字在站内出现了几次,再问“下次修改时,我需要打开几个编辑界面”。如果答案大于一,就说明它已经偏离了单一来源。
以读者手中的一个服务介绍页为例,可以按下面三步处理。
完成这一步后,修改一次主记录,所有引用位置同步变化。若某个栏目仍显示旧内容,说明它保存的是副本而不是引用,应优先排查该栏目而不是主记录。
很多人遇到“主记录已更新、某栏目仍旧”时,第一反应是清缓存。缓存确实会造成延迟,但它不是唯一解释。可以按以下顺序区分:
把“没同步”直接归因于缓存,容易掩盖副本问题。先确认栏目里存的是引用还是全文,再决定下一步。
假设某站点在首页、服务页、页脚三处显示同一个咨询电话。现在电话变更,可以这样验证:
如果三处都引用同一条主记录,只需改一次,三处同时更新,下一步应检查是否还有遗漏的独立副本。如果只有首页和页脚更新、服务页没变,说明服务页保存了副本,下一步应把该副本改为引用,而不是再手动改一遍。这个例子的数字只用于说明比较方法,不代表任何真实站点的实际数量。
验证完成后,记录哪些位置属于引用、哪些属于副本。这份清单比“记得都改一遍”更可靠,因为它把依赖关系显式化了。
单一来源会增加前期整理成本:需要先定义字段、确定唯一标识、把已有副本合并。栏目越多、更新越频繁,收益越明显;如果内容几乎不变、栏目只有一两个,强行拆分反而增加维护负担。
另一个取舍是编辑权限。主记录应集中由少数人维护,栏目只调整展示规则。否则多人同时改同一段文字,仍会出现版本冲突。适用条件是:团队能接受“改内容走主记录、改呈现走栏目”的分工。做不到这一点时,单一来源只停留在结构上,实际仍会退回复制粘贴。