页面上线了,链接也分享出去了——预览却显示错误的图片,甚至什么都没有。几乎所有 OG image 问题都逃不出三种情况:**标签缺失、图片 URL 失效、缓存陈旧。**本指南教你在分享前预览 OG image,并在每种故障出现时逐一修复。
先检查标签
在动用任何工具之前,先查看页面源代码(Ctrl+U / Cmd+U),确认 <head> 中存在这些标签:
<meta property="og:title" content="Launch day: v2.0" />
<meta property="og:description" content="Everything new in this release." />
<meta property="og:image" content="https://example.com/og/launch.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta name="twitter:card" content="summary_large_image" />两条规则就能立刻揪出大多数问题:
og:image必须是绝对 HTTPS URL。相对路径(/og/launch.png)在大多数爬虫上会失败。- 图片 URL 必须公开可访问——用无痕窗口打开它。如果需要登录、发生重定向或返回 404,任何平台都无法抓取。
如果你不确定图片尺寸是否正确,先看我们的 OG image 尺寸指南——正确的尺寸是预览成功的另一半。
各平台的预览工具
各大平台都提供官方调试工具,能准确展示其爬虫看到的内容:
| 平台 | 工具 | 功能 |
|---|---|---|
| Sharing Debugger(分享调试器) | 显示抓取到的卡片、列出警告,并提供“Scrape Again”(重新抓取)按钮 | |
| Post Inspector(帖子检查器) | 渲染预览,且每次检查都会刷新 LinkedIn 的缓存 | |
| X (Twitter) | 撰写一条草稿帖子 | X 已下线独立的 Card Validator 预览——把链接粘贴到草稿里(或私信发给自己)即可看到实际卡片 |
| Slack | 给自己发消息 | Slack 实时展开链接;给自己发私信是最快的 OG 预览方式 |
| Discord | 粘贴到任意频道 | 嵌入卡片会根据你的 Open Graph 标签立即渲染 |
| WhatsApp / Telegram | 发送到“Saved messages”/发给自己 | 两者都读取 og:image;Telegram 缓存很顽固(见下文) |
一套实用的工作流:先修好标签 → 跑一遍 Facebook Sharing Debugger(它的警告最详细)→ 再抽查你真正关心的平台。
强制刷新缓存
平台会非常激进地缓存链接预览——有时长达数周。如果你已经更新了 OG 图片,却一直看到旧图:
- Facebook: 打开 Sharing Debugger 并点击 Scrape Again。
- LinkedIn: 把 URL 跑一遍 Post Inspector——检查动作本身就会清除缓存。
- X: 没有手动刷新方式;缓存通常在一周左右自动过期。
- Telegram: 把你的 URL 发给
@WebpageBot,强制重新抓取。 - 万能兜底方案: 更换图片 URL。追加版本参数(
/og/launch.png?v=2)——或者更好的做法,使用内容哈希文件名——所有平台都会立即将其视为一张全新图片。
如果你的 OG 图片由自动化流水线生成,从第一天起就把版本号或哈希写进文件名。缓存失效从此不再是问题。
为什么 OG 图片还是不显示
调试工具都跑了,图片依然缺失?按这份清单逐项排查:
- 图片太大或加载太慢。 爬虫遇到几 MB 的文件会超时。控制在 1 MB 以内(WhatsApp 则要远低于 300 KB)。
- 图片尺寸低于大卡片阈值。 小于 600×315 时,Facebook 会退回小缩略图。按 1200×630 导出——尺寸指南有完整说明。
- 页面屏蔽了爬虫。 检查
robots.txt、防火墙或反爬层是否对facebookexternalhit、Twitterbot或LinkedInBot返回 403。 - 标签由客户端注入。 大多数社交爬虫不执行 JavaScript。OG 标签必须出现在服务端渲染的 HTML 中。
- 多个
og:image标签互相冲突。 平台一般只取第一个——清理模板或插件遗留的多余标签。
在发布前预览,而不是发布后
上面的调试工具只能在事后告诉你哪里出了错。更省事的习惯,是让图片在上线前就是对的。我们的免费 OG image 生成器在你编辑时以精确的 1200×630 尺寸实时预览——编辑器里看到的效果与最终卡片逐像素一致——并导出能通过本文所有检查的优化 PNG。无需注册,没有水印。
FAQ
如何在不发帖的情况下预览 OG image?
用 Facebook Sharing Debugger 或 LinkedIn Post Inspector 获取官方渲染效果,或者在 Slack、Discord 或 WhatsApp 里把链接发给自己——发给自己的消息,展开效果与公开分享完全一致。
OG image 的缓存会持续多久?
各不相同:Facebook 会一直缓存直到你强制重新抓取,LinkedIn 通过 Post Inspector 刷新,X 会在一周左右自行过期。更换图片 URL(?v=2 或新文件名)可以一次绕过所有平台的缓存。
为什么 OG 图片在 Facebook 显示正常,WhatsApp 却不显示?
几乎总是文件大小问题。WhatsApp 遇到过重的图片会直接放弃——压缩你的 PNG 或提供更小的变体,并保持远低于 300 KB。
用 JavaScript 渲染的页面 OG 标签有效吗?
只有当标签出现在服务器的初始响应中才有效。社交爬虫一般不运行 JavaScript,客户端注入的 meta 标签对它们完全不可见。

