图片站点地图里的 image:loc 写的是 CDN 域名,页面本身在 www 下,提交后图片搜索的收录一直是零,CDN 日志里也没有蜘蛛请求。

一开始怀疑是「image:loc 指向的地址 302 到另一条 CDN 地址」,查了一圈,方向不对。

把日志和配置对完,能解释这个现象的基本就这几处。图片域名和页面域名不同,被当成跨站资源。也可能是CDN 开了防盗链,不带 Referer 的请求返回 403。

另外,图片条目没有和所在页面的地址配对。

第一件事是确认图片对蜘蛛可访问

curl -sI -A 'Googlebot' https://cdn.example.com/img/1024.jpg

带上 Referer 对比一次

curl -sI -e 'https://www.example.com/' https://cdn.example.com/img/1024.jpg

接着把 loc 改成与页面同域的地址

<image:loc>https://www.example.com/img/1024.jpg</image:loc>

末了重新提交图片站点地图

https://www.example.com/image-sitemap.xml

这类问题以前遇到过,但这次的触发条件和上次不一样。

别只看报错消失,验证要多做一步。两周后图片搜索开始有收录,CDN 日志里出现图片蜘蛛的请求。

提醒一点。图片条目最好和页面同域,跨域叠加防盗链是最常见的组合坑。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189