先别急着改参数,把报错原文、版本号和最近的变更记录摆在一起看,方向会清楚很多。 WordPress 升级到 6.7 后访问 /wp-sitemap.xml 直接返回 404,后台的站点地图开关是打开的,插件也没冲突,只有这一条路由失效。

拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

先分清是哪一类原因

  1. Nginx 的 location 规则只放行了 wp-json,没有匹配 sitemap
  2. 固定链接结构被改过,rewrite 规则没重新生成
  3. 站点装在子目录,规则里少写了目录前缀

按顺序处理

1. 确认是 WordPress 还是服务器返回的 404

curl -sI https://www.example.com/wp-sitemap.xml

2. 在 Nginx 里补一条 sitemap 放行规则

location ~ ^/wp-sitemap.*\.xml$ { try_files $uri /index.php?$args; }

3. 刷新固定链接后重新请求

curl -s https://www.example.com/wp-sitemap.xml | head -5

怎么确认已经恢复

返回 200 且内容是 XML 索引,GSC 里能正常读取到子 sitemap 列表,条目数量与文章总数对得上。

容易忽略的地方

子目录安装时规则要写成 /blog/wp-sitemap,直接照抄根目录的配置会一直 404,而且后台不会有任何提示。 涉及改配置的操作,改完记得做一次完整的回归,别只看当前这个报错有没有消失。

作者 9823189