站点地图的 lastmod 写页面修改日还是生成日

📅 2026-10-09 👁️ 0

站点地图里的 lastmod 应该写页面自己最后被修改的那一天,而不是这份站点地图文件被生成的时刻。协议文档对这个字段的定性是页面最后修改时间,格式按 W3C Datetime 给出,可以只写日期不写具体时间。写成生成日是最常见的误用,因为很多实现把文件输出时间当成本身的时间戳,全站重新生成时就把所有条目的日期一起刷成当天。

字段语义在协议里怎么写

lastmod 的作用是给抓取方一个判断依据:这条链接自上次访问之后有没有变过。它描述的对象是 URL 指向的页面,不是承载它的 XML 文件。两者时间可以相同,但含义不同,只要一次批量重建就会暴露差异。

同一段协议里对另外两个字段的态度也值得一起看:更新频率与优先级都被写成提示而不是命令。真正反映内容是否变化过的,仍然是修改时间这一项。因此把 lastmod 写准,比把频率字段调来调去更有意义。

全站重新生成会把日期刷掉

站点地图按定时任务整体重建是很常见的做法。如果生成逻辑取的是构建时间,会出现三个后果。第一,所有页面的修改时间同时变新,抓取方看到的是一次全站变动,实际内容一行没改。第二,真正变过的页面失去了区分度,重新抓取的成本被摊到全部 URL 上。第三,日期长期等于今天,字段本身不再携带信息,等同于没有写。

反过来,如果生成逻辑读的是文章记录里的更新时间,重建多少次都不会失真。核对方法很简单:连续两次生成站点地图,比较没有编辑过的页面条目日期是否保持不变。保持不变才说明读的是内容时间。

哪几类页面值得写

更新频繁或改动会改变答案的页面最值得写:内容正文、产品与价格说明、活动与公告类单页。相反,一次性发布且不再变更的归档页,写与不写影响都很小。首页和列表页要看实现,如果它们的内容由最新文章驱动,日期跟着更新是合理的;如果是固定版式,就不该每天变新。

站内由系统统一生成站点地图时,这件事的边界更清楚:字段由程序按内容记录填写,人工不参与,也就不该出现刷成当天的情况。需要关注的是更新时间是否真的只在内容变动时改变,改名、换分类、调整导航这类操作不应该把正文日期推后。

定时发布会改变页面的可见时间,这时 lastmod 也应跟着真实生效的那一刻走。设定在凌晨发出的文章,如果日期仍停留在草稿保存那天,抓取方看到的新旧顺序就和实际相反。

格式与时区上的两个坑

第一个坑是时间格式。带不带上午下午的时间部分都可以,但必须写成协议接受的日期时间形式,只精确到天就写天,不要混用本地习惯写法。第二个坑是时区。同一个时刻用本地时间和用协调世界时表达会差一天,站点地图里写的时间与页面自身头部给出的修改时间应当一致,两处不一致时抓取方通常更相信响应头部,字段就白写。

出现局部修订时,日期应当只推后被真正改动的那几条链接;如果批量替换了模板而正文未动,是否更新日期取决于呈现是否改变,稳妥做法是不改,把变动留给真正需要重新抓取的条目。

常见问题

没改正文只改了摘要,要不要更新 lastmod? 要。摘要变化会影响页面给出的答案,属于可见改动。

站点地图可以省略这个字段吗? 可以。缺字段只是少了一个参考信号,比写错日期造成的干扰更小。

日期写错了会被判罚吗? 不存在因此受罚的说法,问题在于信号失真:抓取分配可能把预算花在没有变动的页面上。

多久核对一次比较合适? 每次调整生成逻辑后核对一次,日常按月抽查几条未编辑过的旧文章即可。

相关文章

二十天里三个版本,安全补丁的跟进窗口怎么排

程序在二十天内连发三个版本时,安全补丁的跟进窗口不该按版本号排队,而要按公告里的修复项类型分档:带安全修复的当天处理,纯缺陷修复排进本周,只有功能新增的可以观察。本文给出三档时限的判断依据、升级前的验证清单,以及回滚点和备份该留在哪一步。

2026-10-09

导航、单页和友情链接的定期维护,漏掉会带来什么后果

导航、单页面和友情链接是站内最容易被忽略的三项维护。栏目调整后不重排导航会留下孤岛页;单页面里写死的地址与联系方式一年不改就失真;友情链接的失效检测和对外文字缺少规范时,问题通常由合作方先发现。本文给出三项各自的操作动作、可借助的锚文本与接口能力,以及按事件定维护周期的做法。

2026-10-09

栏目改名或批量换链接,用全站替换怎么避免漏改和错改

全站替换是一次批量改写,风险集中在范围和不可逆两头上。稳妥顺序是先做一次可恢复的备份,再把范围收窄到少量内容试跑,确认命中结果后才正式执行,执行完按旧地址逐条建立 301 重定向,最后核对回收站与草稿没有被牵连进去。漏改多发生在导航和单页面,错改多源于匹配词太宽。本文给出每一步的检查点。

2026-10-09

评论垃圾突然变多,验证码、内容审核和频率控制各管哪一段

垃圾评论变多时,三类防护各管一段:验证码判断提交动作是不是机器发起的,敏感词过滤与内容审核判断提交上来的文字能不能对外露出,频率控制限制同一来源在短时间内的提交次数。任何一段都补不上另一段的缺口,配错顺序会出现开了很多开关但垃圾照样进来的情况。本文按提交前、提交时、提交后拆开,并说明待审核内容在后台仍会被渲染这一处容易漏的 XSS 风险。

2026-10-09

AI 爬虫的抓取规则要不要单写,匹配优先级怎么算

抓取协议的规则匹配有明确顺序:爬虫用大小写不敏感的方式找到自己的规则组,找不到就落到通配组;路径规则按最具体的一条生效,与书写顺序无关。面对用途不同的多个 AI 抓取器,是否分开写规则取决于你想区分训练抓取还是问答引用抓取,本文给出判定方法与配置顺序。

2026-10-09

打开慢该先看程序还是先看服务器,三步分锅怎么做

网站打开慢不要先猜是程序还是服务器,用三步分锅:先分开测静态页与动态页的首字节时间,再在并发下找拐点,最后看实际资源占用而不是配置单。三步走完,能明确责任在程序处理、入口配置还是资源不足,再决定升级程序还是加资源。

2026-10-09

后台登录口被反复尝试,除了换访问地址还能做什么

后台登录口被反复尝试时,更换访问地址只是缩小被动暴露面,真正减少成功概率的是另外三层:身份与令牌管理、自动化提交控制、面向自动化工具的高危操作域开关。本文按这三层给出可执行的改动点,并说明被尝试之后该按什么顺序处置,包括凭证轮换与备份可恢复性的核验。

2026-10-09

上了反向代理之后访客来源地址记不准,该补哪个请求头

反向代理后来源地址变成代理机地址,原因是代理默认不透传原始 Host 与 Connection 头。需要补的请求头是 Host 与 X-Forwarded-For:前者用变量传递原始域名,后者把客户端地址追加进去。多站点共用一个入口时 Host 缺失会认错站,端口映射关系也应记录在部署文档里。

2026-10-09