单一来源不是让内容只出现一次,而是让同一份内容只有一个“权威副本”,其他栏目只引用它。常见矛盾是:你已经把文章归到一个主栏目,却仍被要求出现在活动页、专题页和推荐位;改一次正文,多个入口却出现不同版本。解决方向是区分“归属栏目”和“展示位置”,把编辑动作与展示动作拆开。
同一内容出现在多个栏目,通常有两种解释。第一种是结构问题:内容被复制成多份,每个栏目各存一份正文,彼此没有关联。第二种是流程问题:正文只有一份,但发布、推荐、聚合各自维护展示字段,导致标题、摘要、图片甚至链接不一致。
两种解释的后果不同。结构问题会让后续修改必须逐份同步,漏改概率随入口数量增加;流程问题则表现为“正文一致、周边字段不一致”,例如列表页摘要还是旧版,详情页已经更新。判断时不要只看前台是否重复,而要看后台是否存在多个可编辑的正文副本。
能区分两种解释的证据,不是栏目数量,而是修改路径。可以按下面三项检查:
这些现象只能帮助定位,不能单独证明哪种做法正确。例如搜索命中多条,也可能是草稿、历史版本或不同语言版本,而不一定是重复发布。需要结合修改路径一起看。
如果检查结果偏向结构问题,优先把正文收敛到一条主记录,其他栏目只保存引用关系或展示参数。可以假设一个短例子:一篇文章同时要出现在“行业观察”和“活动专题”。主记录保留标题、正文、作者和发布时间;活动专题只保存排序、角标文案和跳转位置。这样修改正文只需改主记录,活动页的角标仍可独立调整。
这个动作的结果会直接影响下一步。如果引用位能满足展示需求,就不需要为每个栏目建立副本;如果某些栏目必须使用不同标题或不同摘要,则把这些差异明确列为展示字段,而不是复制整篇正文。需要警惕的是,把“不同栏目需要不同措辞”误当成“需要不同正文”,会重新制造多副本问题。
如果正文只有一份,但多个入口显示不一致,问题通常出在展示字段各自维护。此时应明确哪些字段属于主记录,哪些属于展示位。主记录负责正文、主标题、主图和发布时间;展示位负责列表摘要、推荐语、排序和有效期。更新时先改主记录,再检查引用该记录的展示位是否需要同步调整。
一个实际动作是:在发布前列出该内容会进入的所有入口,逐个确认它们是引用主记录还是保存独立字段。这个动作的结果是,你能提前发现哪些入口不会自动跟随正文更新,从而决定是改为引用,还是接受独立维护并把它写进更新清单。适用条件是团队能区分编辑字段和展示字段;如果后台本身不支持引用关系,就只能靠命名和检查清单降低漏改,而不是假设它会自动同步。
并非所有重复都必须消除。若某个入口的内容生命周期明显不同,例如活动结束后要单独保留快照,或不同渠道需要完全不同的标题与摘要,独立维护可能更合适。但此时要接受一个代价:主记录更新后,这些入口不会自动变化,必须有人负责检查。
判断标准是更新频率和一致性要求。更新频繁且要求正文一致时,引用主记录更省事;更新很少且展示差异很大时,独立维护反而更直接。无论选哪种,都要避免同一份正文存在多个可编辑副本却没有人知道哪个是权威版本。把权威副本、引用入口和独立字段写清楚,比追求形式上只出现一次更可执行。