站点运营

站点运营:筛选参数与排序 URL 自查,别让抓取预算耗在组合页上

列表页的筛选和排序对用户很方便,但如果每种参数组合都能被蜘蛛抓到并返回 200,站内就会凭空多出大量相似地址。本文从参数梳理、组合判断、放行与收敛的取舍几个方面,给出一份可以落地的自查清单。

站点运营

站点运营:筛选参数与排序 URL 自查,别让抓取预算耗在组合页上

很多站点的列表页都带筛选和排序:按品牌、按价格区间、按上架时间、按销量,再叠加翻页。对用户来说这很方便;对蜘蛛来说,这些参数如果都能被抓、抓到后都返回 200,就等于凭空多出成百上千个内容高度相似的地址。抓取预算被摊薄之后,真正需要更新的内容反而排不上队。

组合 URL 为什么会失控

假设一个分类有 5 个筛选维度,每个维度 4 个取值,再叠加 10 页分页,理论组合数量可以轻松到几十万级。蜘蛛通常不会穷举,但只要入口链接足够多,它会顺着能点到的地方不断扩散。判断的关键不是“站内有多少个 URL”,而是“有多少 URL 会被链接触达,并且返回了实质不同的内容”。

自查清单

1. 看参数是否真的进入抓取

  • 在抓取记录或服务器日志里筛选带问号的请求,统计参数名、参数组合和请求量,看看哪些组合被反复抓取。
  • 随机挑几个筛选结果页直接访问,确认返回状态码和正文内容,判断它和主列表页到底差多少。

2. 区分“有内容差异”和“只是换了顺序”

排序参数最典型:按价格排、按销量排、按时间排,内容一致,只是顺序不同。这类地址对用户有时有用,但作为独立收录页面价值很低。筛选参数则要看差异幅度——单一维度的筛选可能确实切出了不同集合,多维叠加后往往只是交集越来越小、重复度越来越高。

3. 决定放行、合并还是挡住

  • 放行:有独立搜索需求的筛选组合,内容确实不同,可以保留,并给它一个稳定的入口。
  • 合并:相似度高的组合,用 canonical 指回主版本,页面保留给用户使用。
  • 挡住:纯排序、纯会话、纯追踪参数,可以在链接层面加 nofollow,或在 robots.txt 里用参数规则排除抓取。

需要注意的是,robots.txt 挡的是抓取而不是索引,被挡的地址仍可能出现在结果里;而且规则写得过宽,会把链接发现的路一起切断。所以挡住之前,先确认这些 URL 不是重要页面的唯一入口。

4. 控制入口数量

站点地图里只放真正需要收录的列表页和详情页,筛选结果页不要进地图。导航和面包屑尽量指向不带参数的干净地址,让蜘蛛先看到主干,再看枝叶。

5. 检查分页与筛选的叠加

筛选之后再翻页,是最容易产生长尾组合的地方。可以限制筛选结果的翻页深度,或者让深页码通过用户点击加载,而不是在页面里铺开大量可抓链接。

一次简单的检查流程

  1. 列出站内所有会出现在 URL 里的参数名,标出哪些是业务必需、哪些是统计或临时用。
  2. 用抓取记录确认这些参数的实际抓取量,找出被反复抓取的组合。
  3. 对每个组合访问一次,对比正文主体、标题、内容数量是否真的不同。
  4. 按放行、合并、挡住三类给出处理方式,并写进模板或配置里,而不是逐个页面手工改。
  5. 处理完成后观察一段时间,看主干页面的抓取量有没有回升。

容易踩的坑

把所有带参数的 URL 一刀切屏蔽,看起来干净,实际可能把站内搜索、语言切换、必要的分页入口一起关掉,结果是蜘蛛找不到该抓的内容。

另一种情况是反过来:担心屏蔽影响收录,于是全部放行,结果蜘蛛大部分时间都花在组合页上,新发布的文章要等很久才被抓一次。

小结

筛选与排序参数本身没有问题,问题在于它们是否被当作独立内容页面参与抓取。定期做一次参数梳理,把无效组合收敛掉,把有效组合的入口固定下来,抓取资源才有机会流向真正需要更新的页面。这件事不用一次做完,可以先从抓取量最大的那几个参数开始。