Facebook多个og:image标签 - 哪一个是默认的?

43

我的网站指定了多个og:image标签,我想控制其中一个成为默认的。它与它们被指定的顺序有关吗?

目前这些图片在链接发布选择器中的顺序是#3、#1、#2(#3是默认值),这似乎很不寻常。

感谢您提供的任何见解。


你真的不应该定义多个 og:image 标签。你想通过拥有一个以上的标签来实现什么? - Colm Doyle
3
这很不寻常吗?当用户分享链接时,它将允许他们选择在他们的Feed上显示哪个图像。无论如何,那是我理解的。 - MadHenchbot
6
在我的看法中,在OG标签中定义多张图像并不罕见,这样用户在分享时可以进行选择。这完全取决于内容的类型。例如,如果是产品页面,可能希望使用该产品的一个特定高质量图像,以便人们更容易地识别它。话虽如此,我不知道如何定义默认图像,我一直认为首先定义的图像就是默认图像... - andyrandy
3
OG定义og:image为一个数组。 - pixelearth
Pinterest定义了您可以有多个og:image标签https://developers.pinterest.com/rich_pins_article/我需要它们的最可能原因(在我的情况下)是为了拥有不同大小/比例的图像,这些图像在不同的网站上看起来更好,例如一个用于Facebook,另一个用于Twitter和另一个用于Pinterest。 - lloydphillips
3个回答

30

我很好奇,所以四处搜寻答案关于“默认图片”的问题。这是唯一一个我找到的任何研究过此事的链接,他们建议更高分辨率的图片会获得最高优先级:

如何为在评论中插入的链接设置Open Graph图像的优先顺序。(不涉及分享或墙贴。)

然而,根据那个例子,FB可能只是选择列表上最后一个og:image标签。之前的一个SO答案得出了类似的结论:

Facebook sharer.php,如何拥有多个og:image标签?

如果我用更多的标签并且FB始终选择最后一个标签,你就有希望解决问题了。:)


4
根据今天的一些实验,我得到了相同的结果。无论顺序如何,Facebook都默认选择最大的(以像素为单位)图像。我还没有测试它是整体面积、宽度还是高度,但至少这是一个线索。这让我想起了我正在使用的WordPress插件(WordPress SEO by Yoast),它将所有文章图片添加为og:image标签,而不管其大小。只有大于200x200的图片才会被FB接受为选项,但最大的那张图片被证明是默认选项。 - Sarah Lewis

11

来自Open Graph Protocol

数组

如果一个标签可以具有多个值,请在您的页面上放置同一<meta>标签的多个版本。在冲突时,优先选择从顶部到底部的第一个标签。

<meta property="og:image" content="http://example.com/rock.jpg" />

<meta property="og:image" content="http://example.com/rock2.jpg" />

当我在Facebook分享调试器中测试此代码时,只会看到第一个图像的预览。但是当我在Facebook上分享我的URL时,我会看到第一个图像的预览以及左/右按钮选择第二个图像,如下所示:

Facebook left/right image share buttons.


我有同样的问题。是否有一种方法让Facebook仅使用Facebook Sharing Debugger中看到的内容? - SinunHenkka

3
以下是我的建议。在您的网页头部插入以下代码:

这是对我有效的做法。在您的页面头部,插入以下代码:

<meta property="og:image" content="http://yourdomain.com/yourimage.png" />

这可以让我选择的图片具有优先权。它应该是你页面上分辨率最高的照片之一。

然后,使用此工具强制Facebook清除其缓存。此调试器工具还将向您显示Facebook偏爱哪个图像。


3
感谢您提供调试器链接。能够清除那张图片真是太有用了,否则会非常难以处理! - Alexis Wilke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接