Sitemap 文件里有两個字段经常被讨论:lastmod 和 changefreq。不少站長會花時間逐條填寫,甚至每天手動刷新 lastmod,希望蜘蛛因此更频繁地来訪。這两個字段确實有各自的位置,但蜘蛛對它們的依赖程度並不相同。
lastmod:蜘蛛會看,但不會全信
lastmod 表示頁面内容的最後修改時間。蜘蛛在安排二次抓取时,會把 lastmod 当作一個參考信号。如果某個 URL 的 lastmod 比上次抓取时更新了,蜘蛛更有可能把它排進下一轮队列。但它不是命令,蜘蛛還會结合頁面歷史更新频率、内鏈變化、站点整体權重等因素做判断。
准确的 lastmod 有實际帮助
如果站点能稳定輸出真實的修改時間,比如文章發布時間、产品信息變更時間,那么 lastmod 可以帮助蜘蛛快速识別哪些頁面值得重新訪問。對于更新频繁的栏目,這個信号尤其有用。格式建议使用 ISO 8601,例如 2025-03-21T10:00:00+08:00,並保持时区一致。
随意更新 lastmod 會带来反效果
有些做法是每次生成 Sitemap 就把所有 URL 的 lastmod 改成目前時間。蜘蛛如果多次發現“頁面内容没變但 lastmod 天天變”,會逐渐降低對這個信号的信任。更糟的是,它可能把抓取配額浪費在實际上没變化的頁面上,反而让真正更新的頁面排队更久。
changefreq:基本可以忽略
changefreq 用来告诉蜘蛛頁面大概多久更新一次,可選值包括 always、hourly、daily、weekly、monthly、yearly、never。早期搜尋引擎确實參考過它,但主流搜尋引擎已经公開表示不再依赖這個字段。現在它更像一個给站長自己看的注释,蜘蛛不會因為寫了 daily 就每天来抓。
如果你仍然想填,建议保持合理。比如新闻列表頁可以寫 daily 或 hourly,關于我們頁面寫 yearly 或 never。但不要指望它改變抓取节奏。把精力放在真實更新和内鏈结构上更有意义。
蜘蛛决定重新抓取时,真正在意什么
lastmod 和 changefreq 只是 Sitemap 里的辅助信息。蜘蛛安排抓取时,通常還會看這些方面:
- 頁面重要性:首頁、栏目頁、被内鏈频繁指向的頁面,通常會被更频繁地回訪。
- 更新歷史:一個頁面過去是否经常變化,變化後内容是否有實质差异。
- 内鏈變化:如果某個 URL 突然被多個頁面連結,蜘蛛會更快發現它。
- 服務器响應:响應速度稳定、狀態碼正常的站点,蜘蛛抓取更顺畅。
- 站点整体质量:低质内容過多、大量重复頁面會拖慢整体抓取节奏。
怎么設定更合理
- lastmod 只寫真實修改時間,不要因為重新生成 Sitemap 就全部刷新。
- 如果程序無法准确輸出 lastmod,宁可留空,也不要乱填。
- changefreq 可以省略,或者按頁面實际更新频率填寫,但不要当作優化手段。
- priority 同样只是一個提示,蜘蛛不會因為它調高某個 URL 的抓取優先級。
- 把 Sitemap 当作 URL 清單来维護,确保里面都是希望被發現的規范 URL。
Sitemap 是给蜘蛛的路线參考,不是抓取频率的開關。字段填得再勤,也不如頁面本身有更新、内鏈结构清晰、服務器稳定来得實在。
回到最初的問题:蜘蛛看不看 lastmod 和 changefreq?简單说,lastmod 會看,但前提是它准确可信;changefreq 基本不看。與其纠结這两個字段,不如定期检查 Sitemap 里有没有過期連結、重复 URL,以及重要頁面是否被内鏈指向。這些基础工作對蜘蛛發現和重新抓取的影响,通常比字段本身更直接。