在 WhatsApp 中显示链接缩略图 || og:image 元标记无效

141

尝试跟进这个问题:为WhatsApp链接分享提供一张图片

在此输入图像描述

我已经创建了一个简单的HTML网页,并使用了基本的Facebook元标记:

<!--FACEBOOK-->
<meta property="og:title" content="San Roque 2014 Pollos" />
<meta property="og:description" content="Programa de fiestas" />
<meta property="og:image" content="http://pollosweb.wesped.es/programa_pollos/play.png" />        

Facebook的验证工具已经正确地验证,并且在Facebook上显示正常,但是当我尝试通过WhatsApp分享时,图片无法显示。

我是在安卓版WhatsApp上尝试的。

这是示例网页的URL链接


1
奇怪...og:image应该足够了。我试图分享一个YouTube链接,我可以在我的聊天中正确地看到缩略图。我尝试查看YouTube是否使用更多的元标记,但没有发现任何特殊的东西...我们面临着缓存问题吗? - cs.edoardo
不好意思,你确定这是可能的吗?你以前在其他地方见过吗?你有一些链接可以在 WhatsApp 上预览吗? - ProllyGeek
在WhatsApp中是否可以增加图片的高度和宽度? - Chandresh Kachariya
我使用了相同的标签,但它不起作用,请指导 https://stackoverflow.com/questions/47236739/open-graph-protocol-not-working-in-whatsapp - vinox
我能否以content="./images/logo.png"的形式引用图像,而不需要任何HTTP调用? - TMOTTM
我在这里添加这个信息,因为它很有帮助... 如果作为缩略图使用的图像位于一个https服务器上,该服务器会对来自非https请求的301重定向进行处理,并且在og:image:url中放置非https URL,则WhatsApp客户端将不会遵循301重定向。 - Zardoz89
27个回答

2
我在这里记录了完美的详细解决方案 - https://amprandom.blogspot.com/2016/12/blogger-whatsapp-rich-link-preview.html。需要完成七个步骤才能获得完美的预览。
  1. 标题:在网页中添加关键字丰富的标题,最多不超过65个字符。

  2. Meta描述:用最多155个字符描述您的网页。

  3. og:title:最多35个字符。

  4. og:url:完整的网页地址链接。

  5. og:description:最多65个字符。

  6. og:image:建议使用小于300KB且最小尺寸为300 x 200像素的图像(JPG或PNG)。

  7. favicon:32 x 32像素的小图标。

在上述页面中,您可以找到所需的规格、字符限制和示例标签。如果您满意,请点赞。


请解释一下你的链接在做什么……链接可能会消失。 - Kurt Van den Branden
你的源代码仅来自测试吗?还是这些需求在任何地方都有记录? - Keab42

2
请检查您的缩略图文件格式是否适用于WhatsApp。
在我的情况下,像Messenger或Telegram这样的其他聊天应用程序可以使用GIF缩略图正常工作,但是WhatsApp不行,因此我必须更改我的图像URL。
   <meta property="og:image" content="https://i.imgur.com/3lwkZdD.png" />
   <meta property="og:image:type" content="image/png" />

2

不确定是WhatsApp的问题还是其他什么原因,但是在链接结尾没有加 "/" 的情况下,我的操作是成功的。

例如:

https://example.com - 可以正常工作
https://example.com/ - 缩略图无法显示


2
对于仍然遇到这个问题的所有人,就我而言,发布的解决方案都没有奏效。
我也遇到了类似的问题。在所有其他共享对话框中,图像都能正确显示。只有WhatsApp无法显示图像,尽管Facebook调试器已经正确地设置了og:image标签。
对我有效的解决方案是: 我正在使用Firebase。对于他们存储的上传内容,您会获得一个带有媒体令牌的唯一下载URL,例如:

https://firebasestorage.googleapis.com/v0/b/XXXX.XXXXXXX.com/?alt=media&token=YYYYYYYY-YYYYYYYYYY-YYYYYYYYYYYYY

我在 og:image 元标签中使用了此 URL。它对 Facebook 等网站有效,但似乎 WhatsApp 无法从此 URL 下载图像。 相反,您需要将图像包含在项目目录中,并使用此链接作为 og:image 标签。现在,在 WhatsApp 中也可以正常工作。

之前的做法(在 WhatsApp 中不起作用,但在 Facebook 等网站上可以)

<meta property="og:image" itemprop="image" content="https://firebasestorage.googleapis.com/v0/b/XXXX.XXXXXXX.com/your_image?alt=media&token=YYYYYYYY-YYYYYYYYYY-YYYYYYYYYYYYY">

“现在已经可以在所有测试过的共享对话框中使用,包括 WhatsApp。”
<meta property="og:image" itemprop="image" content="https://domain_name/path_to_image">

希望这能帮到你们中的一些人 :)

