站点运营

站点运营:筛选与排序参数,别让一个栏目生成上千个可抓地址

筛选、排序、会话、追踪这几类参数混在一起,很容易让栏目页衍生出成百上千个可抓地址。本文按“参数是不是内容”来分类,讲清 robots.txt、noindex、canonical 各自的适用边界,以及怎样从内部链接和前端交互入手收回可发现面,让抓取落在真正有搜索价值的页面上。

站点运营

站点运营:筛选与排序参数,别让一个栏目生成上千个可抓地址

很多栏目页刚上线时只有一页列表,运营几个月后,一统计可抓地址就是几千个。翻回去看,大部分不是新内容,而是筛选条件、排序方式、会话标识这些参数层层叠加出来的组合。这些地址单看都能打开,内容却高度重复,蜘蛛抓得越多,真正有搜索价值的页面分到的抓取次数就越少。

先分清参数是不是“内容”

判断标准很简单:换掉这个参数,页面主体内容有没有实质变化。

  • 内容型参数:品牌、型号、固定档位的价格区间、地区等,会产生新的结果集,用户确实会这样搜。这类地址可以考虑保留并可抓。
  • 视图型参数:排序方式、每页条数、列表与网格切换、颜色偏好、会话 ID、来源追踪(utm、ref)等。页面内容基本一致,只是展示顺序或入口不同。

视图型参数是治理重点。它们通常不进入任何站内链接,却能被外部链接、用户复制分享、爬虫自行拼接等方式发现,然后在日志里反复出现。

三种常见手段,边界不一样

robots.txt 拦的是抓取,不是索引

Disallow 能减少抓取压力,但被拦的地址仍可能因为外链出现在搜索结果里,标题摘要还可能不完整。所以只有在“这些地址永远不该被抓”时才用它,比如带会话 ID、带站内搜索关键词的地址。

noindex 是明确表态,但要防止误伤

对确实存在、内容有价值但不需要独立参与排名的筛选页,可以给 noindex,follow。前提是这些页面本身能正常访问,不要和 robots.txt 同时用——被挡住的页面,蜘蛛看不到 noindex。

canonical 更适合处理近似重复

排序、每页条数这类参数,页面内容一致,把 canonical 指回不带参数的规范地址是更自然的做法。注意它只是建议值,别指望解决所有问题,尤其是站内链接和站点地图还在大量指向带参数版本的时候。

从可发现面下手,比逐条屏蔽省事

  • 筛选链接不要全部写成 a 标签硬编码。次要筛选可以放在交互之后再生成链接,或者用表单提交。
  • 同一组参数保持顺序和命名统一,不要今天 ?color=red&size=m,明天 ?size=m&color=red。
  • 站内链接和站点地图只收录规范版本,不给带参数版本喂入口。
  • 翻页与筛选不要互相嵌套出无限组合,该收口的地方就收口。

上线前后的检查清单

  1. 拉一份近 30 天的服务器日志,统计带参数 URL 的占比和抓取频次。
  2. 抽样打开几个高频参数地址,确认返回的是 200,还是已经被规范到主页面。
  3. 确认 robots.txt 与 noindex 没有互相冲突。
  4. 检查站点地图里是否混进了筛选地址。
  5. 观察一到两周,看核心页面的抓取次数有没有回升。
参数治理没有一次性做完的方案。栏目改版、筛选功能迭代、运营活动加参数,都会重新引入问题。把它当成例行检查项,比一次大清扫更现实。