问题出现得很突然,日志倒是留得挺全。资讯站每天发一百二十篇,新闻 sitemap 一次列出近四千条,Search Console 里这份文件状态成功,新闻标签只显示最近五百篇左右,其余一直不出现。
刚开始盯着「文件没有声明 news 命名空间,发布日期读不出来」,折腾了半个多小时,排掉了。
这类报错背后常见的原因有几处,逐个排除就行。新闻站点地图只该收最近 48 小时的内容,单份上限 1000 条。另一种情况是超出的条目被静默忽略,报告里不会给出任何条数提示。
另外,日期写成 2026-11-13 10:20,不是要求的 W3C 格式。
数这份文件里到底有多少条
grep -c '<url>' https://www.example.com/news-sitemap.xml
接着按 48 小时窗口重新导出
SELECT ID FROM wp_posts WHERE post_date > NOW() - INTERVAL 48 HOUR;
然后确认命名空间与日期格式
curl -s https://www.example.com/news-sitemap.xml | head -8
只提交这一份文件 不要和普通 sitemap 混在一起
https://www.example.com/news-sitemap.xml
别只看报错消失,验证要多做一步。重新生成后条数落到一千以内,新闻标签两天内出现新文章,报告里的已发现条数和文件一致。
容易忽略的是,新闻 sitemap 不是越大越好,超出窗口的老文章留在里面只会稀释这份文件的更新信号。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
