og:image 无法下载,因为它超过了最大允许大小 8Mb

og:image could not be downloaded because it exceeded the maximum allowed sized of 8Mb

建立一个需要与图像共享链接的网站。这样做我不知道多久...但这次 Facebook Open Graph Debugger 说:

og:image {image url} 无法下载,因为它超过了最大允许大小 8Mb

但是引用的图片只有108KB?还有一次它回应说我的服务器可能太慢了。但是当我简单地在浏览器中加载图像时,它会立即出现。我现在应该看哪里?

这是一个错误,已确认,在收到警告后,如果您重试调试,或点击"Scrape Again",错误信息将消失。这是一个问题,因为如果有人尝试分享 post,该图片不会显示,因为它没有被废弃,但后续分享会显示该图片。

您可以订阅错误报告或添加一些额外的评论。

https://developers.facebook.com/bugs/1626463061012181/

是的,这在 4 月 17 日左右开始发生,我希望这能解决我们的问题。

编辑:

Facebook 团队回复了解决方法:

It seems like the issue is with the misleading error message which we will be updating. In the meantime, since the crawler has to see an image at least once before it can be rendered, it means that the first person who shares a piece of content won't see a rendered image. This seems to be the actual issue here and the workaround is available here: https://developers.facebook.com/docs/sharing/best-practices#precaching I will post here once we update the error message.

添加 og:image:widthog:image:height Open Graph 标签 似乎可以解决问题,我可以发誓我之前尝试过但没有做太多,但这次它似乎工作得很好。

我今天遇到了这个问题。

由于开发者 link 对另一个答案中的错误说问题已解决,我想我会提供有关我遇到的问题的信息。

事实是,我的网站预计将在 HTTPS(带 SSL)上使用,而不是在 HTTP 上使用。我给这个工具一个地址,很明显,到处都是 HTTPS(页面上的所有 URL 都是 HTTPS,我在 Sharing Debugger 中粘贴的也是 HTTPS)。然而,他们最终失败了,因为在他们的测试中,不知何故,他们丢弃了 "S" 并在没有任何加密的情况下访问了服务器。

我认为这可以帮助其他人。通过启用未加密的网站,Facebook 开始工作,因为一切就绪(而且有一段时间,但那个错误让我发疯!)

这在 2017 年 5 月仍然是一个问题。我尝试过:

  • 添加 og:image:width 和 og:image:height
  • 手动将 img 调整为 1200x630(FB 推荐的最小值)
  • 将大小四舍五入到最接近的百分之一(我在别处看到的一个 sol'n)
  • 确认文件大小确实远低于 8MB(322 KB)
  • 重命名文件以排除非字母字符
  • 正在将 img 转换为 jpg。

在我的案例中,唯一的 "solution" 是 运行 在非 https:// 版本的网页(即简单的 http://)上的 FB 共享调试器。然后 "og:image could not be downloaded because it exceeded the maximum allowed sized of 8Mb" 错误消息消失了。 FWIW,FB 确实显示了从 http: 到 https: 的 301 重定向。

(我会把它作为评论发布,但还没有足够的可信度。)

我意识到这是一个老问题并且有一个公认的答案,但截至 2018 年,none 上述解决方案本身对我有效。 最终起作用的是解决方法的组合:

  • og:image 标签中添加 HTTP 版本并添加指向 HTTPS 版本的 og:image:secure_url 标签。在调试器工具中,您现在应该会收到一条消息,指出获取图像是一个异步过程,因此无法用于第一个请求
  • 添加 og:image:heightog:image:widthog:image:type 具有适当内容的元标记。调试器中的异步消息现在应该消失了,您也应该能够在第一次获取时看到图像

我的网站只有 HTTPS(HTTP 请求被重定向到 HTTPS 版本),图像托管在 Amazon S3 上。我使用的是 Cloudfront CDN,但我必须直接从 S3 提供 og:image 服务。只要图像已经缓存在 CDN 中,尝试从 CDN 提供服务似乎就可以正常工作。如果图片没有缓存到CDN,Cloudfront将请求转发到S3,FB debugger报错。

FB 似乎不能很好地处理 og:image 元中提到的重定向和 HTTPS 版本。