记录一下那天晚上的排查过程。批量导入的老文章修改时间被写成 2024-01-01,发布时间是 2025-06-10,结构化数据测试提示日期顺序错误。
把日志和配置对完,能解释这个现象的基本就这几处。导入脚本用固定时间填充修改字段。少数情况下是时区转换把日期整体减了一天。
少数情况下是部分文章修改时间为空,取到了默认值。
上来先抽查两处日期的实际输出
curl -s https://www.example.com/post/ | grep -o '"dateModified":"[^"]*"'
然后把修改时间修正到不早于发布
UPDATE wp_postmeta SET meta_value = post_modified WHERE meta_key='_modified' AND meta_value < '2025-01-01';
接着输出时做兜底取发布时间
echo get_the_modified_date('c') ?: get_the_date('c');
复测结构化数据
curl -s https://www.example.com/post/ | grep -o '"datePublished":"[^"]*"'
改之前先确认了最近有没有人动过配置,避免白查一遍。
别只看报错消失,验证要多做一步。测试工具不再报日期顺序,富媒体正常展示,源码里两个日期的先后关系正确。
这里还有个坑。修改时间可以等于发布时间,但不能早于它,批量迁移里这个错误很常见。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。
