这类故障通常不是单点问题,先确认最外层的报错,再往里一层层看。 sitemap 地址在浏览器能正常打开,GSC 提交时提示无法读取站点地图,重试多次结果一样,换别的引擎也是同样报错。

如果同一时间还改过其他配置,建议一次只回退一项,方便确认是哪一步起的作用。

先分清是哪一类原因

  1. XML 声明前有 BOM 或空行,解析器直接报错退出
  2. 文件里有未转义的 & 符号,标签提前闭合
  3. 返回的 Content-Type 是 text/html,被当成普通网页处理

按顺序处理

1. 先验证 XML 结构是否合法

xmllint --noout sitemap.xml

2. 检查文件开头有没有隐藏字符

head -c 3 sitemap.xml | xxd

3. 确认响应类型是不是 XML

curl -sI https://www.example.com/sitemap.xml | grep -i content-type

怎么确认已经恢复

xmllint 无输出、响应类型为 application/xml,重新提交后状态变为成功,读取条数与文件一致。

容易忽略的地方

URL 里的 & 必须写成 &,很多生成器直接拼接查询参数,一有参数就整份失效,而浏览器能容错,所以很难发现。 如果按上面的顺序做完仍不生效,把配置和日志按时间对齐再看一遍,通常能发现被忽略的一层。

作者 9823189