现场是这样的。robots.txt 里把 Sitemap: .../sitemap1.xml 和 Sitemap: .../sitemap2.xml 写在同一行,GSC 里只看到第一份,第二份从头到尾没有被抓取过。

中间走过弯路,把「用逗号分隔多个地址同样不被支持」当成主因,改完现象没变。

这类报错背后常见的原因有几处,逐个排除就行。一行只能有一条 Sitemap 指令,第二条被当作该行剩余内容;解析器按行读取,同一行的第二个地址直接丢弃;索引文件本来能解决,但站点没生成。

上来先看 robots 里 Sitemap 的写法

curl -s https://www.example.com/robots.txt | Select-String Sitemap

每条指令单独占一行

Sitemap: https://www.example.com/sitemap1.xml
Sitemap: https://www.example.com/sitemap2.xml

或者统一用索引文件提交

Sitemap: https://www.example.com/sitemap_index.xml

提交后确认两份都被读取

curl -s https://www.example.com/sitemap_index.xml | Select-String sitemap

改之前先确认了最近有没有人动过配置,避免白查一遍。

怎么算真的好了,看的是同一批现象。GSC 的 sitemap 列表里两份子文件都显示成功,抓取统计里出现第二条索引文件的请求。

补一句。一行一条是硬规则,多写几个地址不如做一个 sitemap 索引文件。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189