核心做法是:不要试图枚举全部参数组合,而是先按“参数是否改变页面主体内容”把URL分成两类——改变内容的进入有效地址集合,只改变展示方式或跟踪信息的全部排除。在缺少日志和抓取数据时,这个判断仍可执行:手动抽取同一商品页的若干参数变体,比对标题、价格、库存、规格等主体字段,再据此写出只允许必要参数出现的规范化规则。但必须清楚,这样得到的集合只是“应当被收录”的声明,不能据此推断搜索引擎一定会收录或一定不收录。
网店的筛选、排序、分页、会话、来源跟踪都可能生成新的URL。参数越多,理论上地址空间越大,但实际被处理的往往只是其中一小部分。常见的两种解释是:
这两种解释对应完全不同的动作。如果是第一种,重点是收缩可抓取集合;如果是第二种,重点是确认归并是否符合预期,而不是继续加规则。仅凭“收录数没涨”无法区分二者,因为收录数还受内容质量、站点权重、链接发现路径等因素影响。
有服务器日志或抓取统计时,按参数名和参数值分组统计请求量,重点看三件事:
如果前两类请求占比高、第三类长期缺失,更接近解释一。如果日志显示变体请求很少,而带参数的地址仍出现在结果中,则更接近解释二,需要检查这些地址是否通过内链或站点地图被主动暴露。
缺少日志权限时,可执行的最小动作是:选取一个商品,手动构造五到十种常见参数变体,记录每个变体的标题、价格、库存、规格和主要文案。若这些字段完全一致,就把该参数归入“不改变主体内容”;若至少一个字段变化,就归入“改变主体内容”。这个动作的结果直接决定下一步:前者进入排除规则,后者需要保留并确保可被链接发现。
第一条:内容主体是否变化。价格、库存、规格、配送范围、商品描述变化,属于有效变体;排序、每页数量、展示样式、会话标识、来源跟踪不改变主体内容,应排除。
第二条:该地址是否有独立搜索需求。假设某筛选组合对应“某品牌加某规格”的稳定需求,并且有站内链接指向它,可以保留;如果只是用户随意勾选产生的组合,没有入口也没有外链,不应进入集合。
第三条:能否被稳定复现。带会话ID、时间戳、随机数的地址每次访问都不同,无法作为稳定入口,应通过规范化或链接规则排除。相反,固定参数顺序、固定取值的地址可以复现,才具备进入集合的前提。
把这三条写成规则时,建议用参数白名单而不是黑名单:只允许确实改变内容的参数出现在可抓取链接中,其余参数在生成链接时就不输出。这比事后依赖robots.txt更可控,因为robots.txt限制的是抓取,不等于可靠的索引移除,被限制抓取的地址仍可能因外部链接而出现在结果中。
在没有全量日志、没有搜索平台权限的情况下,可以完成的最小动作是:
执行后,如果站内链接中的参数变体明显减少,下一步应观察真正需要更新的商品页是否获得更多抓取机会;如果没有变化,说明瓶颈可能不在参数膨胀,而在于链接发现或内容更新频率,需要换方向排查。
不能由此推出的结论包括:站点地图里只放白名单地址不保证收录;把变体地址写进robots.txt不保证它们从索引中消失;启用HTTPS不保证页面安全无漏洞,也不保证排名提升。这些手段各自解决不同问题,不能互相替代。
有效地址集合应当是一条可重复执行的规则,例如:商品页只允许id和sku参数;分类页只允许category和page参数;其余参数在模板层不生成链接。规则写好后,每次新增筛选或跟踪功能时,先判断它是否改变主体内容,再决定是否加入白名单。
这样做的结果是:地址空间从“参数组合的笛卡尔积”收缩为“有内容差异的有限集合”,后续的抓取观察、链接建设和收录核查才有稳定的比较基准。规则本身不承诺任何收录结果,但它让“哪些地址值得被处理”这个问题有了可验证的答案,而不是继续在无限组合里做抽样猜测。