现场是这样的。站点信息里 publisher 只写了名称和网址,测试工具提示需要 logo,作者信息完整的文章也一样报错。

这类报错背后常见的原因有几处,逐个排除就行。publisher 必须是组织类型且带图片;图片小于 112 像素会被忽略;图片写成相对路径解析失败。

第一件事是看 publisher 的实际结构

curl -s https://www.example.com/post/ | grep -o '"publisher":{[^}]*}'

随后确认 logo 用的是绝对地址

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

然后确认图片可访问

curl -sI https://www.example.com/logo.png | head -1

复测富媒体

curl -s https://www.example.com/post/ | grep -c 'Organization'

这次没动代码,只在配置和运行环境上找原因。

隔了一天再看,现象没变,说明不是偶发。

那几天正好在做别的变更,先把时间线对齐才敢动手。

排查用的命令都是临时敲的,没有写成脚本,事后才整理。

手上没有现成的复现脚本,就照着线上请求手工拼了一个。

恢复的判定其实很直接。测试工具里发布方没有缺失字段,文章富媒体正常,作者信息卡片可见。

logo 建议用正方形带背景,透明图在某些展示位会被裁掉。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189