直接答案:把前五期的公开数据按 sample_id 合并,25 个首页里有 23 个至少命中一个日期来源、16 个命中两个及以上、6 个命中三个及以上;9 个站点的来源之间年份不一致。最大跨度是 E30:页脚版权 2002,页面日期命中 2026,相差 24 年。年份不同不等于哪个错了——五个来源本来就在描述不同的东西。
第 22、24、25、26 期分别测了版权、lastmod、页面日期、JSON-LD 与 HTTP 头,但都是各看一层。这一期不再抓取,只把已有五份公开 CSV 拼成一张逐站矩阵:每个站点有几个来源、年份是否一致、跨度多大。
方法:五份 CSV,零请求
数据全部来自仓库内已发布的研究文件,按 sample_id 内连接:版权年份与 sitemap lastmod 来自第 22 期,JSON-LD dateModified 来自第 25 期,HTTP Last-Modified 来自第 26 期。页面日期按第 22 期的“命中 2026”记为 2026。
| 来源 | 取值 | 纳入规则 |
|---|---|---|
| 页脚版权 | 年份 | 标记后 60 字符内第一个 20xx;没有记 0 |
| sitemap lastmod | 年份 | 全部 lastmod 最大值的前四位;无 sitemap 记 0 |
| 页面日期 | 2026 / 0 | 可见文本命中 2026 日期记 2026 |
| JSON-LD dateModified | 年份 | 可解析实体的第一个 dateModified;无记 0 |
| HTTP Last-Modified | 年份 | 可解析且不等于 Date;响应时生成的 E04 不计 |
“年份冲突”只定义为:该站点出现的不同年份 ≥2 个。它不判断哪个字段真、哪个字段假,也不推断站点是否维护。
覆盖:版权最多,结构化日期最少
| 来源 | 命中站点(25) | 说明 |
|---|---|---|
| 页脚版权 | 15 | 2026 仅 3 个 |
| sitemap lastmod | 13 | 只有 13 份可用 sitemap |
| 页面 2026 日期 | 13 | 弱信号,任意 2026 字符串都算 |
| JSON-LD dateModified | 1 | 仅 E24(WebPage,2024) |
| HTTP Last-Modified | 3 | E16、E27、E30;E04 因等于 Date 被排除 |
| 来源个数 | 站点数 | 说明 |
|---|---|---|
| 0 | 2 | E13、E17:五类位置都没有可解析日期 |
| 1 | 7 | 只有版权或只有 lastmod/页面日期 |
| 2 | 10 | 最常见 |
| 3 | 6 | 其中 4 个年份冲突、2 个同年 |
9 个站点:年份对不上
| sample_id | 来源数 | 出现的年份 | 跨度 |
|---|---|---|---|
| E30 | 2 | 2002(版权)/ 2026(页面日期) | 24 年 |
| E11 | 2 | 2011(版权)/ 2024(lastmod) | 13 年 |
| E01 | 3 | 2017(版权)/ 2026(lastmod、页面日期) | 9 年 |
| E28 | 2 | 2017(版权)/ 2026(页面日期) | 9 年 |
| E02 | 3 | 2023(版权)/ 2026(lastmod、页面日期) | 3 年 |
| E14 | 3 | 2023(版权)/ 2026(lastmod、页面日期) | 3 年 |
| E24 | 3 | 2023(版权)/ 2024(dateModified)/ 2026(页面日期) | 3 年 |
| E19 | 2 | 2023(版权)/ 2026(页面日期) | 3 年 |
| E29 | 2 | 2024(版权)/ 2026(页面日期) | 2 年 |
只列年份,不列具体日期;“跨度”为最大年与最小年之差。来源数相同不代表证据强度相同。
三个值得单独看的样本
- E24:三个来源、三个年份。 页脚 2023、JSON-LD
dateModified2024、页面 2026 日期。三个字段都能叫“日期”,但分别来自版权声明、页面对象与正文内容。 - E30:24 年跨度。 页脚写 2002,页面出现 2026 日期,另有 HTTP
Last-Modified停在 2026-06-12。三个数字指向三个不同层面,不能取其一当“最后更新”。 - E11:两边都旧。 版权 2011、lastmod 2024,没有页面日期。它不是“冲突样本”里的极端值,而是两个来源都停在较早年份的例子。
为什么年份不同不是“谁错了”
- 版权标声明或首次发布,不是最后修改。
- lastmod 是 sitemap 文件字段,可自动生成,也可长期不动。
- 页面日期可能是活动、新闻列表或产品参数,不等于正文更新。
- dateModified 描述页面对象,类型可能是 WebPage 而非 Article。
- HTTP 头可能由 CDN 重写,也可能随响应生成。
因此这张矩阵的用途不是给站点打分,而是提醒:验收时先写清“你说的更新日期指哪一个来源”,再谈一致性。
对验收的启示
- 先定义来源,再定义一致。 五个来源的语义不同,跨来源比年份只能发现问题,不能直接定性。
- 覆盖差异要写进报告。 版权 15/25、lastmod 13/25、结构化 1/25,分母不同,不能合并成一个“覆盖率”。
- 零来源站点单独列。 E13、E17 五类位置都没有可解析日期,验收应写“无字段”,不是“未更新”。
- 冲突样本保留全部年份。 像 E24 的 2023/2024/2026,取任一个都会丢失信息。
- 不要用单一来源下结论。 需要版本记录或内容 diff 佐证。
局限
- 二次汇总:数据来自不同时间窗口(10-31 至 11-02),不是同一时刻的快照。
- 规则各不相同:五个来源的解析口径不同,年份可比,日期不可直接比。
- 只测首页:文章页、产品页可能不同。
- 来源数不等于证据强度:一个页面日期并不比一个 HTTP 头更可靠。
- 25 家 pilot:不外推行业总体。
数据与复算
匿名数据:equipment-date-source-matrix-2026.csv(25 行:sample_id、五个来源的年份、来源数、不同年份数、最小/最大年份、跨度、是否冲突)。仓库内为 docs/research/2026-11-date-source-matrix.csv。
合并与统计:scripts/date_source_matrix.py;单元测试 scripts/test_date_source_matrix.py(11 项,无网络)。运行:
python -m unittest scripts.test_date_source_matrix
配套:新鲜度信号 pilot(版权 / lastmod / 页面日期)、更新日期字段 pilot(JSON-LD / meta / time)、HTTP 日期头 pilot(Last-Modified / ETag / 缓存)、文章页更新日期 pilot(19 页 3 个 dateModified)。
数据来源与口径
- 第 22 期:
2026-11-freshness-signals.csv(版权、lastmod、页面日期)。 - 第 25 期:
2026-11-date-fields-pilot.csv(JSON-LD dateModified)。 - 第 26 期:
2026-11-http-date-headers.csv(HTTP Last-Modified,排除响应时生成)。