标签必须带合法datetime属性,否则对搜索引擎和屏幕阅读器无效;内容供人阅读,属性供机器解析,二者需逻辑自洽且不可混用模糊表达。

time 标签必须带 datetime 属性,否则对搜索引擎和屏幕阅读器完全无效——它不是样式标签,而是机器可读的时间数据容器。
必须写 datetime 属性,且格式要严格合法
不写 datetime 的 <time>2026年8月25日</time> 和普通文本没区别。Google、RSS 解析器、结构化数据提取工具只认这个属性的值。
- ✅ 正确(纯日期,最常用):
datetime="2026-08-25" - ✅ 正确(带时区,推荐用于精确场景):
datetime="2026-08-25T20:57:00+08:00"(注意 T 和 +08:00 不可省略) - ✅ 正确(UTC 时间,跨时区服务首选):
datetime="2026-08-25T12:57:00Z" - ❌ 错误:
datetime="2026/08/25"(斜杠非法) - ❌ 错误:
datetime="2026-08-25 20:57"(空格代替 T) - ❌ 错误:
datetime="今天"或datetime="soon"(非标准值,解析器直接忽略)
标签内文字和 datetime 要逻辑自洽,但不必字面一致
time 的内容是给人看的,datetime 是给机器读的。二者可以风格不同,但不能矛盾。
- ✅ 合理:
<time datetime="2026-08-25">8月25日(星期二)</time>(星期匹配) - ✅ 合理:
<time datetime="2026-08-25T20:57:00+08:00">今晚8点57分</time>(当前页面生成时间确为此时) - ❌ 危险:
<time datetime="2026-08-25">明天</time>(页面今天发布,“明天”已失效) - ❌ 污染语义:
<time datetime="2026-08-25">发布于:2026年8月25日</time>(“发布于:”会被屏幕阅读器读作时间一部分)
正确做法是把说明文字放在 time 外:发布于:<time datetime="2026-08-25">2026年8月25日</time>。
避免和 meta、JSON-LD 中的时间字段冲突
Google 对发布时间采用“三重验证”:如果 <time datetime></time>、<meta property="article:published_time"> 和 JSON-LD 中的 datePublished 三者不一致,可能拒用全部时间字段,或降权处理富摘要。
- 服务端渲染时统一生成所有时间字段,别靠前端 JS 注入(爬虫首次抓取拿不到动态值)
- 修改文章后,同步更新
time的datetime、JSON-LD 的dateModified和meta标签 - 避免混用时区:比如一个写
+08:00,另一个写Z,聚合工具可能误判时间顺序
别把它当样式工具,也别滥用在模糊表达上
time 只适用于**具体、可解析的时间点或时间段**。相对描述(如“上周”“下个月”“刚刚”)无法被静态抓取,也不具备确定语义。
- ❌ 不该用:
<time>去年</time>、<time>第3季度</time>、<time>马上开始</time> - ✅ 可用(持续时间):
<time datetime="PT2H30M">2小时30分钟</time>(ISO 8601 持续时间格式) - ✅ 可用(仅年份):
<time datetime="2026">2026年</time>(但需确保业务上真只需要年份)
真正难的不是写对语法,而是在每次看到“2026年8月25日”这类文本时,下意识确认:它的 datetime 值是否已填?格式是否合法?上下文是否一致?漏掉一处,就少了一处机器可理解的数据源。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











