小编典典

FB OpenGraph og:图像不拉图像(可能是 https?)

all

Facebook 无法掌握我的og:image文件,我已经尝试了所有常用的解决方案。我开始认为这可能与https://...

  • 我检查了http://developers.facebook.com/tools/debug并且警告或错误为零。
  • 它正在“”中找到我们链接到的图像og:image,但它们显示为空白。但是,当我们单击图像时,它们确实存在,并且直接指向它们。
  • 它确实显示了一个图像 - 托管在非 https 服务器上的图像。
  • 我们尝试了方形图像、jpeg、png、更大尺寸和更小尺寸。我们已将图像放在 public_html 中。零正在出现。
  • 这不是缓存错误,因为当我们og:image向元数据添加另一个错误时,FB 的 linter 确实会找到并读取它。它确实显示了预览。预览是空白的。我们得到的 唯一 例外是不在此网站上的图像。
  • 我们认为可能有一些防浸出cpanel.htaccess阻止图像显示,所以我们检查了。这没有。我们甚至< img src="[remote file]" >在完全不同的服务器上进行了快速操作,图像显示良好。
  • 我们认为这可能是og:type另一个元标记的奇怪之处。我们一次一个地删除了所有这些并检查了它。不用找了。只是警告。
  • 不同网站上的相同代码显示没有任何问题。
  • 我们认为它 可能 不是拉图像,因为我们对多个产品使用相同的产品页面(根据获取值更改它,即“details.php?id=xxx”),但它仍然在拉一个图片(来自不同的网址)。
  • 关闭anyog:image或 image_src,FB 不会找到任何图像。

我已经走到了尽头。如果我说我自己和其他人为此花了多少时间,你会感到震惊。问题是这是一个在线商店。我们绝对,肯定不能没有图像。我们必须。我们有十个左右的其他站点……这是唯一一个有og:image问题的站点。它也是
上唯一的一个https,所以我们认为这可能是问题所在。但是我们在网络上找不到任何先例。

这些是元标记:

<meta property="og:title" content="[The product name]" /> 
<meta property="og:description" content="[the product description]" /> 
<meta property="og:image" content="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-details-black.png" />
<meta property="og:image" content="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-art-black.png" />
<meta property="og:image" content="http://www.[ADIFFERENTwebsite].com/wp-content/uploads/2011/06/ARS-Header-Shine2.png" />
<meta property="og:image" content="https://www.[ourwebsite].com/images/ARShopHeader.png" />
<meta property="og:image" content="http://www.[ourwebsite].com/overdriven-blues-music-tshirt-art-black.JPG" />
<meta property="og:type" content="product"/>
<meta property="og:url" content="https://www.[ourwebsite].com/apparel-details.php?i=10047" />
<meta property="og:site_name" content="[our site name]" />      
<meta property="fb:admins" content="[FB-USER-ID-NUMBER]"/>
<meta name="title" content="[The product name]" />
<meta name="description" content="[The product description]" />
<link rel="image_src" href="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-details-black.png" />
<meta name="keywords" content="[four typical keywords]">
<meta name="robots" content="noarchive">

如果您需要,这里有一个指向我们一直在努力的产品页面的链接。[缩短链接以试图阻止这种情况进入我们网站的搜索结果]:http
://rockn.ro/114

编辑 - -

使用“看看 facebook 看到了什么”刮板工具,我们能够看到以下内容:

"image": [          
      {
         "url": "https://www.[httpSwebsite].com/images/shirts/soul-man-soul-music-tshirt-details-safari.png"
      },
      {
         "url": "https://www.[httpSwebsite].com/images/shirts/soul-man-soul-music-tshirt-art-safari.png"
      },
      {
         "url": "http://www.[theotherNONSECUREwebsite].com/wp-content/uploads/2011/06/ARS-Header-Shine2.png"
      }
   ],

我们测试了它为单个页面找到的所有链接。都是完全有效的图像。

编辑 2 ----

我们尝试了一个测试,并在 NONSECURE 网站上添加了一个 子域 (通过 facebook,图像实际上是可见的)。子域是
http://img.[nonsecuresite].com。然后,我们将所有图像放入主子域文件夹并引用它们。它不会将这些图像拉入FB。但是,它仍然会提取在非安全主域上引用的任何图像。

发布解决方法----

感谢 Keegan,我们现在知道这是 Facebook 中的一个错误。为了解决这个问题,我们在不同的非 HTTPS
网站中放置了一个子域,并将所有图像转储在其中。我们在每个产品页面上引用了协调http://img.otherdomain.com/[like- image.jpg]图像。og:image然后我们必须通过 FB Linter 并运行每个链接来刷新 OG
数据。这行得通,但解决方案是创可贴的解决方法,如果https问题得到解决,我们又回到使用自然 https 域,FB
将缓存来自不同网站的图像,使事情复杂化。希望这些信息能帮助其他人免于失去 32 个编码小时的 生命


阅读 74

收藏
2022-04-04

共1个答案

小编典典

我遇到了同样的问题,并在 Facebook 开发者网站上将其报告为错误。很明显,og:image使用 HTTP 的 URI 可以正常工作,而使用
HTTPS 的 URI 则不行。他们现在承认他们正在“调查此事”。

更新:截至 2020 年,该错误在 Facebook 的票务系统中不再可见。他们从未回应,我不相信这种行为已经改变。但是,在其中指定 HTTPS
URIog:image:secure似乎工作正常。

2022-04-04