结论先行:把内容正文保留在一个“主记录”里,其他栏目只引用或聚合,而不是复制一份再各自编辑。判断是否已经失控,不看前台是否好看,而看同一段文字能否在两个后台位置被独立修改。如果能,单一来源已经不存在,后续的更新、下线与纠错都会分叉。
河北网站开发项目里常见一种做法:编辑希望某篇文章既出现在“行业资讯”,又出现在“解决方案”,于是两个栏目各建一条内容。短期内确实方便,各自排序、各自配图、各自写摘要。矛盾出现在第一次修改时:改了一处,另一处仍是旧说法,读者在站内看到两种口径。
更反直觉的是,重复内容本身通常不是最严重的问题,真正麻烦的是修改权限与修改记录被拆散。当同一段介绍分别存在两条记录里,谁改过、以哪条为准、旧版本是否还需要保留,都变得难以回答。前台看起来只是多了一个入口,后台却已经变成两个事实来源。
面对上述现象,通常有两种解释,处理方式完全不同。
如果两个栏目展示的是同一条记录,只是通过标签、关联字段或聚合规则出现在不同列表里,那么正文只有一份。此时“重复”是展示层的,修改一次即可全站生效。这种重复通常可以接受,前提是列表页的标题、摘要和排序规则不会反过来覆盖正文。
如果两个栏目各自保存了标题、正文、图片和附件,那么它们已经是两条独立记录。即使初始内容完全相同,后续也会因为编辑时间、审核人、上下架状态不同而分叉。分叉后,任何一次纠错都必须在多个位置完成,遗漏一处就会产生旧信息。
区分这两种解释,不能靠“看起来一样”,而要看后台是否存在两个可独立编辑的正文输入区,以及修改其中一处后另一处是否同步变化。
最直接的动作是:选择一条同时出现在两个栏目的内容,在其中一个位置修改一个不影响排版的短句,保存并刷新另一个位置,观察是否同步。
这个测试的结果会直接决定下一步:同步的,只需整理展示规则;不同步的,要先确定哪一条是主记录,再把另一条改为引用或下线,而不是继续在两条上同时维护。
需要说明的是,前台出现两条相似内容,也可能是缓存未刷新、索引延迟或列表规则重复匹配造成的。这些现象与记录分叉的表现相似,但通过上述修改测试可以区分:缓存和索引问题通常在刷新或等待后消失,而记录分叉会稳定地保留两份不同结果。因此,不能仅凭“搜索里看到两条”就断定内容架构有问题。
确定要维护单一来源后,常见的处理是:保留一条主记录,其他栏目通过关联、标签或聚合引用它。这样做的代价是,各栏目的独立排序、独立摘要和独立配图会受到限制,编辑不能再为每个入口单独写一段导语。是否接受这个代价,取决于两个条件:
一个假设例子:某河北网站开发项目把“售后服务说明”同时放进“服务支持”和“关于我们”。若两处引用同一条记录,修改服务电话时只需改一次;若两处各存一份,改一处后另一处仍显示旧号码,读者会得到矛盾信息。这个例子里,判断依据不是哪一页更好看,而是修改后另一处是否同步。
最后要落实的是责任归属:主记录由谁维护、其他栏目由谁决定是否引用、下线时先处理哪一端。把这些写清楚,单一来源才不会在下次栏目调整时再次分叉。