站点运营

站点运营:分页、筛选与排序参数自查,别让列表页长出一堆重复地址

列表页加上分页、排序、筛选和追踪参数后,很容易组合出大量内容重复的地址,消耗抓取资源。本文从盘点到处理顺序,梳理哪些参数该保留、哪些该收敛,以及在链接层、robots.txt 与 noindex 之间怎么选择,帮助把抓取预算留给真正需要更新的页面。

站点运营

站点运营:分页、筛选与排序参数自查,别让列表页长出一堆重复地址

列表页往往是站点里最容易长出大量地址的地方。一个商品列表或文章列表,加上分页、排序、筛选、每页条数、会话追踪这些参数,能组合出的 URL 数量远远超过站内实际内容量。蜘蛛进来以后,如果把这些组合都当成独立页面抓一遍,抓取预算就被消耗在内容高度重复的页面上,真正需要更新的详情页反而排不上队。

参数是怎么把地址数量放大的

假设一个列表有五种排序方式、十个筛选条件、三种每页条数,再乘以若干页分页,组合数量已经相当可观。这些地址不需要人为制造,只要页面上的筛选入口是普通链接,蜘蛛就会顺着一路爬下去。

更麻烦的是,其中很多参数对页面内容没有实质影响。排序方式变化后只是顺序变了,内容集合一样;会话 ID、追踪参数则是每个访客各不相同,同一个页面能产生无数个地址。这些地址既没有独立价值,又容易被抓取。

先盘点,再决定怎么处理

  • 从近一个月的服务器日志或抓取统计里,看被访问最多的 URL 中有多少带问号,占比是多少;
  • 把参数名列出来,按「影响内容」和「不影响内容」分成两类;
  • 逐个判断这些参数页有没有独立价值,比如「某品牌手机」筛选页可能有人搜索,但「按价格降序」基本没有;
  • 确认这些地址目前有没有被收录,收录之后是否带来过访问。

盘点这一步不要省。不看清现状就直接加屏蔽规则,很容易把有价值的筛选页一起误伤。

几类参数的常见处理方式

分页

分页是内容的递进关系,通常保留可抓取,但要保证每一页都能通过链接到达,不要只靠滚动加载,否则深层分页蜘蛛可能拿不到。至于规范地址怎么指向,要看分页内容是否独立:很多站点选择让每一页自指,避免后续页面被合并掉,具体做法需要结合自己的内容形态判断,不必照搬别人的方案。

筛选与排序

对内容有实质影响的筛选,比如品类、价格区间、规格,可以考虑保留下来,给页面配上能说清主题的标题和一段简短说明,让它成为真正有价值的落地页。纯排序、纯视图切换这类入口,一般不需要产生可爬链接,可以改成按钮加异步请求,或者在链接层面直接去掉参数。

如果一定要保留地址,再考虑用 robots.txt 屏蔽或加 noindex。这里有个常见误区:robots.txt 屏蔽并不等于不抓取,被屏蔽的地址仍可能出现在结果里,只是缺少描述。如果这些页面本来就不该出现在结果中,用 noindex 更直接。

会话与追踪参数

utm、gclid、会话 ID 这类参数,最好在服务端或 CDN 层统一处理,比如跳转到干净地址,或者用规范标签指向不带参数的版本。不要指望每一个入口、每一个运营同事都记得手写规范地址,靠流程约束很难长期稳定。

动手时的顺序

  1. 先确认问题规模:带参数地址占抓取量的比例,其中有多少已被收录;
  2. 影响内容、又确实有人搜索的参数组合,保留并整理成稳定的可索引地址;
  3. 不影响内容的参数,优先在链接生成层面去掉,至少不在站内输出可爬链接;
  4. 历史已被收录的重复地址,用跳转或 noindex 慢慢收敛,不要指望一次清空;
  5. 改动上线两到三周后,再回看日志,确认抓取分布有没有朝预期的方向变化。
屏蔽类规则上线前,先用测试工具或一小段日志验证,避免把正常页面一起挡住。参数处理通常牵涉模板,改动前最好在测试环境把链接生成逻辑跑一遍。

别忘了站内搜索

站内搜索结果页是另一类参数大户。建议把搜索结果页设为 noindex,并且不要在页面上输出大量可爬链接,否则蜘蛛会沿着不同搜索词一路爬下去,越爬越远。

参数治理不是做一次就结束的事。新上线的栏目、新换的筛选组件,都可能重新把问题带回来。把它写进改版检查清单,比事后从日志里慢慢排查要省力得多。