核心答案是:不要把“所有能返回200的带参URL”都当作有效地址。对高权重域名而言,参数组合无限增长时,有效地址集合应由“业务上可独立提供价值、且能被稳定复现的页面”来定义,而不是由爬虫能否拼出URL来定义。旧系统或旧合作关系退出时,先按“是否仍有独立搜索需求或站内导航价值”分成保留与退出两类,再决定哪些参数组合进入集合。
条件一:参数只影响展示方式,不影响主体内容。例如排序、每页条数、会话标识、来源跟踪。这类组合应归入同一有效地址,只保留一个规范形式,其余通过规范标签、链接收敛或服务端重定向指向它。条件二:参数改变的是内容子集或筛选结果,且该子集有独立价值。例如按地区、按型号、按年份筛选出的商品或文档列表。这类组合可以有条件地进入有效地址集合,但必须满足“可稳定复现、有唯一标题与描述、有站内入口”三个前提。
判断依据不是参数个数,而是参数是否改变用户看到的核心信息。假设一个旧站有?color=、?size=、?page=三个参数,颜色和尺寸组合出大量变体,但每个变体只是同一商品的属性切换,没有独立正文,那么有效地址集合只保留商品主地址。若其中某个颜色组合对应独立库存、独立价格说明和独立问答,且这些内容不会被主地址覆盖,才考虑单独保留。
实施动作可以分三步。第一步,从访问日志、站点地图和内部链接中抽取参数组合样本,按参数语义分组,而不是按URL字符串去重。第二步,为每组标注“保留”“合并”“退出”三种处理。第三步,对“退出”的地址,先确认它没有被外部链接或站内导航引用,再决定返回404还是410;如果仍有少量外部引用且内容已迁移,用301指向最接近的保留地址。
这个动作的结果会直接影响下一步:如果退出地址仍被大量内部链接指向,先改内部链接再提交移除,否则移除信号会被新发现的链接抵消。如果保留地址依赖参数才能访问,却没有任何站内入口,它就不满足“可稳定复现”,应降级为合并对象。
假设某旧站有?year=2019&type=a这类筛选页,共约数千个组合。检查后发现:只有“年份+品类”这一层有搜索需求和站内导航,更细的“年份+品类+品牌+页码”没有独立入口。此时有效地址集合只纳入“年份+品类”层,其余组合合并到该层或退出。动作是:保留层加规范标签和站内链接,退出层返回404,并更新站点地图只保留保留层。结果是爬虫预算集中到保留层,但收录仍取决于页面质量和外部引用,不能把站点地图当作收录保证。
例外一:参数用于分页。分页地址通常应保留可访问性,但不一定进入需要独立排名的集合,可以用规范指向系列首页或保留自引用规范,具体取决于内容是否逐页独立。例外二:参数用于会话或追踪。这类地址不应进入有效集合,但也不能只靠robots.txt禁止抓取,因为抓取限制不等于可靠的索引移除。例外三:旧合作关系留下的带参入口。若合作方仍引用该地址,先确认合作是否真的结束,再决定重定向还是退出。
容易误判的信号包括:某组参数访问量归零,不代表它一定该退出,也可能是入口被移除或抓取被限制;某组参数返回200,也不代表它值得保留,可能只是系统默认响应。判断时应同时看内部链接、外部引用、页面正文差异和站内搜索词,而不是只看单一指标。
最后要记住:有效地址集合是一个业务决定,不是爬虫发现能力的副产品。先定义哪些地址对用户和站内导航仍有独立价值,再让技术处理去匹配这个集合;这样旧内容、旧系统或旧合作关系退出时,保留下来的部分才有明确边界,退出动作也不会误伤仍被引用的地址。