先给结论:当筛选、排序、分页、追踪参数可以自由叠加时,不可能也不应该把每一个组合都当作有效地址。你需要做的是先按“是否改变页面主体内容”把参数分成内容参数与展示参数,再为每类参数定义允许的组合规则,最后只把通过规则的地址放进站点地图和提交入口。下面按你手里的一份 URL 清单或一个页面模板逐步展开。
拿一份真实的 URL 清单,逐个参数问一句:去掉它以后,页面主体内容是否发生实质变化?
page、筛选 price、brand、地区、分类等。去掉后页面主体不同,通常值得保留。sort、每页条数 size、视图模式 view=list/grid、追踪 utm_*、会话标识等。去掉后主体不变,只是呈现顺序或来源标记变化。这个动作的结果直接决定下一步:内容参数进入“可组合集合”的候选,展示参数默认不进入,只在必要场景下作为规范地址的一部分保留。
内容参数也会爆炸,比如 20 个品牌 × 10 个价格区间 × 50 个城市,组合数已经远超实际有内容的页面数。此时判断依据不是数学组合,而是该组合下是否真的存在可展示的结果集。
假设一个电商站有品牌筛选和价格筛选,你可以这样定规则:单一维度筛选允许被抓取;两个维度叠加时,仅当结果数量达到某个阈值才视为有效地址;三维及以上一律不进入提交集合,只保留给站内用户使用。这里的阈值是示例假设,实际取值应来自你自己的数据:统计各组合实际返回的结果条数,找出结果稀薄的区间。
动作与结果:按这条规则过滤清单后,你会发现有效地址数量从“看起来无限”收敛到可枚举的范围,站点地图才具备可维护性。站点地图不保证收录,但一个只包含有效地址的站点地图,至少不会把抓取预算浪费在空结果页上。
被判定为无效的组合不能只靠 robots.txt 挡住。robots.txt 的抓取限制不等于可靠的索引移除:它阻止抓取,却不会让已经被索引的地址自动消失,也无法阻止其他来源引用该地址。
更稳妥的处理顺序是:
<head> 中指向唯一规范地址,让百度知道哪个是首选。做完这一步再复查:如果某个被排除的地址仍然出现在索引里,先确认它是否被外部链接引用,而不是直接断定处理失效。抓取量下降或某类地址消失,也可能是抓取调度变化、站点整体收录波动等原因,不能单独作为规则生效的证据。
定义完成后,把规则写下来,让它可被反复执行,而不是每次靠人判断:
这样做的实际收益是:下次新增筛选条件时,你能立刻判断它属于哪一类、是否需要更新站点地图。若涉及具体平台提供的提交工具或接口,其支持情况与行为应以百度官方当前说明为准,不同搜索引擎对参数和规范的处理也不相同,需要分别核查。
面对一份新导出的 URL 清单,按以下顺序处理即可:先剔除追踪参数,再按内容参数分组,然后对每组统计实际结果数量,低于下限的组合标记为无效,最后只把通过筛选的地址写入站点地图并提交。整个过程不需要猜测算法,只需要你对自己站点的数据有清晰口径。规则一旦确定,有效地址集合就从“无限组合”变成了可以逐条验收的有限清单,后续任何异常都能回到这份清单上定位。