当筛选、排序、分页、会话标识等参数可以任意组合时,地址空间在数学上是无限的,而任何站点都不可能也不应该让全部组合进入索引。可行的做法不是追求“全部收录”,而是先定义一组有限、可判定、可复现的有效地址集合,再把其余组合明确归入非有效集合,并用可核对的现象去验证这个划分是否被正确执行。下面用一个假设情境把决策过程串起来。
假设某商品目录页支持三种参数:color、size、page。单看每一种都很正常,但三者可以同时出现,于是组合数迅速膨胀。直觉上会认为“参数越多页面越具体,越该被收录”,可实际观察到的结果往往相反:带三四个参数的地址大量处于未收录状态,而只带一个参数的地址反而更容易被抓取。这不是矛盾,而是有效地址集合没有被定义过的典型表现。
把决策拆成三步:先确定哪些参数组合在业务上代表一个独立、稳定、有搜索价值的内容单元;再确定用什么信号告诉抓取端哪些组合属于这个集合;最后用一组可核对的证据判断划分是否生效,而不是只看“收录数量有没有涨”。
定义有效地址集合时,最容易被误用的标准是参数个数。真正可判定的标准是:这个组合渲染出的页面,是否与集合内其他地址存在实质内容差异,并且这种差异对用户有独立意义。
据此可以给出一个有限集合的定义方式:有效地址 = 基础路径 + 一组经过枚举确认、彼此内容不重复的参数取值。枚举的前提是参数取值本身有限。如果某个参数取值来自用户输入或时间戳,它就不具备可枚举性,应当直接排除在有效集合之外。
定义好有效集合后,需要对非有效组合做处理。常见动作是限制抓取,但这里有一个必须澄清的事实:robots.txt 的抓取限制不等于可靠的索引移除。被限制抓取的地址仍可能因为外部链接等原因出现在索引中,只是抓取端无法读取内容来更新它。因此限制抓取适合用来减少无效抓取,不适合当作“把已收录地址删掉”的手段。
另一个常见动作是提交站点地图。站点地图不保证收录,它的作用是声明“这是我认为的有效集合”,帮助抓取端发现地址,而不是强制其进入索引。所以站点地图应当只放有效集合,把无限组合排除在外;如果站点地图里混入大量参数组合,反而会稀释有效集合的信号。
假设情境中的实际动作可以是:把 color 与 size 的合法取值组合写入站点地图,把 page 限制在有限页数内,其余组合通过抓取规则挡掉。执行后需要观察的不是“收录总量”,而是有效集合内地址的抓取与收录是否趋于稳定,以及非有效组合是否停止产生新的抓取请求。
当有效集合内出现未收录时,至少存在几种合理解释,不能只归因于“参数没处理好”。可以按以下证据区分:
这些现象各自对应不同的下一步动作。若是重复问题,应回到第一步重新核对内容唯一性;若是发现不足,应检查内链与站点地图;若是抓取限制无效,应检查规则语法与作用范围。请求量或抓取量归零本身不能单独证明处理正确,因为那也可能只是抓取端暂时降低了整体抓取。
面对参数无限增长,建议按固定顺序推进,避免在证据不足时反复改动:
这套顺序的关键在于:有效地址集合是一个需要主动定义并持续维护的有限清单,而不是参数空间的自然产物。只有当清单本身清晰、可枚举、可核对时,网站不收录的问题才会从“参数太多”变成“哪些地址值得被收录”这个可以逐项处理的具体问题。