curl -X POST 'https://graph.facebook.com/?id=https://www.example.com/post/1&scrape=true' curl -I https://cdn.example.com/cover.jpg | findstr ETag
文章换了封面,Facebook 分享调试工具里还是两个月前的旧图,点强制刷新只更新了标题,图没变。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,平台按 URL 缓存抓取结果,周期从几天到一个月不等,图片地址没变就不会重新取。新图虽然覆盖了同名文件,CDN 边缘节点还留着旧对象。
「社交平台抓取缓存」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。改完隔一天再看一次,当场正常不代表能稳住。
测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
处理上按这个顺序:给封面图加内容哈希或版本号 换图就换地址;在调试工具里点 Scrape Again 触发重抓;CDN 上把旧图路径刷一遍 确认回源是新文件。
改完只确认一件事:调试工具里预览图换成新封面,实际分享一次卡片图也同步更新。
