浏览器无法替你读取别人的站点,所以网址由我们的服务器抓取。我们不记录、不保存,也不会交给任何第三方。
粘贴一个网址,看看它的分享卡片
你会看到 Facebook、X、LinkedIn、WhatsApp、Discord、Slack、Telegram 和 iMessage 各自渲染出的卡片,还有一份缺失项清单。
为什么链接预览显示的是错的图?
几乎总是这五种情况之一。别的工具只会让你“加上 og:image”,可你明明已经加了,这个 OG 标签检测会直接指出是哪一种。
og:image 不止一个
主题加一个,插件又加一个,而各平台绝大多数时候只取 head 里遇到的第一个。你想要的那张通常在下面。上面的标签表会列出每一个候选,并标出最终生效的那个。
图片写成了相对路径
og:image="/img/card.png" 不是抓取程序能取到的地址。它必须是绝对地址,而且要按跳转之后的最终地址来解析,而不是你输入的那个。如果站点会跳到 www,本地能用的路径在线上可能指向空。
图片开了防盗链
在你的浏览器里能正常打开,是因为你有会话,也带着正确的 referer。抓取程序两样都没有,拿到 403,卡片就退回到没有图。这个工具用陌生人的身份去加载图片,所以问题会在这里暴露,而不是等你发出去之后。
平台还在拿缓存给你看
一小时前刚改好标签,旧图还挂在那里。每个平台各自缓存预览,有些能留好几周。你这边怎么改都清不掉,只能用平台自己的工具重新抓取这个网址。
页面本来就没有这些标签
如果你的站点是前端渲染的,标签存在于开发者工具里,而不在服务器返回的 HTML 里。没有哪个抓取程序会等 JavaScript 跑完。这是现代技术栈上最常见的原因,也是大家最不愿意相信的一个。
Open Graph 标签,到底哪些是必需的?
撑起整张卡片的只有四个,其余都是打磨。把二十个标签都标成同样紧急的检测工具,帮不上你的忙。
og:title 和 og:description
标题,以及标题下面那两行。没有 og:title,平台会退回到 <title>,而 <title> 通常是为搜索结果写的,拿来当卡片标题读起来很别扭。没有描述,卡片正文就是一片空白。
og:image,绝对地址,宽度至少 1200px
Facebook 的文档写明最低 200x200、推荐 1200x630。LinkedIn 的文档写明 1200x627,并说明宽度小于 401px 的图会显示成小缩略图而不是横幅。一张 1200x630 的图就能同时满足所有平台。
twitter:card
X 真正需要你提供的只有这一个标签。设成 summary_large_image,剩下的交给 Open Graph 标签即可:当 twitter: 对应项缺失时,X 会去读 og:title、og:description 和 og:image,所以不用重复写一遍。
og:url,以及那些只管收尾的
og:url 能避免同一个页面因为带了不同的追踪参数而被算成好几个。og:image:width 和 height 让平台在图片到达之前就先排好版。og:type、og:site_name、og:locale 和 og:image:alt 属于锦上添花。
已经有 Open Graph,还需要 Twitter 标签吗?
多数情况下不需要,很多重复的标记就是这么来的。在你从某篇博客复制那段十五行代码之前,有两件事值得先弄清楚。
X 会自己退回到 Open Graph
如果 twitter:title、twitter:description 或 twitter:image 缺失,X 会改读 og:title、og:description 和 og:image。所以你真正必须加的只有 twitter:card,它决定画小方块的 summary 还是大横幅。补齐其余的,只有在你想让 X 显示与别处不同的内容时才有意义。
property= 与 name=,为什么两种都能用
Open Graph 规范把标签放在 property= 上,X 的卡片规范把自己的放在 name= 上。实际上两个平台两种都读,所以只匹配一种写法的检测工具,会把你一半的标签报成缺失。这个工具两种都解析,并会告诉你用的是哪种写法,作为提示而不是错误。
为什么预览里还是那张旧图?
因为平台看的根本不是你的页面。它看的是第一次有人分享这个链接时抓下来的副本,而且会一直这样,直到有什么迫使它重新看一遍。
缓存是各平台各自一份
改好标签不会通知任何人。Facebook、LinkedIn 和 X 各留各的副本,所以同一个链接可能在一处显示正常,同时在另外两处还是旧的。
用官方工具重新抓取
Facebook Sharing Debugger、X Card Validator 和 LinkedIn Post Inspector 都有一个强制重新抓取的按钮。这是唯一可靠的清除方式,而且立刻生效。
聊天软件基本不缓存
WhatsApp、Telegram、Discord 和 Slack 通常每发一条新消息就重新抓一次,所以想不等别人就确认修复效果,用它们最快。
换一个新网址是最后的退路
如果某个平台就是不肯刷新,分享一个它从没见过的网址就能完全绕开缓存。通常加一个查询参数就够了。
不确定一个短链接最后会去哪里? 用二维码解析工具还原它
标签修好了,需要一条干净的链接来分享? 用免费短链接工具生成一条
预览只是容易的那一半,知道这次点击带来了什么才是另一半。
一张好卡片能换来点击。可在那之后,一条裸网址什么都告诉不了你:不知道访问从哪来,不知道到底是哪个平台带来的,发出去之后也没法改到别处。LinkScale 补的就是这块空白。
看清是哪个平台带来的
按来源、国家和设备拆分点击,你就知道出力的是那条 LinkedIn 帖子还是邮件通讯。
事后还能改目标地址
把已经发出去的链接指到新地方,不用请任何人再分享一次。
卡片原样保留
LinkScale 链接自带分享标签,所以缩短它并不会毁掉你刚修好的预览。
关于链接预览的常见问题
免费,不用注册,也没有值得一提的使用限制。因为浏览器无法替你读取别人的站点,网址由我们的服务器抓取,而那个接口做的事只有三件:取回页面、提取标签、返回结果。我们不记录,不写进任何数据库,也不交给第三方。如果你希望什么都不离开自己的电脑,用粘贴 HTML 的模式,全部分析都在浏览器里完成。
卡片修好了,接下来看看这次点击到底值多少。
LinkScale 让你看清每一次点击从哪里来,还能在链接发出去之后改掉它的目标地址。
Free 14-day trial on every plan
