记录一下那天晚上的排查过程。文章页的 og:image 统一用 1200x630 的原图,移动端搜索结果里的缩略图被裁成半张,图表右边一截不见了。换成专用比例的图后仍然被裁,CDN 缓存里的旧图一直没换。
刚开始盯着「图片主体偏左 居中裁剪后正好切掉」,折腾了半个多小时,排掉了。
把日志和配置对完,能解释这个现象的基本就这几处。摘要图比例与展示位不一致 被居中裁剪。也可能是og:image 指向的地址被 CDN 缓存。
还有一种情况,同一页面有多个 og:image 抓取时取了第一张。
先看页面输出的 og:image
curl -s https://www.example.com/p/1 | grep -o '<meta property="og:image"[^>]*>'
单独生成摘要图并居中裁切
convert cover.jpg -resize 1200x630^ -gravity center -extent 1200x630 og.jpg
接着把主体收进画面中间三分之一
convert og.jpg -gravity center -crop 800x630+0+0 +repage og-center.jpg
末了清图片缓存并复验
curl -X PURGE https://www.example.com/img/og-1.jpg
别只看报错消失,验证要多做一步。摘要图在移动端完整显示主体,缓存头里的 age 归零。
提醒一点。摘要图和正文首图分开做,一张图同时满足两个位置通常两边都不好看。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
