问题描述
在Google Search Console中提交站点地图sitemap.xml后,出现无法抓取的错误提示,导致站点地图无法被Google索引。参考了多篇文章,尝试了各种方法,但问题依旧存在。包括检查sitemap.xml的格式,域名是否曾被滥用,服务器是否正确响应sitemap.xml请求,在sitemap地址前多加一个/等方法,但都没有解决问题。与此同时,Bing Webmaster Tools能够成功抓取sitemap.xml,说明服务器和sitemap本身没有问题。
解决方案
虽然Google Search Console无法抓取sitemap.xml,但通过以下方法成功解决了问题:
- 生成了新的站点地图文件
atom.xml和baidusitemap.xml,并在Google Search Console中提交了这两个文件。这两个文件也包含了站点的URL信息,Google Search Console能够成功抓取它们,从而间接解决了无法抓取sitemap.xml的问题。其中atom.xml是基于Atom格式的站点地图,baidusitemap.xml是针对百度搜索引擎优化的站点地图。也算是曲线救国了。 - 放弃提交sitemap.xml,在Google Search Console中提交
atom.xml和baidusitemap.xml。 - 提交后,Google Search Console 的状态立即显示“成功”,并且能够正常抓取和索引站点的URL。
修复展示
最后,展示一下修复后的Google Search Console界面,显示成功抓取atom.xml和baidusitemap.xml,并且站点的URL被正确索引。
可以看到,sitemap.xml在提交很长事件后依然显示无法抓取,顺带一提robots.txt虽然有一定的指向作用,但Google Search Console并不支持将此作为站点地图提交。