记录一下那天晚上的排查过程。把 sitemap 从 /sitemap.xml 改成了 /sitemap_index.xml 并删掉旧文件,Bing 站长工具的已编入索引数一夜少了四成,Google 那边几乎没动。
刚开始盯着「旧 sitemap 里的地址仍是 http,新文件换成了 https」,折腾了半个多小时,排掉了。
这类报错背后常见的原因有几处,逐个排除就行。旧地址直接 404,Bing 把它当成 sitemap 已下线。也可能是新地址没有在 robots 里声明,Bing 缺少发现入口。
另外,Bing 的索引更新本身按周调度,短期波动被误读成惩罚。
先确认旧地址的返回码
curl -sI https://www.example.com/sitemap.xml | head -3
然后核对新文件的条数和协议
curl -s https://www.example.com/sitemap_index.xml | grep -c '<loc>'
接着把旧地址 301 到新文件
rewrite ^/sitemap\.xml$ /sitemap_index.xml permanent;
等前面都确认过,再在 robots 里补声明并重新提交
Sitemap: https://www.example.com/sitemap_index.xml
改完先别撤,确认这几项。旧地址返回 301,Bing 在两周内重新读取新文件,已编入索引数回到原来的九成以上。
容易忽略的是,换 sitemap 地址要留 301 过渡,直接删掉等于告诉引擎这个站点不再提供索引文件。报错文案容易误导,真正的原因往往在相邻那一层的日志里。
