FB 调试器说我的 og:image 应该更大,即使它很大

Posted

技术标签:

【中文标题】FB 调试器说我的 og:image 应该更大,即使它很大【英文标题】:FB debugger says that my og:image should be larger, even though it is large 【发布时间】:2013-02-14 13:24:27 【问题描述】:

Check out this result of debugging an article using Facebook debugger.

它提出了这个警告:

og:image 应该更大。提供 og:image 不够大。请使用至少 200x200,最好是 1500x1500 的图片。

但是如果你打开下面“og:image”字段中显示的图片,你可以清楚地看到图片足够大——700x350 px。

当我在墙上发布文章时,Facebook 会随机选择图片。

知道为什么会这样吗?

编辑:问题可能是我的 CMS 重定向图片的 url 引起的吗?

【问题讨论】:

我看到了同样的问题,并注意到迄今为止答案的货物崇拜风格。简短的回答是“Facebook 的调试器有缺陷”,我们正在寻找解决方法。元问题是:我们如何引起 Facebook 的注意来修复这个缺陷? Facebook 的调试器是一个糟糕的工具。这个在页面上显示了正确的东西:coveloping.com/tools/open-graph-tag-tester 【参考方案1】:

如果有人仍然遇到此问题,即使 facebook 的 scraper 正确刮取尺寸 >= 200x200 的图像,请等待一个小时,然后去喝咖啡。回来再次调试,应该没问题。 facebook 需要时间来更新其存储的图形数据。

【讨论】:

你可以通过 facebook 调试器自己重新抓取【参考方案2】:

如果图像 url 是 https:// 并且 Facebook 在读取您的 SSL 证书时遇到问题,它将产生这个相当无用的错误消息。要进行测试,请查看图像的 http:// 网址是否有效。如果是这样,您的 CA 证书可能需要一些调整。尝试谷歌搜索“Curl 错误:SSL_CACERT SSL 证书问题:无法获取本地颁发者证书”

注意:即使您的页面使用 https 协议显示没有问题,Facebook 也会深入挖掘以确认您的身份。我认为这是相对较新的。考虑到他们整个假新闻的崩溃,我不会太沮丧。

【讨论】:

【参考方案3】:

您网站的 robots.txt 文件可能会限制 Facebook 抓取工具访问您的网站。当 Facebook 机器人抓取它时,它看不到文件。将图像上传到您网站的根目录。

200x200 像素规则很重要,使用 400x400 可以通过压缩获得更好的图像质量。使用 png 和 jpeg 图像进行测试。

【讨论】:

我认为爬取网站信息的 facebook bot 不像机器人,所以它不关心 robots.txt【参考方案4】:

像@Maria 建议的那样定义 og:image:width 和 og:image:height 参数。

【讨论】:

请投票给您认为有用的答案,而不是提交新答案【参考方案5】:

这是由于我的 CMS 系统重定向了图片的 URL。所以正确的图像出现在 Facebook 调试器中,但 FB 可能在重定向发生之前寻找图像大小,然后它还没有大小。

所以我告诉我的 CMS 不要重定向我的图片的 URL。其工作原理取决于您使用的是哪种 CMS。

【讨论】:

那你做了什么? 我告诉我的 CMS 不要重定向我的图片的 URL :) 其工作原理取决于您使用的 CMS 类型。 @Chris:请在答案中包含上述评论。 对我来说,我必须使图像两边相等,即 512x512,然后它立即起作用。 FB 可能会调整图像的大小以适应 200x200 的框(并限制比例) - 因此,700x350 的图像将被调整为 200x100(小)。 @FredrikJohansson 这太愚蠢了。我所有的图像都是 930 x 523,而且它们都运行得很好。今天只是出于某种愚蠢的原因,即使它的大小相同并且没有做任何不同的事情,它也不想工作【参考方案6】:

尝试添加这个:

<meta property="og:image:width" content="200" />
<meta property="og:image:height" content="200" />

【讨论】:

比整个互联网上的任何东西都好用!!【参考方案7】:

