先去区分“同一对象的重复行”和“不同对象被合并成一行”,再决定去重键。多数情况下,你不需要完整权限或全量数据,只要从报告里抽出一小段,用URL、规范化标题、对象ID三类字段做交叉比对,就能判断差异来自抓取重复、参数变体还是对象本身被折叠。去重后数量变化只能说明报告口径被统一,不能直接证明排名、收录或流量因此改善。
报告页数多于实际对象数量,常见原因有三类:同一页面因参数、大小写、结尾斜杠不同被算成多行;列表页或分页被当成独立对象;多个实际对象共用同一个标题或模板,被工具合并成一行。三者处理方向完全不同。
拿你手上的报告,随机抽20行,按下面顺序核对:
?from=、#、大小写或末尾斜杠,若是,属于重复行。如果抽样中重复行占比高,说明问题主要在报告口径;如果抽样中大量不同对象共用同一标题,说明问题在对象识别,去重会误删真实对象,此时不能简单按标题去重。
没有导出权限或完整字段时,可先做“局部去重验证”。取报告前100行,另建一张表,只保留三列:原始URL、规范化URL、对象ID(若无则留空)。规范化只做四件事:去掉跟踪参数、统一小写、去掉末尾斜杠、去掉锚点。然后按规范化URL计数。
动作示例(假设数据):原始100行,规范化后剩72行,其中18行是同一URL的参数变体,10行是分页页。这个结果说明报告页数虚高约28%,但只能说明该样本的口径问题,不能推出全站重复率就是28%。下一步应扩大抽样到不同栏目各20行,确认重复是否集中在某一类页面。
这个动作的结果会直接影响下一步:若重复集中在参数页,优先在报告侧做URL规范化;若重复分散且对象ID缺失,说明需要先补对象清单,再去重,否则会把不同对象误合并。
三种去重键各有适用条件,不能混用:
判断依据不是哪种更省事,而是你的报告里哪类字段最稳定。若对象ID覆盖率高,优先用它;若覆盖率低但URL规律强,先用规范化URL,再把无法归并的行单独列出人工确认。去重后应保留一份“被合并行”的清单,方便回溯,而不是直接删除原始行。
去重后如果仍与实际对象数量不一致,不要急着调整报告,先检查三个方向:对象清单本身是否含已下线对象;报告是否漏抓了部分对象;对象是否存在一对多关系(一个对象对应多个落地页)。
可用一个短例子说明:假设实际对象清单有500条,报告去重后为470行。差额30条中,若20条能在对象清单里找到但报告里没有,属于漏抓;若10条在报告里有但对象清单里没有,属于清单未更新或对象已下线。这两类差额的处理方式不同,前者要补抓,后者要核对清单,不能统一按“报告不准”处理。
报告页数、抓取量或某项统计归零,也不能单独证明去重正确。它还可能来自抓取失败、权限受限、筛选条件变化或对象清单未同步。要结合抽样比对和对象清单交叉验证,才能判断口径是否真的统一。
每次遇到页数与对象数不一致,按这个顺序执行:先抽样判断重复类型;再确定去重键并保留被合并行;然后用对象清单交叉核对差额;最后只对确认属于重复的行做合并,对确认属于漏抓或下线的行分别处理。
这个顺序的价值在于,它把“数量不一致”拆成可验证的小问题,让你在缺少完整数据和权限时也能先完成局部判断。去重只是统一报告口径的一步,它不会自动改变页面在搜索结果中的表现,也不能替代对对象清单和抓取范围的核对。下一步该补数据还是该改清单,取决于差额落在哪一类,而不是取决于去重后数字是否好看。