搜索抓取

蜘蛛多久回来一次:更新节奏与抓取频次之间的关系

蜘蛛对同一个 URL 的回访间隔,并不是随机的。文章拆解影响回访频率的几组信号——历史抓取收益、站点更新是否规律、URL 在站内的位置、服务器表现与 lastmod 的可信度,并说明如何通过稳定的发布节奏、明确的入口和真实的修改时间,让页面的变化更容易被确认。

搜索抓取

蜘蛛多久回来一次:更新节奏与抓取频次之间的关系

同一批页面,有的蜘蛛隔几小时就来一次,有的半个月才回访一回。很多人把原因归结为权重,但落到抓取调度上,回访间隔其实由几组可观察的信号共同决定:这个页面过去是否真的变过、站点整体更新是否有规律、URL 在站内处于什么位置,以及服务器是否稳定到值得反复访问。

决定回访间隔的几个输入

  • 抓取收益:过去若干次抓取里,页面内容有几次发生变化。每次都一样,回访频率自然降下来。
  • 站点整体节奏:每天都有新内容的站点,蜘蛛到访更密集;长期停更的站点,抓取频次会慢慢收敛。
  • 站内位置:首页、栏目页、被较多内链指向的详情页,通常排在更靠前的位置,回访也更勤。
  • 服务器表现:响应稳定、很少 5xx 的站点,蜘蛛更敢加大并发和频次;频繁超时会直接拉长间隔。
  • Sitemap 与 lastmod:写得准,蜘蛛能据此判断这个 URL 是否值得再看一眼。

抓取收益是核心变量

蜘蛛的资源有限,它对一个 URL 的投入本质上是一次预期判断:这次来,能不能拿到和上次不一样的内容。如果连续多次抓到的都是同一份 HTML,调度器会倾向于认为这个地址更新概率低,把配额挪给别的 URL。反过来,一个页面如果每次抓取都有实质变化,它的回访间隔就更可能缩短。

要注意的是,这里的“变化”通常指正文主体、标题、结构化数据这类核心内容的改动,而不是页脚年份、随机推荐位、访问计数这类每次都不同的碎片。碎片越多,反而越难让蜘蛛分清哪些是真更新。

lastmod 别乱写

lastmod 是少数几个由站点主动提供给蜘蛛的更新信号。用得好,它能帮助蜘蛛优先回看真正改过的地方;用得滥,它就成了噪音。

  • 把全站 lastmod 统一设成今天,等于告诉蜘蛛所有页面都在变。几次验证对不上之后,这个字段大概率被忽略。
  • 只改了一个标点、调了广告位,不必更新 lastmod。
  • 真正重写了正文、补充了数据、修正了结论,才值得更新。
  • 模板自动生成的 lastmod 如果和实际内容不符,比不写更麻烦。
一个可信的 lastmod,价值不在于新,而在于准。

让更新更容易被确认的几种做法

  1. 保持发布规律。与其一次性堆几百篇然后停更几个月,不如稳定输出,蜘蛛的到访节奏也会跟着稳定下来。
  2. 新内容给明确入口。新 URL 至少在栏目页、相关推荐或站内最新列表里出现一次,别指望它自己被找到。
  3. 有价值的旧页面被改动后,可以让它在合适的列表或推荐位里再出现一次,给蜘蛛一个重新访问的理由。
  4. Sitemap 只放需要抓的 URL,lastmod 与真实修改时间对齐,不要把整站塞进去凑数。
  5. 保证服务器在抓取高峰时段也扛得住,超时和 5xx 会直接打击抓取意愿。

几个常见误区

  • 反复手动提交:它能加快发现,但不太可能长期抬高回访频率。
  • 靠改时间戳制造新鲜感:短期也许有效,长期会削弱整个信号的可信度。
  • 把发现慢当成回访慢:发现靠入口,回访靠历史表现,两者要分开看。

怎么验证自己的判断

想确认回访节奏,最直接的办法是看一段时间的服务器日志:把同一个 URL 的抓取时间点抽出来,算一下间隔,再对照这段时间里页面是否真的改动过。如果出现“改了也不来、不改天天来”的情况,问题通常出在入口、lastmod 或服务器响应上,而不是内容本身不好。

抓取频次没法直接设置,它是结果,不是开关。能做的,是让站点持续、真实地产生变化,并且让这些变化容易被看见、被确认。