站点运营

站点运营:抓取预算分配,别让低价值页面占住蜘蛛时间

蜘蛛对站点的访问次数在一段时间内是有限的,参数组合页、深尾分页、自动聚合页会分走这部分访问。这篇文章讲怎么用日志看清现状、按什么顺序收敛无用地址、把重要页面放到更浅的位置,以及哪些屏蔽动作容易做错。

站点运营

站点运营:抓取预算分配,别让低价值页面占住蜘蛛时间

先把“抓取预算”说清楚

蜘蛛在一段时间内对某个站点的访问次数,是有上限的。这个上限受服务器响应速度、页面总量、站点整体表现、历史抓取记录等因素影响。我们没办法直接设一个数字,但可以通过站内结构和链接安排,间接影响蜘蛛把时间花在哪里。

换句话说,抓取预算就是“站点在一段时间里能被抓取多少次”。如果站内堆了大量低价值地址,它们会分走一部分访问,让真正想被看到的页面排在后面。要做的不是把所有页面都推给蜘蛛,而是把明显不值得抓的地址收敛掉。

哪些页面在悄悄消耗访问次数

  • 参数组合页:筛选、排序、价格区间、颜色尺码叠加,容易生成成千上万个地址,内容高度重复。
  • 分页的深尾:列表页翻到几十页之后,多数已经没什么独立价值。
  • 标签与聚合页:自动生成、长期无人维护,数量增长很快。
  • 站内搜索结果页:用户输入什么就生成什么,地址近乎无限。
  • 日历、时间轴类页面:可以无限向后延伸,实际访问者极少。
  • 带 session 或追踪参数的地址:同一个页面出现多种写法。
  • 孤岛页面:没有任何内链指向,只能靠提交被发现,抓取优先级低。

这些类型不一定要全部清掉,但如果它们占了站内地址的多数,就值得处理。

自查:先看清现状再动手

  1. 读取服务器访问日志,按路径类型统计蜘蛛访问量:首页、栏目、详情、筛选、搜索、分页各占多少。
  2. 对比 sitemap 或提交列表里的 URL 总量,与真正有内容、值得被访问的页面数量。
  3. 找出被抓取次数最多、却几乎没有自然访问的路径类型。
  4. 记录一次基线,处理后在相近时间段再做一次对比。
判断标准不是“这个页面有没有流量”,而是“它值不值得占用一次抓取”。

处理顺序:先收敛,再引导

收敛可抓取地址

  • 筛选、排序等参数:能用 robots.txt 按参数模式屏蔽的就屏蔽,或用 canonical 指回默认列表页。
  • 不该出现在索引里的页面,比如站内搜索、测试页、后台入口:用 noindex 处理。注意被 robots.txt 屏蔽的页面,蜘蛛看不到上面的 noindex 指令,两者不要混用。
  • 分页深尾:限制可翻页的数量,或让更深的页只能通过“下一页”进入,不写进 sitemap。
  • 追踪参数:在站内生成链接时就去掉,不要指望事后统一清理。

把重要页面放到更浅的位置

  • 在导航、面包屑、相关推荐里给核心栏目和详情页固定入口。
  • sitemap 只保留希望被发现、也愿意对外展示的页面。
  • 压缩层级,让首页到核心页面不超过三四次点击。

别忽略响应速度

响应慢会直接压低单位时间内的抓取量。首字节时间、大图、阻塞脚本这类问题,处理收益往往比调整抓取引导更直接。

容易做错的地方

  • 一次性大规模屏蔽,原本有访问的页面掉出索引,事后不好恢复。
  • robots.txt 挡住整段目录,把该抓的页面一起挡了。
  • 给已有访问量的页面直接加 noindex,却没有准备替代页面。
  • 只看总量不看结构,处理完没有数据可以对比。

把它变成固定动作

抓取预算不是调一次就结束的事。内容在增长,栏目在调整,筛选功能的参数也在变。建议在改版、新增筛选功能、批量导入内容之后,各查一次日志,看看路径分布有没有变化。

抓取量增加不等于内容被索引,被索引也不等于有访问。这一步的作用是减少无效消耗,让蜘蛛来访时更容易碰到你真正想让它看到的页面。