Discourse链接在Twitter上的图片预览优先级顺序是什么?

我知道当你在 Twitter 上发布论坛链接时,如果链接帖子包含一个或多个图像,Twitter 上的帖子预览将显示该图像或帖子中的第一个图像作为预览缩略图。

我还读到有“分类图像”可以显示为缩略图,并且在站点设置中还有一个“Twitter 摘要大图像”选项,但我从未见过后两种选项在 Twitter 上作为缩略图生效,因为如果论坛帖子本身正文中没有图像,我得到的缩略图只是默认的灰色图像,中间有一个图标,位于文本预览的左侧。

那么,我该如何控制在 Twitter 上显示的帖子缩略图呢?

非常感谢你的帮助。

附注:Twitter API 密钥已存储,Twitter 登录正常工作。

1 个赞

您好,

有几个设置选项:

  1. opengraph image
  2. twitter summary large image
  3. category logo image
  4. post first image

opengraph image 是基础。如果您只设置了这个,那么在没有帖子或分类图片时它就会显示。

如果您设置了 twitter summary large image,它将在 Twitter 上覆盖 opengraph image。因此,它将在 Twitter 上显示,而不是 opengraph image

分类 logo 图片和帖子首图始终优先于其他选项。


优先级顺序:

  1. 帖子首图和分类 logo 图片
    (如果缺失):↓

  2. twitter summary large image
    (如果缺失):↓

  3. opengraph image
    (如果缺失):↓

  4. large icon

(如果我没记错的话)


配置

您可以在此处设置 opengraph imagetwitter summary large image/admin/site_settings/category/branding


对于分类 logo 图片,请转到特定分类的设置中的“图片”选项卡。


Twitter 测试

我分享了一个不包含图片且设置了 twitter summary large image 的帖子链接:↓

我分享了一个包含图片且设置了 twitter summary large image 的帖子链接:↓

我分享了一个不包含图片且未设置 twitter summary large image,但我设置了 opengraph image 的帖子链接:

我分享了一个包含 category logo image 的分类链接:

分享一个没有 opengraph image 和其他设置的网站链接。


希望这有帮助 :slightly_smiling_face:

3 个赞

我遇到了麻烦。我有两个帖子表现不同,我弄不清楚为什么。一个帖子在 Twitter 上显示 onebox 预览图片。另一个显示 twitter_summary_large_image。

这个帖子按预期工作。
https://community.abs-consulting.com/t/welcome-to-issue-65-of-the-abs-devops-scm-e-newsletter/22

这个帖子不按预期工作。
https://community.abs-consulting.com/t/devsecops-platforms-help-smbs-scale-as-they-grow/113

欢迎 robert :wave: :slight_smile:

我看到了两个常规的 onebox:


是的。那段代码可以工作。但当它被分享到社交网络时,我会得到不同的行为。

1 个赞

每个网站都有自己的方式来选择在显示预览时用作缩略图的图片。

通常,元标签会指定一张图片,这是首选。

您的链接没有此类标签,因此各种网站会根据自己的标准从页面 HTML 中选择图片。

我不知道 Discourse 具体如何选择要使用的图片。它甚至可能从各种 HTML 部分构建合成图片。 :person_shrugging:

1 个赞

好的,这说得通。但我认为这两个帖子应该表现得一样。除非 Discourse 或 Twitter 以某种方式解析了 onebox 展示的链接,然后从中查找 meta 标签,而不是从 Discourse 帖子中查找?这或许可以解释为什么第一个帖子链接到一个定义了 meta 标签的网页,而第二个帖子 onebox 引用的帖子却没有。

您在这里的意思是 Discourse 帖子没有“meta-tag”,还是 onebox 引用的链接没有“meta-tag”?

我说的是这个。您分享的页面应该具有大多数平台(Twitter、Facebook、Discord、Discourse 等)将使用的正确元标签。 :slight_smile:

我认为这是一个学习这方面知识的好资源:

看起来我已经解决了这个问题。我必须更改设置“文件 >> 将远程图像下载到本地”。现在已启用。我通过禁用创建主题进行了测试。重新启用,创建一个重复的主题。接下来,我检查了两个主题中的缩略图。一个引用本地图像存储。另一个引用链接中的远程图像。

接下来,我将每个主题分享到社交网络,LinkedIn 因为预览有效。在本地图像存储的情况下。LinkedIn 预览会从我的社区中获取本地图像。另一个则提供设置中的 opengraph_image,而不是链接网站中的缩略图。

因此,似乎我需要启用“文件 >> 将远程图像下载到本地”设置,才能在分享链接时,将 onebox 中的预览图像显示到社交网络。