图片站点地图里 image:loc 用的是源站地址,前台 img 标签却走 cdn.lu0.cn,两边域名不一致。图片搜索里只能搜到三个月前那批老图,新图一张没有。

真正麻烦的地方在于,几个原因的现象几乎一样。站点地图和页面引用的图片域名不一致,引擎按页面实际资源抓取,地图里的条目被忽略;CDN 域名没有独立验证,图片所在子域在站长工具里属于未验证资源;图片响应头带了 noindex,防盗链规则顺手把搜索引擎也拦了;图片 URL 带随机版本号,每次刷新都变,抓过的地址全部失效。

先对比地图条目与页面实际图片地址

curl -s https://www.lu0.cn/sitemap_images.xml | grep -o 'image:loc>[^<]*' | head -3

再往下检查图片响应头有没有禁止索引

curl -sI https://cdn.lu0.cn/2026/11/a.webp

随后把地图里的域名统一改成 CDN 域名

sed -i 's#https://www.lu0.cn/wp-content#https://cdn.lu0.cn/wp-content#g' sitemap_images.xml

末了在站长工具里补验证 CDN 子域

改完先别撤,确认这几项。重新提交后图片地图的抓取错误清零,两周内新图开始出现在图片搜索,图片带来的点击从个位数涨到三位数。

提醒一点。换图片域名时别只改前台模板,站点地图和结构化数据里的 image 字段要一起改,三处不一致会让引擎反复试错。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189