当我遇到 Scraped URL 时,我注意到 Facebook 无法看到与帖子中相同大小的图片。比如把Debug里比较小的图片的url复制下来,粘贴到浏览器中,确实图片很小。现在,转到您的帖子,从您的帖子中复制网址图片,然后粘贴到相同或任何浏览器中。现在图片的尺寸很大。

【讨论】:

【参考方案8】:

我刚刚遇到了这个问题,并尝试另存为质量稍低的 JPEG,正如另一个回答者所建议的那样。一旦我引用了它并在调试器页面上再次尝试,Facebook 再次告诉我,我的图像太小了,而是使用 old 图像,这意味着它抱怨第一个图像时间。

所以我只是再次提交了相同的 URL,它就不再抱怨了。基本上它是一个调试。尝试刷新调试,看看它是否没有为您修复它。

【讨论】:

【参考方案9】:

我有

<meta property="og:type" content="website" />

在元标记中。

删除该行并且它起作用了,因此当前标签如下所示:

    <meta property="og:title" content="PUT TITLE HERE" />   
    <meta property="og:url" content="http://www.example.com" />
    <meta property="og:image" content="http://www.example.com/images/myimage.jpg"/>

【讨论】:

这对我也有用 删除 &lt;meta property="og:type" content="game" /&gt; 并且它有效 这是唯一对我有用的东西。尝试保存为渐进式,尝试使其方形,尝试使其更大,尝试缓存破坏。在我删除网站标签之前没有任何效果。谢谢! 这解决了我的问题。我不知道为什么,但删除 og:type 元标记对我来说停止了该警告。【参考方案10】:

有点晚了,但我在 Photoshop 中创建了一个新的开放图形图像后遇到了这个问题。这没有任何意义,因为在调试器中它仍然显示找到的图像,即 359x379。不过,它仍然抱怨它小于 200x200。

我没有尝试更改任何其他标题标签,因为我不认为这是问题所在。

相反,我再次打开 Photoshop 并再次保存图像。我将它保存为 85% 质量的 JPG 格式——不同之处在于我使用了“渐进式”而不是“优化”。这立即解决了问题,尽管我不肯定“优化”设置是问题。

【讨论】:

由于 FB 一贯的非理性 og: 问题,我觉得我们突然之间都是 MLB 球员,他们发誓不换袜子是上一场比赛的赢家……也就是说,我要试试了穿上这只袜子,因为没有别的办法了。 这个答案救了我,目前我面对的图片超过8mb==,但我的图像只有在我看到你的答案后才600++kbs,我将它保存为低设置并通过调试,我的缩略图出现了。【参考方案11】:

另一个可能导致此问题的问题是在文件名中使用 # 等字符。

尽管浏览器会正确显示它们,但 facebook 会给出错误,指出 img 太小,而实际上它无法读取。

所以请确保您的图像文件名仅使用标准字符 A 到 z、_、-、0-9

【讨论】:

【参考方案12】:

首先,您需要上传超过 200 x 200 的图片(例如,我上传的最大尺寸为 1500 x 1500)。有人说图片的宽高应该是一样的大小。我从来没有机会检查它是否正确。

更新图片大小后问题依然存在,您需要在 og: image 链接中添加某些参数,以使 Facebook 调试器更新图片的缓存。

例如:

<meta property="og:image" content="http://bri.ge/img/brige1.png?t=12345?">

这是参数:?t=12345?

等待大约 5 分钟,问题将得到解决。

【讨论】:

任何超过 200x200 的东西都对我有用,但如果宽度和高度不一样,它会将图像框定为较小尺寸的正方形,而较长尺寸的部分被切掉。 “缓存破坏” ?t=12345 为我修复了它!谢谢!

以上是关于FB 调试器说我的 og:image 应该更大,即使它很大的主要内容,如果未能解决你的问题,请参考以下文章

在对象调试器中获取错误的 ogtype

错误的 og:image 出现在页面元数据上

Jquery 选择元 [property=og:image]?

php Wordpress插件输出og:image:width和og:image:height标签,因为Facebook第一次共享URL时需要它们。

Facebook like - 显示缓存版本 og:image,刷新或重新索引的方式?

Facebook 打开没有元 og:image 的图形图像