搜尋抓取

蜘蛛多久回来一次:更新节奏與抓取频次之間的關系

蜘蛛對同一個 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 或服務器响應上,而不是内容本身不好。

抓取频次没法直接設定,它是结果,不是開關。能做的,是让站点持續、真實地产生變化,並且让這些變化容易被看见、被確認。