把参数组合全部当成有效地址,是很多站点在技术SEO上踩过的坑。更稳妥的做法是:先定义一组“可被索引的规范地址”,再让所有其余参数组合在服务端或链接层被归并、屏蔽或重定向。下面用一个假设情境说明两种做法的取舍。
假设一个电商站有颜色、尺码、排序、页码四类参数。颜色 8 种、尺码 6 种、排序 4 种、页码最多 20 页,理论组合是 8×6×4×20=3840 个 URL。若不设规则,爬虫会顺着筛选链接不断发现新组合,其中大量页面内容高度重复,只是参数顺序不同。
此时有两种常见做法:
选择条件很明确:如果某个参数组合能产生明显不同的商品集合,并且有独立检索需求,它才值得成为有效地址;否则它只是同一内容的另一种排列。
把两个 URL 的正文、标题、商品列表做对比。如果去掉参数后主内容几乎一致,只是排序或高亮不同,它就不该进入有效集合。假设“颜色=红”和“颜色=蓝”返回的是完全不同的商品集合,那它们可以各自保留;而“排序=价格升”和“排序=销量降”通常只是同一集合的排序差异,应归并到一个地址。
判断依据不是参数本身,而是用户是否会主动搜索这个组合。可以查看站内搜索词或外部搜索词,但要注意:搜索量统计只能说明存在查询行为,不能直接证明该组合页面一定该被索引。若某组合只有零星查询,优先让它归并到上级页面。
如果某参数组合会因库存变化而频繁返回空结果或少量结果,把它定义为有效地址会带来大量薄内容。更稳的做法是:只有当结果数量超过某个阈值时才允许该组合被索引,低于阈值时返回 404 或重定向到上级分类。
假设决定只保留“颜色”和“页码”两类参数,其余参数一律忽略。可以在服务端做三件事:
这个动作的结果是:爬虫能发现的 URL 数量从数千降到数百,抓取请求更多落在有独立内容的页面上。下一步应观察日志中这些规范地址的抓取频率是否上升,以及被忽略参数是否仍通过内链出现。如果内链仍带旧参数,重定向会持续生效,但会浪费一次请求,所以还要同步修改站内链接生成逻辑。
用 robots.txt 屏蔽参数组合,只能阻止抓取,不能保证已收录的 URL 从索引中移除。若某些参数地址已被收录,更可靠的方式是返回 410 或 301,并配合 canonical 指向有效地址。站点地图只应包含有效地址集合中的 URL;把全部参数组合塞进站点地图,不会提升收录,反而会稀释站点地图的价值。
另外,HTTPS 只解决传输层加密,不解决参数重复问题,也不保证页面安全无漏洞或获得更好排名。不同搜索引擎对参数处理和 canonical 的支持程度不同,需要分别核查其官方文档,不能假设一套规则在所有引擎上表现一致。
如果某类参数组合确实对应独立业务场景,例如“颜色+尺码”组合有独立库存和独立描述,且用户会直接搜索该组合,那么把它纳入有效地址集合是合理的。此时应确保该页面有唯一标题、唯一描述和独立正文,而不是只换一个参数值。放开后要监控抓取分布:若大量抓取仍集中在无独立内容的组合上,说明白名单定义过宽,需要重新收敛。
判断参数组合是否该保留,最终看的是内容差异和检索需求,而不是参数数量本身。先定义有效集合,再让其余组合归并或屏蔽,比事后补救更省成本。