参数页为什么容易失控
筛选、排序、价格区间、颜色尺码、站内搜索,这些功能对用户有用,但它们生成的地址往往是“组合式”的。一个列表页加上三个筛选维度,就可能衍生出成百上千条 URL;站内搜索更夸张,任意关键词都能拼出一条可以访问的地址。如果不加约束,蜘蛛会在这些地址之间来回打转,真正需要被抓取的详情页反而排不上队。
这里说的不是“参数页一定有害”。有搜索需求、内容确有差异的参数组合,本身可能是流量入口;问题出在没人管,让系统自动生成的所有组合都开放抓取。
第一步:把所有会产生参数的入口列出来
- 列表页的筛选与排序,比如价格、销量、时间以及多维度交叉
- 站内搜索结果页,以及搜索结果页自己的分页
- 分页与筛选叠加产生的地址
- 会话与来源跟踪类参数,如 utm、sid、from 之类
- 前端路由或接口直接生成的可访问地址
建议在服务器日志里把带问号的地址单独筛一遍,看实际被访问的 URL 有多少、其中多少来自蜘蛛。这一步不需要额外工具,把日志导出到表格里就能做。
第二步:给参数分三档处理
值得收录的
有明确搜索需求、且页面内容确实不同于默认列表的参数组合,比如“城市加品类”的落地页。这类地址应当有独立的标题和描述,页面里给出可读的说明文字,而不是把商品换个顺序排一遍。canonical 指向自身,也可以在 sitemap 里挑一两条有代表性的提交。
可以抓取但不必收录的
排序、单一筛选、站内搜索结果页,通常属于这一档。做法是在页面头部加 noindex, follow,让蜘蛛能顺着链接继续走,但不把这些地址当作内容收录。站内搜索页尤其要留意:它是用户的入口,不是内容页面。
不建议抓取的
纯排序、会话参数、营销跟踪参数、无限组合的交叉筛选,可以用 robots.txt 屏蔽关键参数,或者在前端生成链接时干脆不输出。需要提醒的是,robots.txt 写错很容易误伤正常地址,改动前先在小范围验证,别一次性把整个目录屏蔽掉。
第三步:控制内链入口
很多参数页之所以被抓得凶,是因为站内到处都在链它们。导航、侧栏、底部推荐里如果挂着带参数的地址,蜘蛛每爬一轮都会重新走一遍。整理时可以从模板下手:哪些位置的链接是必要的,比如让用户切换排序;哪些只是历史上顺手加上去的。把不必要的那部分去掉,比事后屏蔽更省事。
第四步:定期看抓取比例
在日志里按地址类型分类统计,看带参数的地址占了多少次抓取、返回的是正常页面还是跳转、平均响应时间如何。如果参数页占了大头,而详情页、内容页被抓得很少,说明前面的策略需要收紧。这个比例不用天天看,按月看一次趋势就够。
落地建议
- 先统计再动手,别凭印象屏蔽。
- 一次只改一类参数,观察两到四周的抓取变化。
- 改动留档,写清改了什么、为什么改、预期是什么。
- 站内搜索页优先处理,它的地址增长最快。
参数页管理没有一劳永逸的方案,站点功能一变,新的参数就会出现。把“新增功能时同步确认参数处理方式”写进发布流程,比每隔半年集中清理一次要轻松得多。