直接答案:零请求解析 25 个首页:只有 5 个页面有 JSON-LD(共 5 段),其中 3 段直接拼接两个对象、无法解析;可解析的 2 段里,只有 1 段声明 dateModified(E24,类型 WebPage,2024-07-14)。article:modified_time、<time datetime>、可见“更新于”三类命中全部为 0。任何结构化更新日期只命中 1/25。

第 22 期看了版权年份、lastmod 与首页日期,第 24 期看了它们一天内的稳定性。这一期补第四个信号:页面自己声明的“更新日期”到底有多少、写在哪、能不能解析。

25
可分析首页
5
含 JSON-LD 的页面
3
解析失败的 JSON-LD
1
声明 dateModified
0
meta / time / 可见更新
1
任何结构化更新日期

方法:四个位置,零请求

沿用第 4 期缓存的 25 个首页 HTML(2026-10-31 至 11-01),不发起任何网络请求。对每个页面检查四个位置:JSON-LD 的 dateModified / datePublished、meta 的 modified / last-modified / date、<time datetime>、以及可见文本里的“更新于 / 最后更新 / last updated”。

位置解析方式判定边界
JSON-LD逐段 json.loads,展开 @graph 与数组解析失败单独计数;只取第一个 dateModified / datePublished
meta扫描 <meta> 的 name/property 与 content属性顺序不限;内容为空不计
<time>只取带 datetime 的标签文本里的日期不算
可见文字去掉 script/style 后匹配“更新于”等只认目标年份开头的日期串

结果:5 段 JSON-LD,3 段解析失败

位置命中页面命中段落说明
JSON-LD 任意55E09、E12、E14、E23、E24
JSON-LD 可解析22E12(4 个实体,无日期)、E24(6 个实体,WebPage 日期)
dateModified11E24:2024-07-14T06:24:39+00:00,类型 WebPage
datePublished11E24:2023-10-13T05:17:06+00:00
meta modified00没有 article:modified_time 或 last-modified
<time datetime>00首页没有带 datetime 的 time 标签
可见“更新于”00没有可识别的可见更新日期
任何结构化更新日期1—仅 E24

3 段为什么解析失败:两个对象直接拼在一起

E09、E14、E23 的 JSON-LD 都是这种形态:两个完整的 {...} 对象首尾相接,既没有数组方括号,也没有 @graph 包裹。单看第一段完全合法,但整段交给解析器就是非法 JSON。常见原因是 CMS 对多个实体分别序列化后直接拼接,模板没有补上 [ ] 或 @graph。

后果很直接:搜索引擎拿到整段后可能整段忽略,即使第一个对象里写了 WebSite 或 Organization。这不是“有没有 JSON-LD”的问题,而是“这段 JSON 是否有效”的问题——第 23 期的本地检查器也把解析失败单列为错误。

唯一的 dateModified:WebPage,不是文章

E24 的 dateModified 是 2024-07-14,类型是 WebPage,不是 Article 或 BlogPosting。它描述的是页面对象,不是某篇文章的修订时间;把它直接当“首页最近更新”仍然要谨慎。

更有意思的是同一个站点有三个不同年份:页脚版权 2023、JSON-LD dateModified 2024、sitemap 最新 lastmod 2026-10-28。三个字段都能叫“日期”,含义却不同;本期只记录差异,不推断哪个真、哪个假。

为什么首页的更新日期这么少

  • 首页通常不是文章:CMS 往往只在文章模板输出 dateModified,首页模板不输出。
  • 没有约定就不写:结构化日期不是必填字段,很多模板只放 Organization 和 WebSite。
  • 写了也可能坏:本次 5 段里 3 段因拼接而无效。
  • 可见日期更少:B2B 首页很少把“最后更新”直接展示给访客。

因此,“首页没有 dateModified”不能反推“站点不更新”;它只说明这个位置没有可解析的声明。

对验收的启示

  1. 先验 JSON-LD 是否有效,再谈字段。 拼接多个对象会让整段失效,和“没写”一样不可用。
  2. 把首页与文章页分开验收。 首页没有 dateModified 是常见现象,文章页才更适合检查修订日期。
  3. 四类位置分别记录。 JSON-LD、meta、time、可见文字互不替代,命中率也不同。
  4. 不要把 dateModified 当唯一更新证据。 它是页面声明,仍需版本记录或内容 diff 佐证。
  5. 冲突要并列展示。 像 E24 的 2023 / 2024 / 2026 三个日期,应同时列出而不是取其一。

局限

  • 只测首页:文章页、产品页可能完全不同,本期不外推。
  • 零请求复用缓存:缓存时间是 2026-10-31 至 11-01,不代表今天。
  • 正则 + JSON 解析:不执行 JS,脚本注入的 JSON-LD 看不到。
  • 有效样本很小:只有 5 页有 JSON-LD,3 段无效,能比较的只剩 2 段。
  • 25 家 pilot:不外推行业总体,也不评价站点质量。

数据与复算

匿名数据:equipment-date-fields-pilot-2026.csv(25 行:sample_id、JSON-LD 段数与有效性、类型、dateModified / datePublished、meta、time、可见更新、是否一致)。仓库内为 docs/research/2026-11-date-fields-pilot.csv。

解析逻辑:scripts/date_fields_probe.py;单元测试 scripts/test_date_fields_probe.py(20 项,无网络)。运行:

python -m unittest scripts.test_date_fields_probe

配套:新鲜度信号 pilot(三个信号横截面)、约 1 天复测(字段稳定性)、新鲜度信号检查器(同规则本地工具)、HTTP 日期头 pilot(Last-Modified 与缓存头)。

数据来源与口径

  1. schema.org dateModified:schema.org。
  2. JSON-LD 1.1:w3.org。
  3. 样本与规则:第 4 期首页缓存、第 22 期解析口径;零网络请求。
关于作者

凌壹信息Official(交付团队),负责企业网站、品牌与智能制造项目的需求梳理、方案与验收协作。本文只统计缓存页面里的字段与解析结果,不构成对任何站点维护状态、排名或流量的判断;25 家 pilot,不外推行业。

先验字段是否有效,再谈更新

JSON-LD 先过解析,再读 dateModified;首页与文章页分开验收,四类日期位置分别记录。

预约内容验收方案