现场是这样的。结构化数据里 Organization 的 logo 原本是 512×512 的 PNG,换成自适应 SVG 后 Rich Results 测试仍显示通过,但品牌知识面板里的图标一直空白,控制台报「image could not be fetched」。

中间走过弯路,把「JSON-LD 里的 logo 用的是相对路径,解析时拼到了错误目录」当成主因,改完现象没变。

把日志和配置对完,能解释这个现象的基本就这几处。Google 对 logo 只接受 PNG、JPG、GIF、BMP 这类位图格式;SVG 返回的 Content-Type 是 text/plain,连抓取都被拒绝;页面里同时输出了两套 Organization 一份在页脚一份在 head。

上来先抓一下 logo 地址的响应头

curl -sI https://www.example.com/static/logo.svg | head -6

然后换回位图并写明绝对地址

"logo": "https://www.example.com/static/logo-512.png"

接着用测试工具确认图片可被抓取

curl -s -o /dev/null -w '%{http_code} %{content_type}\n' https://www.example.com/static/logo-512.png

末了重新校验结构化数据

curl -s https://www.example.com/ | grep -o '"logo":"[^"]*"'

别只看报错消失,验证要多做一步。换成 512×512 的 PNG 并补上绝对地址后,测试工具不再报图片错误,两周后品牌面板的图标恢复显示。

logo 尺寸建议不低于 112×112 且为正方形,圆角或裁切过多的图在面板里会被压缩变形。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189