先给结论:报告里的“页数”通常不是“独立URL数”,而是抓取记录、参数变体或分页快照的累计值。去重的第一步不是删行,而是把每一行还原成一个可核对的URL身份,再决定哪些记录应该合并、哪些应该保留。
把报告导出后,先按URL列分组,观察重复行的差异出现在哪里。常见有三类:同一路径带不同查询参数,同一路径带不同结尾斜杠或大小写,以及同一内容对应多个分页或打印版本。三类对应的处理方式不同,混在一起删会导致真实页面被误合并。
一个可操作的动作是新增一列“规范化URL”:去掉用于跟踪的查询参数、统一主机名大小写、统一协议与结尾斜杠。做完这一步再统计唯一值,如果唯一值数量明显低于报告页数,说明多出来的是变体而不是新页面。这个结果会直接决定下一步:变体多就做规则合并,唯一值仍偏多才需要查内容重复。
假设某报告显示120条记录,规范化后剩78个唯一URL。此时不要直接按78去汇报,先抽10条被合并的记录人工打开核对。如果其中两条分别指向移动版与桌面版且内容一致,合并合理;如果一条是列表页、一条是详情页,只是路径相似,就不应合并。
这一步的结果会影响规则强度:抽检中误合并超过可接受范围,就收窄规则,只去掉明确的跟踪参数;误合并很少,才可以把分页、排序参数一并归并。规则一旦确定,应写进处理脚本或表格公式,而不是每次手工判断。
当技术方说“只有78个页面”、运营方说“报告有120页”时,分歧往往不在数字本身,而在“页面”的定义。解决方式是把两种口径并排列出:一列是原始记录数,一列是规范化后唯一URL数,再加一列标注被合并的原因。三方各自抽查若干条,确认口径一致后再对外使用同一个数字。
如果某类URL的合并原因无法用一句话写清,通常说明规则还没定稳,应先回到抽检环节,而不是急着出结论。
去重不是把行数压到最小。带canonical指向的重复页、被robots规则限制的页、以及返回非200状态的页,都应保留在另一张“排除清单”里。它们不计入独立对象数,但影响后续判断:如果排除清单里集中出现某一目录,说明问题出在模板或参数配置,而不是内容本身。
一个实际动作是给每条被排除记录标注状态码与排除理由,再按目录汇总。若某目录的排除比例异常高,下一步应检查该目录的链接生成方式,而不是继续调去重规则。这个顺序能避免把结构问题误判成数据噪声。
把规范化规则、排除清单和抽检记录保存在同一个文件里,下次导入新报告时直接套用。若新报告中唯一URL数与上次相比出现大幅变化,先检查规则是否仍适用,再决定是否更新。请求量或抓取量下降本身不能证明去重正确,它也可能来自抓取预算调整、站点改版或报告时间窗口变化,需要结合排除清单一起看。
最终对外只使用一个口径,并在报告首页注明该口径的含义与生成时间。这样多个角色拿到的是同一份可核对的事实,而不是各自理解的页数。