你能否进一步阐述一下?到底有什么区别?你是重新编写了图片的URL还是做了其他什么操作? - John Max
很可能域名必须与被分享的链接匹配。 - Kalnode

2
如果在尝试了所有这些提示后,缩略图仍然无法显示,请尝试以下方法:
我的问题是在构建生产环境时(npm run build),og属性中的双引号被移除了。Minify模块做了这件事。
因此,解决方案是取消这种移除,将removeAttributeQuotes属性设置为false:
minify: {
    ...
    removeAttributeQuotes: false,
    ...
}

在我的开发环境中,我将其设置在 "webpack.prod.conf.js" 文件中。请在相应的文件上进行设置。 只需重新构建,现在它就可以工作了。

1
回复 https://dev59.com/7l8f5IYBdhLWcg3wB-7E#35785393
尝试使用更新版本的 schema.org。
<span itemprop="image" itemscope itemtype="http://schema.org/ImageObject"> 
 <link itemprop="url" href="imgurlHere">
 <meta itemprop="width" content="1200">
 <meta itemprop="height" content="800">
</span>

或者使用谷歌提供的json-ld格式。
<script type="application/ld+json">
 {
"@context": "http://schema.org/",
"@type": "ImageObject",
 "url": "ImgURLhere",
    "height": 800,
    "width": 1200

 }
 </script>

2
你能否在你的回答中加入一些解释?仅仅展示代码可能会让一些人感到困惑。 - André Kool

1
在我的情况下,添加以下元标记解决了问题。我正在使用阿拉伯语内容,必须添加此标记才能使图像显示在WhatsApp上:
<meta property='og:locale' content='ar_AR' />

注意:如果您使用的是英文内容,则无需添加此元标记,因为英语是默认值。

1

如果你仍然遇到这个问题,我发现在WhatsApp移动应用程序(包括Android和iOS,但Mac桌面应用程序正常)中,Amazon S3上提供的图片无法正常工作。很可能是我们的AWS设置导致了这个问题,但我也注意到其他网站也出现了类似的情况(例如,带有og:imagethis one命中像https://s3.amazonaws.com这样的域名)。

在我尝试的任何其他平台上都没有问题,只有WhatsApp移动应用程序存在问题。当我把<meta property="og:image" content="https://some-non-aws-location" />指向另一个公共URL,比如一个已经公共分享的Google Drive文件时,它就可以正常工作了。

我还尝试过将图片提交到我们托管和部署在AWS上的存储库中,但那也不起作用。因此,AWS仍然似乎是罪魁祸首。希望这能帮助到某些人!


1
我希望这可以帮助您:

<meta property="og:title" content="Title goes here">
<meta property="og:site_name" content="Site name">
<meta property="og:image" content="imageURLShouldBeFromSameDomainName">
<meta property="og:image:width" content="640">
<meta property="og:image:height" content="300">

请注意imgURL应该从同一域名托管,否则它将无法在whatsapp上显示。我尝试加载了一个来自亚马逊的url,图像预览无法正常工作。

1
你将如何通过Intent发送这些数据? - Raja Jawahar
1
这个问题完全不属于本主题。 - meredrica

1

2020年11月: 根据我的经验,这些元标签是必需的,并且会影响在Whatsapp和WhatsApp缩略图中分享链接时所看到的内容:

<head>
 <meta content='myTitle' property='og:title'/>
  <meta content="myDescription" property="og:Description"/>
  <meta property="og:type" content= "website" />
  <meta property="og:image" itemprop="image primaryImageOfPage" content="https://i.ibb.co/1GRpwND/600px-Approve-icon-svg.png" />
</head>

<body> 内部:
<a href="https://wa.me/?text=https://myaddress.blogspot.com/2020/11/try-16.html" target="_blank" rel="nofollow">Hello whatsApp</a>

更多解释:

1- 假设您有 <meta content='example.com/page1' property='og:url'/>,并且在正文中引用了 <a href="https://wa.me/?text=example.com/page2" >Hello whatsApp</a>,则页面 example.com/page2og:imageog:description 将在 WhatsApp 上呈现,就像您在正文中引用的那样(可能是显而易见的)。

2- 当您 添加/更改 任何开放图谱标签,例如 og:description,并再次单击页面/正文中的 <a></a> 标记时,除非更改 <a></a> 标记的 href="I am a new URL" 或清除 WhatsApp 的缓存,否则在 WhatsApp 上看到的内容不会更改!!

3-我尝试了Png/jpg图像,所有图像大小都小于300 kb,并且像素都大于300*300,并且图像内容是一个httpshttp url,上述代码支持它们两个(不需要og:image:secure_url)。

4-每次添加/更改og内容以在WhatsApp上拥有缩略图时,更改第一次尝试时不会影响!第二次尝试成功。非常奇怪!


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