首先-我不相信这是一个重复的问题。我已经在SO上广泛搜索了相同或相似的问题,并且由于在询问之前进行故障排除的性质,我相信这个问题是唯一的。
Facebook无法掌握我的og:image
文件,因此我尝试了所有常见的解决方案。我开始认为这可能与它有关https://...
- 我已经检查了http://developers.facebook.com/tools/debug,并且警告或错误为零。
- 它在“
og:image
”中找到了我们链接到的图像,但它们显示为空白。但是,当我们单击图像时,它们确实存在,并且直接指向它们。 - 它确实显示一个图像-托管在非https服务器上的图像。
- 我们尝试了方形图像,jpeg,png,更大和更小的尺寸。我们已将图像正确放置在public_html中。零出现。
- 这不是一个缓存错误,因为当我们
og:image
向meta 添加另一个时,FB的linter会找到并读取该错误。它确实显示预览。预览为空白。我们唯一的例外是针对不在此网站上的图像。 - 我们认为可能是有些反渗滤作用
cpanel
或.htaccess
阻止了图像的出现,所以我们进行了检查。这没有。我们甚至< img src="[remote file]" >
在完全不同的服务器上进行了快速浏览,图像显示良好。 - 我们认为可能是
og:type
另一个meta标签的或另一个奇怪之处。我们一次全部删除了它们并进行了检查。没变。只是警告。 - 出现在其他网站上的相同代码没有任何问题。
- 我们认为可能不是在提取图像,因为我们在多个产品上使用了相同的产品页面(根据get值进行更改,即“ details.php?id = xxx”),但它仍在提取一个图像图片(来自其他网址)。
- 留下任何
og: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中的错误。要解决此问题,我们将子域放置在另一个NON-HTTPS网站中,并将所有图像转储到其中。我们在每个产品页面上都引用了协调http://img.otherdomain.com/[like-image.jpg]
图像og:image
。然后,我们不得不经过FB Linter并运行EVERY链接以刷新OG数据。此方法可行,但解决方案是一个临时解决方案,如果https
问题已解决,并且我们返回使用自然的https域,则FB将缓存来自其他网站的图像,这会使事情变得复杂。希望这个信息有助于节省别人失去的32小时编码别人的生活。
og:type: og_products:product
为键入网站,然后查看是否可以拾取图像。