结论先说:只有当每个内容条目都有唯一主记录、其他栏目只保存引用时,单一来源才成立;如果多个栏目各自存一份正文,哪怕初期看起来一致,规模化后也会分叉。判断是否该继续沿用当前做法,关键不是栏目数量,而是正文、标题、摘要、图片和链接字段是否被复制到了第二处。
同一篇内容进入多个栏目,常见于新闻、案例、产品、专题和标签页。真正需要单一来源的,是那些一旦改动就应处处同步的字段:正文主体、主标题、主图、发布日期、作者、状态。可以允许各栏目独立维护的,是排序、栏目内推荐语、栏目专属角标、上下架时间这类展示属性。把这两类混在一起,是后期维护失控的主要原因。
一个可执行的动作是:在内容模型里把正文和主标题定义为主记录字段,把栏目位置定义成关联表。做完这一步,编辑在任一栏目修改标题时,其他栏目会同步变化;而调整某栏目排序时,不会碰到正文。下一步就能用“改一次标题,看几个栏目变化”来验证模型是否正确。
单一来源并非无条件成立。假设一个遵义本地装修案例,同时进入“住宅案例”和“商业空间”两个栏目。起初只改标题和排序,引用方案没有问题。但运营一段时间后,商业空间栏目需要把同一案例的开头改成面向商户的表述,并替换主图。此时如果仍强制共用一份正文,编辑要么在正文里写两套开头,要么被迫复制一份新内容。
这个反例说明:当同一素材在不同栏目承担不同说服任务,且差异已经进入正文层面时,继续维护单一来源会制造更多协调成本。边界在于差异发生在展示属性还是内容主体。前者适合引用,后者应考虑拆成两条主记录,再用关联字段标明“同源案例”。
如果判断仍适合单一来源,可以按下面的顺序调整:
content_id,不随栏目或标题变化。content_id、排序值和栏目专属文案,不存正文副本。做完第 2 步后,可以故意修改一条主记录的摘要,检查各栏目是否同步。如果某个栏目没变,说明该处仍是副本,需要继续排查。这个动作的结果会直接决定下一步是补引用关系,还是接受该栏目独立维护。
正文引用正确,不代表单一来源已经稳固。常见分叉还有三类:一是图片被各栏目分别上传,导致替换主图后旧栏目仍显示旧图;二是链接字段被写成绝对地址,栏目改版后指向失效;三是状态字段各自维护,主记录已下线而某栏目仍在前台展示。
对应动作是:图片只保留一个媒体标识,链接使用相对路径或统一解析规则,上下线状态以主记录为准。完成后再抽查一个已下线条目,确认所有引用栏目都不再展示。若仍有一个栏目可见,优先检查该栏目是否缓存了状态副本,而不是直接改模板。
出现以下信号时,继续维护单一来源的收益会低于成本:同一素材需要两套正文开头且都要长期保留;两个栏目对主图尺寸和文案口径要求冲突;其中一个栏目需要独立的历史版本或独立审核流程。此时更稳妥的做法是拆成两条主记录,用同源标识关联,而不是在一条记录里塞入条件判断。
拆分的代价是后续修改要改两处,所以只应在差异已经稳定、且短期内不会合并时采用。若只是临时活动需要不同措辞,仍可用栏目专属摘要解决,不必拆正文。下一步动作是列出当前所有跨栏目内容,标记差异发生在展示层还是正文层,再决定引用还是拆分。