文章页挂了 Article 标记,富媒体测试里日期一项标红,提示时间格式无法解析,页面上显示的发布时间是 2026-11-09 10:30,手工补个时区再测又能通过。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
curl -s https://example.com/a/ | grep datePublished # 正确值形如 2026-11-09T10:30:00+08:00
datePublished 只认完整的 ISO 8601 串,只写到日期、用斜杠分段,或者把时区写成中文的北京时间,解析器一律按无效值处理;带偏移量的完整时间串才稳,缺一段就过不了校验。这一点先确认清楚,后面就不用反复试。
碰到「JSON-LD datePublished」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
具体做法是,把模板输出的时间统一成带偏移量的完整 ISO 8601 格式串;取库里的本地时间先转成 UTC,输出时再拼上时区偏移;改完用富媒体测试重新抓一次页面,确认日期项已经变绿。
改完照着核一遍,富媒体测试里日期一项变绿,报告不再提示时间格式错误,重新抓取的标记完整。
