先给结论:报告里的“页数”通常不是“唯一URL数”,而是抓取记录、参数变体或分页行的计数。去重时不要直接删行,而要先确定报告用哪一列代表对象,再用规范化URL做归并,最后回看归并前后数量差在哪。下面用一个假设情境说明判断顺序。
假设某站点用SEO辅助工具导出全站抓取报告,报告统计为1200行,但内容团队只维护约800个页面。这里不讨论具体品牌工具,只按通用导出结构分析。差异可能来自四类记录:带跟踪参数的URL、分页与筛选参数、同一内容的多语言或移动端变体、以及重定向链中被记录的中间地址。
此时不要先删掉400行,而应先做一次可核对的抽样。随机取50行,逐行判断它是否指向一个独立内容对象。如果50行里有20行只是同一文章的打印版或带?utm_source=的变体,那么1200与800的差距就有了可解释的来源;如果抽样中大多数是独立内容,则说明“实际对象数量”这个前提也需要重新核对。
“实际对象数量”至少有三种口径:可访问的HTML页面数、有独立内容的规范URL数、以及站点地图中声明的URL数。三者不相等是正常的。若报告按抓取记录计数,一个带分页的列表可能产生十几行;若按规范URL计数,这十几行可能只算一个对象。
因此去重前要写清一行判断规则:以哪个字段作为对象标识,是最终URL、规范标签,还是内容指纹。规则不同,归并结果也不同。这一步不做,后面无论用脚本还是手工删行,都只是把数量调成看起来顺眼,而不是真正对齐。
确定口径后,按以下顺序处理,每一步都保留原始数据,便于回查:
utm_、gclid、fbclid;对分页参数、排序参数先不删,单独标记。动作的结果会直接影响下一步:如果归并后数量接近内容团队维护的页面数,说明差异主要来自参数和变体,接下来只需处理分页与筛选页的索引策略;如果归并后仍明显偏多,则要检查是否存在大量低质或重复生成的页面,此时问题从“去重”转为“内容对象是否应该存在”。
归并后仍有差异时,不要靠感觉判断。可以按下面三类证据区分:
这三类证据要一起看。单独看某一类都可能误判,例如规范标签写错会让真实多页被误归并,而内容相似也可能是模板造成的假象。
归并后若数量仍与预期不一致,先列出可能的合理解释:报告是否包含非HTML资源、是否把重定向中间地址计入、是否抓取了测试环境或历史备份目录、站点地图是否漏列了部分对象。这些解释都能让“数量不一致”成立,不能仅凭某一项统计归零就断定处理正确。
只有排除了这些解释,才回到内容对象本身做增删判断。假设情境中,如果归并后得到约820个对象,而团队维护清单是800个,差额可能来自两个新上线但未登记的页面,而不是去重失败。此时下一步应是补登记,而不是继续删行。