报告里的页数比站点实际对象多,通常不是工具算错,而是“被统计的对象”和“你心里的页面”不是同一个集合。先别急着删行,去核对报告里每条记录携带的标识:如果同一 URL 带不同查询参数、不同协议或不同结尾斜杠各占一行,这是统计口径问题;如果同一内容挂在多个 URL 上且都能独立访问,那是站点结构问题。两者的处理方式完全不同。
口径重复指工具把同一对象的不同表现形式分开计数,比如带跟踪参数的链接、大小写不同的路径、带与不带末尾斜杠的写法。这类重复只存在于报告里,站点本身没有多出内容,去重的动作应该发生在导出后的数据层,而不是去改站点。
真实重复指同一份内容确实可以通过多个 URL 打开,例如列表页分页参数、打印版、会话 ID 版本。这类重复会被抓取、可能被索引,去重动作要落到站点层:选定一个规范地址,其余地址做跳转或声明规范。判断依据很简单:把报告里疑似重复的两条分别打开,看是否落到视觉和内容完全一致的页面。
取报告里重复出现的一组记录,逐条比对四个字段:完整 URL、HTTP 状态、页面标题、内容主体首段。如果标题与首段一致但 URL 只差参数或斜杠,归入口径重复;如果标题一致但正文有细微差别(比如分页列表),归入真实重复中的“近似重复”,需要单独决定是否保留。
再看抓取记录的时间戳。同一 URL 在相近时间被重复抓取,往往说明站内链接同时指向了多个变体;如果重复记录的时间跨度很大,更可能是历史地址未清理。这个区分会直接影响下一步:前者要改站内链接,后者要做跳转映射。
假设报告导出 1200 行,你怀疑其中约 300 行是重复。可以按下面的顺序处理,每一步的结果决定下一步:
这里的关键动作是第 2 步的实际访问。只靠 URL 字符串相似度去重,会把内容确实不同的页面误删;而访问一次的成本远低于误删后重新排查的成本。
如果按上述流程处理后,报告行数仍高于预期,常见遗漏条件有三个:报告是否包含重定向链中的中间地址、是否包含被屏蔽但曾被记录的地址、是否把资源文件(图片、脚本)计入了页面数。前两个需要在工具的过滤设置里排除,第三个要核对报告字段定义,确认“页数”统计的是文档还是全部请求。
具体工具对“页面”的判定口径不同,有的按内容类型过滤,有的按状态码过滤,这些设置的位置和默认值需要以你所用工具的当前说明为准,不要照搬其他工具的选项名称。
去重一次不够,因为新内容上线会带来新的参数变体。把这次确认的规范规则写成简短清单:哪些参数必须忽略、末尾斜杠统一成哪种写法、哪些路径属于必须跳转的历史地址。下次导出报告时先按清单过滤,再进入分析。这样报告页数才会稳定接近实际对象数量,而不是每次都要重新判断一遍。