实用工具

Open Graph 与 Twitter Card 标签生成器

生成分享链接所需的 title、description、canonical、Open Graph 和 X 卡片标签,并提示搜索结果中的截断长度。

浏览器本地运行站长与 GEO8514
免费

输入

0 B

结果

结果会显示在这里。

链接贴到 Slack、飞书、LinkedIn、Facebook、Discord 或 X 里长什么样,由几个 meta 标签决定,而大多数页面总会出点小错:og:image 用了相对地址、缺了 og:url、标题长到被截断。用简单的几行写下页面的标题、描述、网址和图片,这里会输出整套标签——title 与 description、canonical 链接、ogp.me 定义的 Open Graph 属性以及 X 卡片标签——并做好转义。它还会按 Google 常见的展示宽度衡量标题和描述,并列出 Open Graph 四个必需属性中缺了哪些。在 Next.js 项目里,可以用 next-seo(garmeeh/next-seo,8.5k star,MIT)或框架自带的 metadata API 在代码中生成同样的标签。

它是怎么工作的

  • 用简短的键就行——title、description、url、image、image:alt、site_name、type、locale——任何 og:、article:、twitter: 属性也可以按规范原样写入。
  • og:type 默认为 website,canonical 默认取 url 那一行,写成 en-US、zh-cn 的语言代码会改写为 Open Graph 要求的 en_US、zh_CN。
  • 默认只给 X 加 twitter:card,因为 X 会回退读取 og:title、og:description 和 og:image;有图片时卡片类型自动设为 summary_large_image。
  • 计算标题和描述宽度时,一个中日韩字符按两个计,因为 Google 按像素宽度截断,而汉字大约是拉丁字母的两倍宽。

你的数据去了哪里

哪也没去。本工具完全在你的浏览器里运行:你粘贴的文本由页面处理,不会传输到任何服务器,也不会写进任何日志。

本工具免费且无需登录,运行结果只存在于你当前的页面里,不会被保存到任何地方。

它要花多少

本工具完全免费,不需要登录,也不消耗积分。

常见问题

标题和描述写多长合适?
Google 大约在 600 像素处截断标题,约合 60 个英文字符或 30 个汉字;描述大约在 155–160 个字符处截断。这些是经验值而非硬限制:超长的内容照样会被收录,只是结尾变成省略号。各社交平台有自己的截断规则,通常更宽松。
og:image 应该用多大的图?
1200×630 像素(1.91:1)是 Facebook 和 LinkedIn 推荐的尺寸,也适用于 X 的大图卡片。请使用绝对 https 地址,文件控制在几 MB 以内,并写上 og:image:width 和 og:image:height,这样第一次分享时不必等图片下载完就能渲染出卡片。
标签改了,分享出来还是旧的预览,怎么办?
各平台都会缓存抓取过的预览。Facebook 的 Sharing Debugger 和 LinkedIn 的 Post Inspector 都能强制重新抓取;其他平台可以在分享的网址后加 ?v=2 之类的参数,让它看起来是一个新链接。注意微信内的分享卡片主要由微信 JS-SDK 控制,og 标签在微信里并不可靠。
还需要 twitter: 开头的标签吗?
只有 twitter:card 是必需的,没有对应的 twitter: 标签时,X 会读取 og: 的标题、描述和图片。如果想让卡片署名,可以加 twitter:site(网站的 @账号)和 twitter:creator(作者的 @账号);账号漏写 @ 时工具会自动补上。

背后的开源项目

本工具是独立实现,并未打包第三方库。garmeeh/next-seo(MIT)在代码层面做的是同一件事——如果你需要在自己的程序里实现它,从那里开始,而不是调用一个网页。

garmeeh/next-seo

也常被称作

  • og标签生成
  • open graph生成器
  • meta标签生成器
  • twitter card生成
  • 分享卡片标签
  • 网页meta标签