图片 sitemap 只写了 image:loc,image:title 和 image:caption 全是空标签,图片 tab 里标题显示的是文件名加一串数字,点击率不到百分之一。
原因不止一个,得分开看。生成脚本没读附件标题,字段直接输出空值;附件标题本身就是 IMG_2026 这类默认名,没有可用文本;image:caption 从正文摘要截取,截到的是模板文案;同一张图在多篇文章复用,标题被最后一个循环覆盖。
先抽查 sitemap 里的图片字段
curl -s https://www.example.com/image-sitemap.xml | grep -A2 'image:loc' | head -20
再往下统计附件标题为默认名的数量
SELECT COUNT(*) FROM wp_posts WHERE post_type='attachment' AND post_title REGEXP '^IMG_[0-9]+';
然后按图片所在文章标题生成 image:title
SELECT p.post_title FROM wp_posts p WHERE p.ID=123;
剩下的就是重新生成后对比非空比例
curl -s https://www.example.com/image-sitemap.xml | grep -c 'image:title'
当时还开着另一个排查窗口,两边日志对照着看才定位到。
同一份数据我导出了两份,一份留底,一份拿来试。
恢复的判定其实很直接。sitemap 里 image:title 非空比例到九成以上,图片 tab 的标题变成可读短句,点击率升到百分之三左右。
image:title 不是必填,但它是图片在搜索结果里唯一的文案来源,留空等于把标题交给文件名。这类问题最好一次改到位,反复小改反而容易把原因搅混。
