核心做法是:先为参数定义一套“有效地址”的判定规则,把无限组合收敛成有限的可枚举集合,再让站内链接、站点地图和抓取规则都只指向这个集合。假设某电商筛选页有颜色、尺码、排序、页码四类参数,每类各有若干取值,理论组合数会迅速膨胀到很大;但真正需要被收录的,往往只是其中一小部分有独立搜索价值的组合。下面用一个明确标为假设的情境,把定义过程拆开写。
有效地址集合的边界,取决于参数是否改变页面的核心内容,而不是参数数量多少。可以按三类处理:
判断依据可以核对:把两个仅参数不同的地址分别抓取,比较返回的主体文本、标题和结构化数据是否一致。如果主体一致,只是顺序或展示不同,就倾向于只保留一个代表地址。这一步的结果直接决定下一步能枚举出多少地址。
出现与直觉相反的结果时,比如加了参数后抓取量上升但有效页面没有增加,不要直接下结论。可以准备一组对照地址,记录以下证据:
如果正文重合、规范链接又各自指向自己,通常说明重复信号未被收敛;如果正文不同,则说明该参数可能值得进入有效集合。需要说明的是,抓取量归零或某项统计下降,不能单独证明处理正确,也可能是抓取预算转移、站点地图未被读取或服务器响应变化造成的,必须结合上述多项证据判断。
定义清楚后,要落成团队能执行的规则,而不是停留在口头约定。假设情境:某站点有颜色和尺码两个筛选参数,颜色有独立搜索需求,尺码只是同款商品的规格切换。可以这样定义:
规则写好后,下一步动作是检查站内链接和站点地图是否只输出这个集合。如果站点地图仍包含被排除的参数组合,抓取请求可能继续分散,前面的定义就形同虚设。站点地图不保证收录,它只是把候选地址提交出去,因此集合本身必须先收敛正确。
当参数组合无法在链接层面完全收敛时,可以用抓取规则限制部分路径。但要注意:robots.txt 的抓取限制不等于可靠的索引移除。被限制抓取的地址如果仍被外部链接指向,仍可能出现在结果中,只是内容无法被完整读取。因此更稳妥的顺序是:
这套顺序的结果是:抓取预算更集中,有效地址更容易被完整处理。如果反过来先封禁再整理链接,往往会出现有效页面也被误挡的情况,后续排查成本更高。
参数的有效性会随业务变化。假设某筛选维度原本没有独立需求,后来因为用户搜索习惯变化而变得有价值,那么它就需要从排除项移入有效集合。复核时可以固定检查三件事:有效集合中的地址是否仍返回独立主体内容;被排除的组合是否仍有大量外部链接指向;站点地图与站内链接是否仍与规则一致。只要其中一项出现偏离,就回到第一步重新判断参数类别。把有效地址集合当成一份需要维护的清单,而不是一次性的设置,参数无限增长的问题才会持续可控。