把内容拆成“主记录”和“引用位”两层:主记录只存一份,负责标题、正文、附件和更新时间;其他栏目只保存指向主记录的引用关系。这样改一次主记录,所有引用位同步更新,不会出现同一段文字在两个栏目里各自演化。下面以你手里那份“既在新闻又在案例、还被首页推荐”的资料为对象,逐步转成可执行方案。
很多重复不是内容重复,而是展示需求重复。先做一次归类,结果决定用引用还是用独立记录。
判断依据是“改一处是否应该带动另一处”。如果答案是应该,就属于引用关系;如果改动需要分别判断,就属于派生或独立。
具体动作:为这条内容建一个稳定的主记录标识,例如用统一字段保存,而不是依赖标题或 URL。假设你给主记录分配 content_id: 1042,那么新闻栏目、案例栏目、首页推荐位都只保存这个标识和各自的展示参数,不再各自保存一份正文副本。
结果会直接改变下一步:编辑在任意栏目点“编辑”时,系统应跳到主记录,而不是就地修改。如果当前后台做不到跳转,就先在流程上加一道人工约束——所有跨栏目修改都回到主记录完成,栏目页只负责调整排序和摘要。这一步不做,后面的同步规则都无从谈起。
主记录不必等于最终展示文本。可以把它当作事实层,栏目视图当作表达层。
这里的关键取舍是:摘要允许栏目各自维护,正文和事实字段只允许主记录维护。因为摘要属于展示裁剪,正文属于事实来源,混在一起就会重新制造多份真相。
已经散落在多个栏目的旧副本不会自动消失。按下面顺序处理,避免边改边乱。
注意一个反常现象:删除副本后某些页面抓取量或访问量短期下降,不能单独证明归并做错了。更合理的解释还包括缓存未刷新、内链指向旧地址、列表排序变化。先核对跳转和缓存,再判断是否需要回退,而不是立刻恢复副本。
维护单一来源不是建完就结束,需要能验证。选一个可执行动作:修改主记录标题中的一个词,然后检查所有引用位是否同步变化、是否有位置仍显示旧标题。
结果如何影响下一步:如果全部同步,说明引用关系成立,可以继续归并下一批;如果部分位置未变,说明该位置仍保存着独立副本或缓存,应先定位并改为引用,再扩大范围。这个动作不依赖任何特定建站工具,用人工检查即可完成,也不需要假设后台具备某种自动同步能力。
适用条件也要说清:单一来源适合事实一致、需要跨栏目复用的内容,例如企业介绍、产品参数、服务说明、案例事实。对于需要各栏目独立语气、独立时效的营销文案,保留派生视图而不强行合并,反而更稳。