先给结论:页数大于对象数,通常不是工具“多算了一遍”,而是同一对象在报告里出现了多个可识别身份,比如带参数的网址、重定向后的最终地址、不同子域或镜像页。去重的正确做法是先定义“对象”是什么,再决定按网址、按页面主体还是按业务实体合并。如果对象本身就是页面,按规范化网址去重;如果对象是产品、门店或文章,必须按业务主键去重,否则会把不同页面误当成同一个对象删掉。
这是决定去重方式的分水岭。报告页数来自抓取或查询结果,天然以网址为行;而实际对象数量可能以产品、SKU、门店、文章或关键词为口径。两者不一致,先问一句:这份报告最终要回答的是“有多少个可访问页面”,还是“有多少个业务对象”?
选择依据是报告的下游用途。用于技术排查,页面口径更合适;用于库存、内容盘点或渠道覆盖统计,业务实体口径更合适。混用两种口径,就会反复出现“对不上”的争论。
假设一份报告有1200行网址,业务上只有1000个页面。先不要急着删行,而是生成一个规范化列,再按该列统计唯一值。可执行的规范化顺序如下:
/a 与 /a/ 视为同一对象。动作的结果会直接影响下一步:如果规范化后唯一网址数等于业务对象数,说明此前只是网址写法分散,去重即可收尾;如果仍然多出,说明存在一对象多页面的真实结构,需要进入业务主键去重。
当对象是产品、门店或内容时,同一个实体可能同时有PC页、移动页、AMP页、多语言页或不同渠道落地页。此时正确做法不是删页面,而是把多个网址归并到一个实体ID下,报告输出“实体数”和“页面数”两列。
可区分原因的证据包括:网址不同但标题、主图、价格、库存或正文主体一致;多个网址最终指向同一规范地址;同一实体ID在数据源中重复出现。满足其中一项,通常可以归并;如果只是标题相似但主体内容不同,应保留为不同对象。
假设某报告显示500行网址、实际只有300个产品。按SKU归并后得到300个实体、500个页面,这是合理结果,不应强行压成300行。下一步应检查这500个页面里哪些是重复内容、哪些是必要的多端入口,再决定是否做规范标签或合并。
个别样本成立不代表可以照搬。小样本里“去掉所有参数”可能有效,规模化后可能误删分页、筛选或语言版本,导致对象数被低估。反过来,完全不删参数又会把同一对象算成多个。
边界条件有三条:第一,参数是否改变页面主体内容,改变则保留,不改变则可去;第二,重定向是否稳定,临时重定向或链式跳转不应作为唯一去重依据;第三,业务主键是否唯一且稳定,如果主键本身会复用或缺失,去重结果就不可靠。
最后提醒:报告页数归零或某项统计突然下降,不能单独证明去重正确。它也可能是抓取失败、过滤条件过严或数据源变更造成的。判断去重是否成立,要同时核对唯一对象数、抽样页面的主体内容,以及去重前后业务口径是否一致。