先给结论:不要按“句子像不像”去重,而要按“这条事实在读者决策中承担什么角色”去重。以你手上那篇用户生成内容页面为例,先给每条重复事实标注它回答的是哪一个问题;同一问题只保留证据最完整、可核验条件最清楚的一处,其余位置改成指向那处的短句或删除。若两处事实相同但服务的问题不同,保留两处,但必须让措辞、上下文和下一步动作明显不同。这样处理的结果是页面变短、每条事实的责任变清楚;下一步才值得去检查内链和摘要是否还把读者带到正确位置。
把页面里的重复事实分成三类,比逐句改同义词有效得多。
判断标准不是字数,而是:删掉这一处后,读者是否还能完成原本要做的判断。能完成,就是冗余;不能完成,就不是。
假设你正在处理一个用户生成内容页面,其中“提交后不会立即显示”这句话出现了四次。不要先改词,按下面顺序做。
这个动作的直接结果是:页面里同一事实的出现次数下降,但每个保留位置都对应一个明确的读者动作。下一步应检查站内搜索摘要、目录锚点和相关推荐是否还指向被合并的位置,否则读者会落到一段缺少前提的短句上。
上面的做法在少量页面时容易成立,因为你能逐条读完上下文。规模变大后会出现两个例外。
第一,跨页面重复不等于页面内冗余。同一事实出现在三篇不同文章里,如果每篇的读者入口不同,直接删到只剩一篇,会让另外两篇的读者在关键判断处断掉。此时更稳的做法是保留最短的必要说明,并把详细条件集中在一处,而不是全部删除。
第二,模板化生成的段落不能只靠去重解决。如果同一事实由固定模板反复产出,且每次只替换名词,那么合并句子只是表面处理。需要回到产生这些段落的规则:哪些字段本来就该只出现一次,哪些字段允许因页面角色不同而重复。没有这一步,下一批内容还会长出同样的重复。
一个假设的短例子:某站点有 20 个用户生成内容页面,每页都写“内容需经审核”。如果直接把 19 处删掉,只留一处,那么从站内搜索直接进入其余页面的读者可能不知道审核存在。更好的做法是每页保留一句最短提示,把审核时长、例外情况和申诉方式集中到同一篇说明里,其余页面只链接过去。这个例子的数字仅用于说明比较方法,不代表任何真实站点的数据。
处理后如果某个页面的请求量、抓取量或站内搜索点击下降,不能直接判定是去重造成的。合理解释至少还有:入口位置变了、摘要不再匹配读者问法、页面被其他页面替代、统计口径本身变化。反过来,某个页面的这些数字上升,也不能证明合并动作正确,可能只是它承接了被删页面的流量。
更可靠的验证方式是抽读:从每个保留位置出发,看读者能否在不跳转的情况下完成当前判断;如果需要跳转,跳转目标是否仍然存在、是否回答了同一个问题。这个检查不依赖任何固定字数、关键词密度或标题长度阈值,也不存在适用于所有站点的通用数值。
做完一轮后,不要只留下改过的页面,还要留下判断规则,否则下一次仍会重复。规则可以很短,但要能回答三个问题:这条事实服务哪个读者问题;同一问题下哪一处是主位置;其他位置是删除、压缩还是保留并补不同后果。
如果规则里出现“同义词替换即可”“每段都必须出现一次”这类写法,说明它还没有区分问题,只是把重复藏得更深。真正可复用的规则应当让编辑在遇到新页面时,能直接判断该合并、该保留,还是该回到生成环节修改模板。最后,把规则和本轮改动一起交给下一位编辑,让他按同样顺序检查一遍,才能确认合并后的页面仍然支持读者做出原本要做的决定。