现场是这样的。Organization 的 logo 指向 /logo.png,改版时这个文件被删掉,返回 404,品牌知识面板和富媒体里的图片一直是空白,补了新图也没恢复。

中间走过弯路,把「图片被 CDN 缓存成 404,换文件后仍返回旧状态」当成主因,改完现象没变。

真正麻烦的地方在于,几个原因的现象几乎一样。logo 地址 404,整个 Organization 实体被判无效;新 logo 尺寸小于 112x112,不满足最低要求;logo 与站点不同域,被抓取策略挡住。

上来先确认 logo 的返回码和类型

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

随后换成至少 112x112 的方形图

echo '<meta itemprop="logo" content="https://www.example.com/static/logo-512.png">';

然后清掉图片的 404 缓存

curl -X PURGE https://www.example.com/logo.png

复核实体是否完整

curl -s "https://search.google.com/test/rich-results?url=https://www.example.com/" -o /dev/null -w "%{http_code}"

命令输出我都留了记录,免得改完记不清原来的值。

改之前先确认了最近有没有人动过配置,避免白查一遍。

别只看报错消失,验证要多做一步。logo 返回 200 且尺寸合规,富媒体测试不再提示图片问题,品牌图逐步恢复展示。

这里还有个坑。logo 换地址时要保留旧地址的 301,直接删文件会让实体长期失效。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189