同一批頁面,有的蜘蛛隔几小时就来一次,有的半個月才回訪一回。很多人把原因归结為權重,但落到抓取調度上,回訪間隔其實由几组可观察的信号共同决定:這個頁面過去是否真的變過、站点整体更新是否有規律、URL 在站内處于什么位置,以及服務器是否稳定到值得反复訪問。
决定回訪間隔的几個輸入
- 抓取收益:過去若干次抓取里,頁面内容有几次發生變化。每次都一样,回訪频率自然降下来。
- 站点整体节奏:每天都有新内容的站点,蜘蛛到訪更密集;長期停更的站点,抓取频次會慢慢收敛。
- 站内位置:首頁、栏目頁、被較多内鏈指向的詳情頁,通常排在更靠前的位置,回訪也更勤。
- 服務器表現:响應稳定、很少 5xx 的站点,蜘蛛更敢加大並發和频次;频繁超时會直接拉長間隔。
- Sitemap 與 lastmod:寫得准,蜘蛛能據此判断這個 URL 是否值得再看一眼。
抓取收益是核心變量
蜘蛛的资源有限,它對一個 URL 的投入本质上是一次预期判断:這次来,能不能拿到和上次不一样的内容。如果连續多次抓到的都是同一份 HTML,調度器會倾向于認為這個地址更新概率低,把配額挪给別的 URL。反過来,一個頁面如果每次抓取都有實质變化,它的回訪間隔就更可能缩短。
要注意的是,這里的“變化”通常指正文主体、标题、结构化資料這類核心内容的改動,而不是頁脚年份、随机推荐位、訪問計數這類每次都不同的碎片。碎片越多,反而越难让蜘蛛分清哪些是真更新。
lastmod 別乱寫
lastmod 是少數几個由站点主動提供给蜘蛛的更新信号。用得好,它能帮助蜘蛛優先回看真正改過的地方;用得滥,它就成了噪音。
- 把全站 lastmod 统一设成今天,等于告诉蜘蛛所有頁面都在變。几次驗證對不上之後,這個字段大概率被忽略。
- 只改了一個标点、調了广告位,不必更新 lastmod。
- 真正重寫了正文、补充了資料、修正了结论,才值得更新。
- 模板自動生成的 lastmod 如果和實际内容不符,比不寫更麻烦。
一個可信的 lastmod,價值不在于新,而在于准。
让更新更容易被確認的几種做法
- 保持發布規律。與其一次性堆几百篇然後停更几個月,不如稳定輸出,蜘蛛的到訪节奏也會跟着稳定下来。
- 新内容给明确入口。新 URL 至少在栏目頁、相關推荐或站内最新列表里出現一次,別指望它自己被找到。
- 有價值的舊頁面被改動後,可以让它在合适的列表或推荐位里再出現一次,给蜘蛛一個重新訪問的理由。
- Sitemap 只放需要抓的 URL,lastmod 與真實修改時間對齐,不要把整站塞進去凑數。
- 保證服務器在抓取高峰时段也扛得住,超时和 5xx 會直接打击抓取意愿。
几個常见誤区
- 反复手動提交:它能加快發現,但不太可能長期抬高回訪频率。
- 靠改時間戳制造新鲜感:短期也许有效,長期會削弱整個信号的可信度。
- 把發現慢当成回訪慢:發現靠入口,回訪靠歷史表現,两者要分開看。
怎么驗證自己的判断
想確認回訪节奏,最直接的办法是看一段時間的服務器日誌:把同一個 URL 的抓取時間点抽出来,算一下間隔,再對照這段時間里頁面是否真的改動過。如果出現“改了也不来、不改天天来”的情况,問题通常出在入口、lastmod 或服務器响應上,而不是内容本身不好。
抓取频次没法直接設定,它是结果,不是開關。能做的,是让站点持續、真實地产生變化,並且让這些變化容易被看见、被確認。