结论先说:单一来源不是让同一篇内容只出现在一个栏目,而是让正文只有一份可编辑的原始记录,其他栏目位置只引用它。判断是否做到这一点,不看页面上看起来是否重复,而看改一次正文后,所有展示位置是否同步变化;如果某处需要单独再改一遍,那里就已经是副本,不是引用。
按直觉,同一内容放进三个栏目,将来就要改三处,栏目越多越麻烦。但实际维护中常出现相反结果:栏目多的站点,编辑反而更少出现版本不一致。原因通常不是栏目本身有好处,而是栏目多到一定程度后,团队被迫放弃“每个栏目各存一份”的做法,转向统一调用。真正决定维护成本的,不是展示位置的数量,而是原始记录的数量。
反过来,只有两三个展示位置的站点最容易偷懒:手动复制一份,改一处忘一处,短期看不出问题,时间一长就出现同一政策两个说法、同一产品两套参数。所以栏目数量不是原因,副本数量才是。
看到“栏目多但不乱”,至少有两种合理解释,不能直接归因于某一种建站方式。
两者短期效果相似,长期差别很大。解释一在人员变动、栏目增减时仍然稳定;解释二一旦换人、赶工或增加新出口,就容易断。把解释二误当成解释一,是很多站点在改版或交接后突然出现内容冲突的常见原因。
要判断自己属于哪一种,可以做一个可核对的小测试,而不是凭感觉。
如果所有位置都变了,说明是引用机制在起作用,属于解释一。如果只有被改的那处变了,其他位置保持旧文,说明它们各自持有副本,属于解释二,只是之前靠人工同步掩盖了问题。这个测试的关键是不手动同步;一旦手动补改,就测不出结构本身的行为。
还有一种中间情况:部分位置是引用,部分位置是复制。这时测试结果会一半同步、一半不同步,恰好能定位出哪些出口需要改造。
假设某站点有一条“服务范围说明”,同时出现在首页推荐位、服务栏目列表页和一个专题页。若采用单一来源,编辑只需修改那条说明的原始记录,三个位置按各自模板重新输出;若采用副本,编辑要打开三处分别改,其中专题页因为不常访问最容易被漏掉。
这个例子里没有真实站点数据,只是用来说明比较方法:看改动次数,而不是看页面数量。改动次数为一,说明结构合格;改动次数随展示位置增加而增加,说明每多一个出口就多一份维护负担。下一步该做什么,取决于这个计数,而不是取决于栏目好不好看。
把副本改成引用不是没有代价。引用要求正文有稳定的标识,栏目模板能按标识取数,编辑权限也要相应调整:能改正文的人不一定能改栏目布局,能排栏目的人不一定能改正文。这些约束在内容量小、出口固定时可以放宽;一旦出口超过两三个、且会持续增加,约束带来的收益通常超过麻烦。
需要说明的适用条件:如果某处展示本来就需要不同措辞,比如列表页要短摘要、专题页要完整版,那不应该强行共用同一段文字,而应共用同一份事实来源,再各自生成摘要。把“必须逐字相同”当成单一来源,反而会逼出更多副本。单一来源管的是事实和正文的归属,不是所有页面文字必须一模一样。
最后,抓取量、收录量或某个展示位置流量归零,都不能单独证明单一来源处理正确,它们还受入口、模板和抓取安排影响。可靠的判断仍然是那个改动测试:改一次,看有几处跟着变。