站点运营

站点运营:抓取预算自查,别让低价值页面占着蜘蛛的时间

网站页面变多之后,蜘蛛每天抓到的页面里,真正有价值的可能只占一小部分。本文从服务器日志出发,讲怎么判断抓取时间被哪些页面浪费,如何通过 robots.txt、noindex、规范链接和内链调整,把抓取集中到重要内容上,并给出合适的复盘频率。

站点运营

站点运营:抓取预算自查,别让低价值页面占着蜘蛛的时间

站点小的时候,蜘蛛每天来几次,页面少,基本都抓得完,很少需要考虑抓取预算这件事。等站内页面上到几千、几万,尤其是加上筛选、排序、分页、日历这类会批量生成 URL 的功能之后,问题就会浮现:蜘蛛每天都来,但抓的都是些没流量的页面,真正想被收录的新内容反而排不上队。

抓取预算到底是什么

它不是搜索引擎给每个站点发的固定配额,而是一个相对结果。站点速度、内容更新频率、页面质量、链接结构,都会影响蜘蛛愿意在你这儿花多少时间。可以粗略理解成:蜘蛛每天能在你的站点上走多少步,这些步数用在了哪些页面上

预算被浪费,通常不是因为页面太多,而是因为值得抓的页面和不值得抓的页面混在一起,蜘蛛分不出来。

常见的浪费来源

  • 站内搜索结果的 URL 被大量生成,每个关键词一个地址,内容稀薄。
  • 筛选、排序、视图切换参数叠加,同一批商品能拼出几十上百个网址。
  • 日历、日期归档页只翻页不更新,内容长期没有变化。
  • 分页翻到很深的位置,后面的页码几乎没人访问,也没有独立价值。
  • 站点地图里塞进了本来不希望被收录的页面。
  • 5xx 和长时间无响应的地址被反复重试,占掉大量请求次数。

怎么自查

第一步:看日志,而不是只看报表

后台统计工具给的是抽样结果,服务器日志才是原始记录。可以按蜘蛛 UA 过滤,统计一段时间内的请求总数、URL 分布和返回码分布。重点看两件事:哪些目录被抓得最多,以及这些目录带来了多少自然流量。抓取量和流量严重不成比例的地方,就是浪费最集中的地方。

第二步:统计返回码

  • 大量 404:说明站内还在指向已经删除的页面。
  • 大量 301、302:跳转链太长,蜘蛛要多花几步才能到正文。
  • 大量 5xx 或超时:服务器扛不住,整体抓取量会被压缩。
  • 大量 200 但内容重复:多半是参数和规范链接没处理好。

第三步:核对 sitemap 与 noindex

站点地图里列出的 URL,应当是你希望被收录的那一批。如果里面混着搜索结果页、购物车、用户中心、已下线的活动页,等于主动把蜘蛛引到低价值位置。反过来,已经用 noindex 标记的页面,就不要再写进 sitemap,两个信号互相打架,只会让判断变得更慢。

处理思路

发现问题之后,处理方式大致分三类:

  1. 挡住不该抓的:对参数页、搜索结果页、没有价值的排序视图,用 robots.txt 屏蔽抓取,或者用 noindex 让已收录的页面慢慢退出。注意两者用途不同:robots.txt 能减少抓取,但被屏蔽的页面如果已经被收录,搜索引擎看不到页面上的 noindex 标记;对已经收录的页面,优先用 noindex。
  2. 合并重复的:参数只保留必要的那几个,其余通过规范链接指向主版本,内部链接统一指向规范地址,不要再往参数版本上加权。
  3. 把重要的推上去:核心栏目减少点击层级,从首页和上级栏目给出稳定入口;新内容发布后第一时间在站内被链接到,并让 sitemap 的 lastmod 如实反映更新。
抓取预算是相对的。你把低价值页面清理掉,蜘蛛自然会把时间挪到有价值的页面上;但如果站点本身响应慢、经常报错,清理得再干净,也没多少请求可用。

多久看一次

页面规模不大时,半年看一次日志足够了。如果站点在持续上新,或者刚上线了会批量生成 URL 的功能(筛选、站内搜索、多语言、地区切换),建议上线后两周内就看一次日志,确认新生成的地址没有失控。

把日志分析当成固定动作,而不是出问题才临时翻记录,很多抓取上的异常,在演变成事故之前其实都能被看出来。