站内搜索框和筛选器是给用户用的,但对搜索引擎来说,它们背后是一串可以无限拼接的参数。同一条筛选逻辑,换个顺序、加个排序、翻一页,就是一个新地址。这些地址大多没有独立价值,却会占掉抓取名额,也会让站点的地址空间显得杂乱。这篇讲一套自查和收紧的做法。
先分清哪类参数页值得保留
不是所有带参数的地址都该被挡在外面。判断标准很简单:这个地址有没有稳定的、能被独立描述的内容。
- 值得保留:有明确主题的聚合页,比如某个分类下的全部产品、某城市的服务网点,内容稳定、有独立标题和描述。
- 不值得保留:排序参数、会话参数、跟踪参数、多条件任意组合的筛选结果、站内搜索关键词结果页。
先把这两类列出来,后面的处置才不会一刀切。
组合 URL 通常从哪几个口子冒出来
- 站内搜索的关键词参数,任何访客输入都会生成一个新地址。
- 筛选器的多条件叠加,颜色、尺寸、价格区间任意组合。
- 排序与视图切换,按价格排、按时间排、列表或网格切换。
- 分页参数叠加在筛选结果之上,组合数量再翻几倍。
- 营销跟踪参数,被内链或外部链接带进站内。
动手排查的步骤
- 从服务器日志里筛出带 ? 的请求,按参数名归类,看哪些参数被大量重复访问。
- 用站点的搜索入口,模拟几种典型筛选组合,观察返回结果页是否有实质内容,状态码是不是 200。
- 检查这些地址是否被内链、分页导航或站点地图带到可被发现的位置。
- 抽样看几类参数页的标题和描述,如果全是同一套模板,基本可以判定为低价值。
处置手段怎么选
规则层:robots.txt 与 meta
对确定没有保留价值的参数路径,可以在 robots.txt 里按参数名做屏蔽,注意只屏蔽参数路径本身,不要误伤正常页面。对于需要被访问但不希望被索引的页面,用 noindex 更稳妥,因为它不影响抓取,只影响索引。
信号层:canonical 与参数归一化
排序、视图、跟踪这类参数不改变内容,指向的规范地址应该始终是无参数的主版本。canonical 要写在参数页上,并固定指向主版本。同时在程序层面把参数顺序统一、无效参数直接忽略,避免同一结果对应多个地址。
结构层:把有价值的筛选做成落地页
如果某个筛选组合确实有稳定的搜索需求,与其让它以参数形式存在,不如为它建一个固定路径的聚合页,配上独立的标题、描述和说明文字。这样既照顾了用户,也不用给参数页开口子。
结果页本身也要交代清楚
搜索无结果的页面,别返回一个 200 的空壳。要么给用户明确的提示并保持页面精简,要么让这类地址不进入索引。空结果页被大量抓取,是最常见的浪费之一。
留一个复查节奏
参数问题不是一次配置就能永久解决的:模板改动、筛选器新增维度、运营临时加的活动参数,都会重新制造入口。建议把带参数的请求占比、参数页的索引数量放进月度观察项,发现异常增长时再回到上面的清单逐条过一遍。
把有用的筛选变成页面,把没用的组合挡在抓取之外,这件事的本质是让站点的地址空间保持干净。