问题出现得很突然,日志倒是留得挺全。新版上线七天,sitemap.xml 里还是改版前的旧地址,蜘蛛持续抓取已经 301 的 URL。新页面提交后一直显示已发现未编入索引。试过在后台点重新生成,文件没变。
刚开始盯着「生成器连接的是旧库或旧域名配置」,折腾了半个多小时,排掉了。
这类报错背后常见的原因有几处,逐个排除就行。sitemap 是静态文件,生成任务失败后一直保留旧版本。另一种情况是CDN 缓存了旧的 XML,源站更新后边缘没有回源。
还有一种情况,Search Console 里提交的仍是旧地址,新文件没被读取。
第一件事是确认线上文件里的地址
curl -s https://www.example.com/sitemap.xml | grep -m3 '<loc>'
手动重新生成一次
wp sitemap generate --force
随后清掉 CDN 的 XML 缓存
curl -X PURGE https://www.example.com/sitemap.xml
等前面都确认过,再核对文件里的域名与条数
curl -s https://www.example.com/sitemap.xml | grep -c 'https://www.example.com/'
别只看报错消失,验证要多做一步。sitemap 里全部换成新地址,条目数与实际页面一致,重新提交后新页面三天内开始被抓取。
改版清单里要把 sitemap 单独列一项,它不是自动跟着路由变的,静态文件加缓存很容易停在旧版本。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
