现场是这样的。站点信息里 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 建议用正方形带背景,透明图在某些展示位会被裁掉。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。
