给读者做了一个 sitemap.html 目录页,顺手当站点地图提交了。一个月后日志里蜘蛛每天都来抓这个页面,XML 那份却很少被访问。
一开始怀疑是「XML 的 sitemap_index 没有被 robots 引用,发现路径断了」,查了一圈,方向不对。
真正麻烦的地方在于,几个原因的现象几乎一样。提交时选错了文件,把 HTML 目录页当成了 XML 站点地图。另一种情况是引导页上的链接全是一级目录,没有文章级地址。
不容易想到的是,目录页链接带了 nofollow,蜘蛛到页面上就停下。
上来先确认搜索后台里提交的是哪个地址
curl -s https://www.example.com/sitemap_index.xml | head -5
再往下在 robots 里明确声明 sitemap 位置
echo 'Sitemap: https://www.example.com/sitemap_index.xml' >> robots.txt
随后删除错误的提交记录并重新提交
curl -sI https://www.example.com/sitemap_index.xml | head -1
剩下的就是观察 XML 的抓取次数
grep -c 'sitemap' access.log
别只看报错消失,验证要多做一步。日志里 XML 的抓取次数从每天个位数涨到几十次,HTML 目录页的抓取回落,GSC 里站点地图状态显示成功且已读取。
HTML 目录页可以留着给用户看,但它不是发现通道,两者定位不同,错误提交只会让蜘蛛把预算花在导航页上。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。
