搜尋抓取

蜘蛛多久重訪一次:lastmod、Sitemap 與日誌里的更新线索

頁面更新後,蜘蛛並不會马上重訪。本文從 lastmod、Sitemap、内鏈變化和訪問日誌入手,說明怎样给出可靠的更新信号、观察重訪間隔,並在蜘蛛再次訪問时保持服務器稳定,减少無效等待和反复抓取。

搜尋抓取

蜘蛛多久重訪一次:lastmod、Sitemap 與日誌里的更新线索

很多站長會有一種错觉:頁面内容改完,蜘蛛就應该马上再来抓一遍。實际不是這样。搜尋引擎的抓取队列有自己的节奏,重訪間隔取决于頁面過去的更新频率、站点整体抓取情况、服務器响應,以及你有没有给出可信的“内容變了”的信号。

重訪不是自動同步

蜘蛛第一次抓到頁面後,會记錄一個大概的抓取周期。如果這個頁面長期不變,重訪間隔可能拉長;如果它经常更新,間隔才可能缩短。這個過程是渐進的,不是開關。所以更新後没有立刻看到蜘蛛,並不等于站点出了問题。

更實际的做法是:先確認頁面确實發布了,再检查有没有把更新信号传出去,最後從日誌里看蜘蛛上一次来是什么时候、這次有没有来。

给蜘蛛一個可信的更新信号

lastmod 不要随手改

Sitemap 里的 lastmod 是常见的更新提示,但它只在“真實且稳定”时有意义。如果每次生成 Sitemap 都把全站時間改成目前時間,這個字段會失去參考價值,蜘蛛也可能不再認真對待它。只给当天确實改過内容的 URL 更新 lastmod,更稳妥。

Sitemap 保持可讀、可抓

Sitemap 本身要能被正常訪問,不要放在需要登入或频繁返回 5xx 的路径下。分片文件、索引文件、gzip 压缩都要按規范来。如果 Sitemap 里的 URL 和站内實际可訪問地址不一致,蜘蛛按图索骥时也會多走弯路。

内鏈變化也是更新线索

除了 Sitemap,站内連結的變化也會影响蜘蛛的判断。当新頁面被加入栏目頁、相關推荐或導航,蜘蛛在抓取這些入口頁时,就有机會發現新 URL 或重新訪問舊 URL。反過来,如果新頁面没有任何内鏈指向,只靠 Sitemap 提交,發現和重訪都會慢一些。

内鏈不需要為了更新而频繁改動。把重要頁面放在稳定的入口位置,比每天調整侧栏連結更有效。

從日誌看重訪間隔

與其猜蜘蛛多久来一次,不如看服務器日誌。按 URL 過滤蜘蛛的訪問记錄,观察几個信息:

  • 同一 URL 最近几次被抓取的時間間隔;
  • 返回狀態碼是 200、304 還是 5xx;
  • 抓取时下载的字节數是否正常;
  • 是否只抓了入口頁,没有繼續深入。

如果日誌里只有第一次訪問,之後很長時間没有重訪,可以回头检查頁面是否被誤设 noindex、内鏈是否被撤掉、Sitemap 是否還有效。如果重訪很频繁但内容没變,則要考虑是不是 lastmod 或頁面结构在制造無意义的更新信号。

重訪时的服務器配合

蜘蛛重訪时,服務器至少要能稳定返回。超时、连接重置、大量 5xx 都會让這次重訪失敗,甚至影响後續抓取节奏。需要留意的是:重訪往往發生在你不盯着的時間段,所以监控要覆盖蜘蛛的常见 User-Agent,而不是只看自己的浏览器訪問。

更新信号负责“告诉蜘蛛来看”,服務器稳定负责“让蜘蛛看得完”。两者缺一個,重訪效果都會打折。

几個常见誤区

  • 频繁手動提交 URL,却不更新頁面内容;
  • 每次發文章都改全站 lastmod;
  • 只改标题,正文和内鏈没有實质變化;
  • 重訪失敗後不查服務器日誌,只反复提交。

這些做法不會稳定加快重訪,反而可能让抓取信号變得混乱。

小结

蜘蛛重訪不是按你的發布時間表执行的。把 lastmod 寫准、让 Sitemap 可抓、给新頁面留好内鏈入口,再從日誌里观察真實的重訪間隔,通常比反复提交更有用。服務器稳定是底线,信号可信是加速器,两者配合,重訪节奏才會逐步接近你的预期。