Facebook开放图像未显示

33

我已经通过调试器运行了我的网站,正确的og:image得到了调用,但是当我在我的网站上点击分享按钮时,出现了不同的图像。如果我在我的iPad上点击分享按钮,我会得到错误的图像加上第二个正确的图像。在Chrome和IE9中进行了测试,都没有给我正确的图像。这在几天前还能正常工作。

网站是www.bodhitee.com

以下是我的OG标签

<meta property="og:title" content="20% of each sale helps fight reckless fracking and mining."/>
<meta property="og:description" content="www.bodhitee.com: Cool Baby and Kids Clothes for a Cause"/>
<meta property="og:image" content="https://www.bodhitee.com/product_images/uploaded_images/bodhitee-fb-earthworks-nofrack.jpg"/>

由于我的回答似乎帮助了很多人,如果您能接受我的答案并将此问题标记为已解决,我会很高兴的,谢谢! :) - Kleskowy
9个回答

73
当从URL中提取网页时,Facebook会对其内容进行缓存以供以后使用。这意味着如果Facebook曾经从您的网站提取数据,然后您的网站更改了(例如,您的og:image标签更改),Facebook将不会更改图像,因为它已经在其一侧缓存了所有内容。
尝试访问Facebook调试器页面并查看Facebook“看到”的内容。使用此工具可以强制Facebook从给定的URL刷新数据。这是最好的调试方法。
当确保Facebook“看到”正确的og:image标签时,请确保og:image中的图像具有适当的最小宽度/高度(在fb调试器中都有解释)。如果不符合FB的标准,Facebook将不使用og:image中的图像。
每当您的网站在FB上出现任何问题时,我强烈推荐使用此工具。

3

我读到过安全URL需要在调用中添加额外代码。

og:image:secure_url - 如果网页需要HTTPS,则使用的备用URL。


3

说实话,我的问题是我在cpanel上启用了“热链接保护”,这使得Facebook无法获取并分享图片。我取消了该选项,现在图片已经显示出来了。


这个设置在哪里?我在开发中心找不到它的任何位置... - Nicholas Siegmundt

2

2
我注意到你的图片是一个安全链接。我曾经遇到过同样的问题,但我将其改为http(不安全),在Facebook调试器工具中刷新1或2次,然后它就可以正常工作了!
在这个问题/答案中有一堆og:image https的东西:FB OpenGraph og:image not pulling images (possibly https?)

2

你应该使用 Facebook 的链接调试工具来检测问题。

https://developers.facebook.com/tools/debug/sharing/

只需输入您想要检查问题的链接即可。

如果 Facebook 缓存了您的链接,那么您可以点击 [再次抓取] 按钮重新加载您的链接。

如果您的链接存在任何问题,则 Facebook 将会为您发出警告。


1
我只是想在这里发表一下关于每个Facebook OG:图像不显示话题的看法。啊!我简直不敢相信我昨晚和今天浪费了那么多时间在这上面。真是让人发疯!我跟随了每一条线索,但Facebook继续忽略我的og:image属性(我甚至删除了web.config中的url重定向并重新编码网站,以便我可以拥有一个非安全和安全版本的图像)。所有东西看起来都没问题,但它仍然忽略该属性。

然后...

我来到了这里:

https://developers.facebook.com/tools/explorer/?method=POST&path=%3Fscrape%3Dtrue%26id%3Dhttps%3A%2F%2Fwww.google.com&version=v5.0

这是您想要使用的工具,而不是这个:

https://developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fwww.google.com

探测器提供了详细的错误信息,分享调试工具没有提供,特别是在我的情况下:
我的图像文件名中有未进行URL编码的空格。如果文件名中有一个空格,则可以浏览该文件,但Facebook会拒绝它在分享调试器页面上的属性(不确定为什么他们称其为调试器,实际上探测器才是真正的调试器)。 (如果我能帮助到至少一个人,那么我的痛苦就值得了)。
哦,对了...探测器的链接位于“调试器”页面的底部(标题为通过API进行刮擦)。

0

我刚刚不得不等待大约5分钟才能刷新。


0
我认为通过使用以下代码行,我已经解决了这个问题。在我看来,这并没有逻辑上的意义,因为我的 og:image 标签是完美的,而且 Facebook 也看到了它。
<meta itemprop="image" content="https://blahblahurl.png">

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