很多站長關心两個數字:新頁面多久被抓,老頁面多久被再抓一次。前者取决于 URL 的發現渠道,後者取决于蜘蛛對你這個站点的歷史印象和頁面的變化信号。它不是一個固定周期,也不是發布内容之後必然發生的動作。
重訪間隔不是按你的更新频率走的
你可能每天更新,但蜘蛛仍然可能几天才回来一次;也可能你半年不動,它每周都来掃一遍。這背後是抓取配額的分配問题——站点總量、响應速度、歷史抓取收益都會影响分配结果。對一個更新频繁但内容重复度高的站点,蜘蛛通常會自然降低單位時間内的抓取量。
換句话说,重訪节奏是蜘蛛根據歷史经驗给出的估值,而不是你單方面声明的频率。
影响重訪的几個變量
- 站点整体抓取配額與服務器响應质量,包括首字节時間、超时率、错誤比例
- 頁面在站内的地位:内鏈數量、所處层級、是否被重要入口引用
- 歷史响應狀態:長期稳定返回 200,還是频繁出現 5xx、跳轉或空结果
- 内容變更的幅度:整段替換和改几個错別字,释放的信号强度並不相同
- 頁面自带的更新信号:Last-Modified、ETag、结构化資料中的時間字段
lastmod 要经得起核對
Sitemap 里的 lastmod 是一個常见誤区。有人每次生成 Sitemap 就把所有 URL 的 lastmod 刷成目前時間,短期或许能看到蜘蛛来得勤一点,但它很快會發現每次都變、内容却没變,于是這個字段的參考價值被削弱。更稳妥的做法是让 lastmod 反映真實的實质變更時間,只對确實改動過的 URL 更新。
一個不准确的 lastmod,比没有 lastmod 更容易消耗信任。
服務器端的没變信号
当蜘蛛带着 If-Modified-Since 或 If-None-Match 来請求时,如果你的服務器能正确返回 304,蜘蛛就知道頁面没有變化,可以省下一次完整下载。反過来,如果服務器總是返回完整 200 和全量 HTML,即使内容一模一样,也會占用更多带宽與抓取配額。缓存层、CDN 回源配置如果處理不当,可能让本可以 304 的請求變成 200 全量返回。
频繁小改動未必更快被再抓
有些运营习惯每隔几小时微調一次标题、加一個标点,希望触發重抓。這會让變更信号變得廉價。相比十次無意义改動,一次實质性的段落增补、資料更新或结构完善,更容易被判定為值得重新抓取。在更新频率和内容质量之間,蜘蛛更看重後者。
怎么判断重訪是否正常
- 在服務器日誌里按 URL 統計蜘蛛請求的時間間隔,观察核心頁面的平均重訪周期
- 對比 Sitemap 中提交的 URL 數量與日誌中實际被訪問的 URL 數量
- 观察新發布頁面從被發現到再次被抓之間的時間差,是在缩小還是拉長
- 關注 304 與 200 的比例,比例異常偏低說明條件請求和缓存没有用好
- 结合抓取狀態碼分布,看是否有大量跳轉或错誤在消耗配額
小结
重訪节奏是结果,不是開關。把服務器响應做稳、把内鏈结构做清楚、把 lastmod 和缓存信号做真實,蜘蛛自然會用更合理的频率回来。反過来,靠刷新時間戳去催,短期可能有一点動静,長期只會让這些信号失真。