打开XML网站地图时,经常会看到每个URL下面还有一个<lastmod>:
<url> <loc>https://www.example.com/article/123/</loc> <lastmod>2026-10-11</lastmod> </url>
它表示这个页面最近一次重要修改的时间。对搜索引擎来说,URL告诉它“页面在哪里”,而lastmod进一步提供“这个页面最近有没有发生值得重新抓取的变化”。
不过lastmod并不是越新越好,也不应该在每次生成Sitemap时自动改成当天日期。Google目前明确要求,这个值应反映页面最后一次重大更新,并且只有长期保持准确、能够验证时,才会将它作为抓取参考。

lastmod具体表示什么
lastmod是Sitemaps协议中的可选标签,全称可以理解为Last Modified,也就是最后修改时间。
它描述的是<loc>所对应网页最后一次发生重要修改的时间,而不是搜索引擎上次抓取时间,也不是Sitemap文件的生成时间。
例如一篇文章:
2026年5月1日首次发布;
2026年8月10日补充了一整节内容;
2026年10月11日只修改了页脚版权年份。
这种情况下,更合理的lastmod通常仍然是2026年8月10日,而不是因为页脚发生了一处无关紧要的变化就更新日期。
Google会使用lastmod吗
会,但有一个重要前提:数据需要长期准确。
Google Search Central目前说明,如果<lastmod>值能够持续保持准确,并可以与页面真实修改情况相互验证,Google会使用这项信息。
它可以帮助搜索引擎判断哪些已经收录的URL最近发生过变化,从而为后续抓取安排提供参考。
但Sitemap本身只是向搜索引擎提供提示,并不能要求Google立即重新抓取页面。因此,把lastmod改成今天,并不代表Googlebot当天一定访问该URL。
哪些修改应该更新日期
判断标准不是“文件有没有发生变化”,而是网页内容是否出现了有意义的更新。
Google给出的典型重大变化包括:
页面主要内容发生更新;
结构化数据发生重要修改;
页面中的链接发生明显变化。
实际网站中,下面这些情况通常也比较适合更新lastmod:
文章增加了新的章节或重要资料;
产品参数、价格说明或功能信息明显调整;
旧教程根据新版软件重新编写;
页面标题和主体内容进行了实质性重写;
删除或替换了影响页面含义的重要内容。
如果只是修改一个错别字、调整CSS颜色、更新公共页脚,通常没有必要因此刷新整个网站的lastmod。
lastmod应该怎么写
Sitemaps协议要求lastmod使用W3C日期时间格式。
最简单的写法是只记录日期:
<lastmod>2026-10-11</lastmod>
这种格式已经能够满足大多数网站:
YYYY-MM-DD
如果确实需要精确到具体时间,也可以写完整日期和时区:
<lastmod>2026-10-11T21:22:00+08:00</lastmod>
对于普通博客、企业站和内容网站,通常没有必要精确到秒。只要网站能够可靠维护日期,使用YYYY-MM-DD反而更加简单。
完整Sitemap示例
一个基本的XML Sitemap可以这样写:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://www.example.com/</loc> <lastmod>2026-10-01</lastmod> </url> <url> <loc>https://www.example.com/article-a/</loc> <lastmod>2026-10-08</lastmod> </url> <url> <loc>https://www.example.com/article-b/</loc> <lastmod>2026-09-20</lastmod> </url> </urlset>
每一个URL都可以拥有自己的lastmod,不需要整份Sitemap使用相同日期。
不要每天批量刷新lastmod
这是实际网站中比较常见的问题。
有些Sitemap程序每天凌晨重新生成文件,同时把所有URL写成当天日期:
<lastmod>2026-10-11</lastmod>
第二天又全部变成:
<lastmod>2026-10-12</lastmod>
实际上这些文章可能半年没有修改。
这种做法失去了lastmod原本的意义。Google关注的是页面最后一次重大变化,而不是网站地图什么时候重新生成。
如果搜索引擎长期发现lastmod与页面实际变化不一致,这个信号自然也就没有多少参考价值。
发布日期能直接当lastmod吗
新页面第一次发布时,发布日期和最后修改日期通常相同,因此可以直接使用。
例如:
发布时间:2026-10-01 lastmod:2026-10-01
几个月后文章更新:
发布时间:2026-10-01 修改时间:2026-12-15 lastmod:2026-12-15
此时应该使用最后修改时间,而不是继续使用最初发布日期。
所以CMS最好分别保存published_at和updated_at,Sitemap读取真实的内容更新时间。
Sitemap索引也能写lastmod
当网站URL较多时,通常会把网站地图拆成多个文件,再通过Sitemap Index统一管理:
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>https://www.example.com/post-sitemap.xml</loc> <lastmod>2026-10-11</lastmod> </sitemap> <sitemap> <loc>https://www.example.com/product-sitemap.xml</loc> <lastmod>2026-10-09</lastmod> </sitemap> </sitemapindex>
这里的lastmod与普通URL Sitemap中的含义不同。
普通Sitemap中的:
<url> <loc>网页URL</loc> <lastmod>网页最后修改时间</lastmod> </url>
描述的是网页更新时间。
而Sitemap Index中的:
<sitemap> <loc>Sitemap文件URL</loc> <lastmod>Sitemap文件最后修改时间</lastmod> </sitemap>
描述的是对应Sitemap文件什么时候发生了修改。Google说明,这项信息可能帮助它安排不同Sitemap文件的抓取。
lastmod和changefreq不同
旧版Sitemap中还经常看到:
<changefreq>daily</changefreq> <priority>0.8</priority>
changefreq表示页面预计多久发生一次变化,priority则用于表达网站内部URL之间的相对优先级。
不过Google目前明确说明,它会忽略Sitemap中的changefreq和priority。
相比之下,准确维护的lastmod仍然可能被Google使用。
因此,如果现在重新设计网站地图,没有必要为了“SEO完整”机械填写:
<changefreq>daily</changefreq> <priority>1.0</priority>
把真实的URL和lastmod维护准确更有实际意义。
lastmod不是强制字段
Sitemaps协议中,<loc>是URL条目的必需字段,而<lastmod>属于可选字段。
因此下面这种网站地图也是有效的:
<url> <loc>https://www.example.com/page/</loc> </url>
如果网站系统无法可靠判断页面更新时间,与其每天生成一个假的lastmod,不如暂时不写。
对于静态企业站、长期不变的落地页或者无法追踪修改时间的旧系统,这种处理反而更稳妥。
哪些网站更值得维护lastmod
经常更新内容的网站更能体现lastmod的价值,例如新闻站、博客、文档站、电商网站和大型内容平台。
这类网站每天都可能出现新页面和旧页面更新,如果Sitemap能够准确区分哪些URL刚刚发生变化,搜索引擎就能得到更有价值的更新信息。
只有几十个页面,而且内容几年不变的小型企业站,lastmod的重要程度相对没那么高,但如果CMS本身能够准确生成,也没有必要删除。
实际配置重点看准确性
lastmod的写法并不复杂,真正容易出错的是数据来源。
最理想的逻辑是:页面第一次发布时记录发布日期,正文或重要信息发生实质修改后更新修改时间,Sitemap再读取这个时间生成lastmod。
不要因为Sitemap每天重新生成,就把所有URL日期刷新一遍;也不要为了看起来网站“天天更新”,人为填写不存在的修改时间。
对搜索引擎而言,一个长期准确的更新时间信号,比一个永远显示今天日期的Sitemap更有价值。
poxiaoxi博客
精彩评论