先确定一个“主存放位置”,其他栏目只做引用或摘要,不再各自保存一份可独立编辑的正文。具体做法是:在数据库或内容模型里给这条内容分配唯一标识,栏目页只保存指向该标识的关系;列表页、标签页、推荐位通过查询呈现,而不是把正文复制过去。这样做的直接结果是,修改一次主内容,所有引用位置同步变化,不必逐栏核对。
不是所有重复都值得改成单一来源。判断依据可以看两个条件:第一,同一段正文是否会在两个以上栏目长期同时出现;第二,这些栏目是否由不同人维护。如果只是短期活动页在两个入口各放一周,复制一份反而更省事。如果某条政策解读既属于“办事指南”又属于“政策解读”,且两个栏目各有编辑,那就应转为单一来源。
一个可操作的检验动作:打开两个栏目的编辑后台,分别修改同一段文字中的同一个错别字,保存后观察另一处是否变化。若两处互不影响,说明当前是两份独立数据,后续必然出现版本分叉。这个动作的结果决定了下一步是继续维护两份,还是先合并数据。
单一来源不等于只出现一次,而是把“内容实体”和“栏目归属”分开存。内容实体保存标题、正文、附件、作者、发布时间;栏目归属保存内容ID与栏目ID的对应关系。这样一条内容可以属于多个栏目,但正文只有一份。
假设一个信阳本地服务类站点,把“办理材料说明”同时放进“办事指南”和“常见问题”。若采用两层数据,常见问题栏目只存内容ID和排序值,页面渲染时读取办事指南那条正文。此时若在常见问题里改一个字,实际改的是主内容,办事指南同步变化。若业务上确实需要两个栏目显示不同措辞,就不应强行合并,而应拆成两条内容,各自有唯一标识,避免用“同一来源”掩盖真实差异。
需要留意的适用条件:内容模型支持关联字段或中间表。如果旧系统只有“栏目—文章”一张表,没有独立内容表,就要先评估改造成本,不能只靠前端隐藏重复入口。
当旧栏目、旧系统或旧合作关系需要退出,直接删除正文会让其他引用位置出现空链接或空白区块。更稳妥的顺序是:先查引用关系,再决定保留、迁移还是归档。
这个动作的结果会直接影响下一步:如果引用关系无法枚举,说明系统缺少关联查询能力,此时贸然删除正文风险较高,应先补一个只读的引用清单,再执行退出。
单一来源改造后,旧地址可能仍然被用户收藏或被外部页面引用。对确实需要保留访问的旧地址,可以设置跳转到新的主内容地址;对已经无对应内容的旧地址,返回明确的失效状态,而不是继续返回一份过期副本。
这里要区分两种现象:某条旧地址访问量下降,可能是跳转生效、用户改从新入口进入,也可能是外部链接自然减少,不能仅凭访问量归零就断定处理正确。同理,抓取量变化也受站点整体调整影响,需要结合引用清单一起看。
技术示例中,若旧页面输出的是静态文件,可在服务器配置里把旧路径指向新路径;若旧页面由程序渲染,则在读取内容时先查主内容标识,查不到再走归档逻辑。无论哪种方式,都不应在新旧两处各留一份可编辑正文。
单一来源能否长期成立,取决于日常维护是否有人对主内容负责。可以约定三条规则:主内容只能在其所属内容模块中编辑;栏目页只调整排序、摘要和展示样式;需要改正文时,从栏目页跳转到主内容编辑入口。
为了便于核对,可以在内容实体上记录最后修改时间和修改人,并在栏目引用处显示“来源”标识。这样当两个栏目显示不一致时,能快速判断是缓存、引用错误,还是有人绕开主内容直接改了副本。发现副本后,应把差异合并回主内容,再删除副本,而不是两边各改一次。
这套规则不承诺收录或排名结果,它解决的是同一内容多栏目出现时的版本混乱和退出困难。对信阳做网站的团队来说,先选一条正在多栏目出现的内容做试点,跑通“主内容—引用—退出”的完整流程,再推广到其他栏目,比一次性全站改造更容易控制风险。