结论先说:把“唯一正文”放在一个固定位置(通常是一个独立内容类型或独立表),其他栏目只引用它的标识,不复制正文。这样改一次就能全局生效。但如果你们的栏目需要各自独立的标题、摘要甚至正文版本,这个结论就失效——那时应改成“主记录+受控副本”,并明确谁负责同步。
很多维护混乱不是技术问题,而是定义问题。先回答一句:两个栏目里的这段文字,未来会不会分别修改?
这个判断决定了后面所有动作。判断错了,越“统一”越难维护。
单一来源能长期成立,通常满足三个条件:
content_id,标题和网址可以变,标识不变。满足这些条件时,改一次正文,所有引用它的栏目页同步变化。常见做法是把正文放在独立内容类型里,栏目通过标识关联;列表页只输出标题、摘要和链接。这里的假设是:栏目页由服务端或构建时组装,而不是编辑手工粘贴。
假设一家做工业配件的鸡西企业,同一款产品既出现在“新品”栏目,又出现在“解决方案”栏目。两个栏目对同一产品的标题写法不同:新品栏目强调型号,解决方案栏目强调适用工况。如果强行共用一个标题字段,编辑每次都要在两种表达之间妥协。
这时更合适的是“主记录+受控副本”:主记录保存产品参数和正文,两个栏目各自保存标题与摘要,并记录它们引用的主记录标识。代价是需要一个同步检查动作,例如主记录正文更新后,列出所有引用它的栏目条目,人工确认摘要是否要跟着改。不做这一步,副本就会悄悄过期。
不要先动模板。先导出一张清单:每条内容被哪些栏目引用、引用方式是标识关联还是正文复制。只做这一件事,就能看出风险集中在哪里。
结果会直接影响下一步:
注意,引用清单里出现重复并不等于处理正确,也不等于处理错误;它只说明存在多个入口,真正要判断的是这些入口背后是不是同一份数据。
单一来源不是“只存一份就完事”。至少要约定三件事:谁有权修改主记录,栏目编辑能否改摘要,以及删除主记录时引用它的栏目如何处理。最后一项最容易被忽略:主记录被删除后,栏目页可能出现空位或报错,因此删除前应先检查引用清单。
如果你们的站点还在用人工复制的方式维护多个栏目,可以先从更新最频繁的一类内容开始改成引用,观察一个维护周期后再推广。这样即使判断有误,影响范围也可控。