整站迁到新域名时用脚本导数据,post_modified 被写成导入之前的时间,sitemap 里 lastmod 从 2026-09 退到 2025-12,新站抓取频率一周内掉了一半。
一开始怀疑是「时区配置差异让时间整体前移 8 小时并跨天」,查了一圈,方向不对。
这类报错背后常见的原因有几处,逐个排除就行。导出脚本把 post_modified 覆盖成源库的 GMT 时间并做了时区换算。还有一种是sitemap 生成器取的是 post_date 而不是 post_modified。
少数情况下是迁移后批量重存文章,部分记录被写成更早的时间。
上来先抽查 sitemap 里的时间分布
curl -s https://www.example.com/sitemap.xml | grep -o '<lastmod>[^<]*' | sort | head
然后核对数据库里的修改时间
SELECT ID,post_modified,post_date FROM wp_posts ORDER BY post_modified DESC LIMIT 10;
随后按真实修改时间重新输出
SELECT ID,DATE_FORMAT(post_modified,'%Y-%m-%dT%H:%i:%s+08:00') FROM wp_posts;
剩下的就是统计残留的旧年份时间戳
curl -s https://www.example.com/sitemap.xml | grep -c '2025-12'
恢复的判定其实很直接。lastmod 最大值回到迁移当天,2025 年的时间戳数量归零,抓取频率三周后恢复到迁移前。
时间倒退比时间全同更危险,蜘蛛会认为整站内容被回滚,连带降低对新页面的信任。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
