Facebook不会从og:image加载图片

时间:2012-04-27 07:42:41

标签: facebook facebook-opengraph

它已经有效了,但今天当我试图分享链接时,我感到很惊讶,而且Facebook没有显示图片,来自og:image meta tag。

来自facebook debugger

Meta Tag:   <meta property="og:description" content="Профессиональная сеть вопросов и ответов,создаваемая и управляемая сообществом пользователей. Ресурс для тех, кто хочет знать ответы на все вопросы." />
Meta Tag:   <meta property="og:title" content="Закрытое экспертное сообщество OdinOtvet" />
Meta Tag:   <meta property="og:type" content="website" />
Meta Tag:   <meta property="og:image" content="http://www.odinotvet.ru/images/logo_250.png" />
Meta Tag:   <meta property="og:url" content="http://www.odinotvet.ru" />
Meta Tag:   <meta property="og:site_name" content="ОдинОтвет" />
Meta Tag:   <meta property="fb:app_id" content="286967601317982" />
Meta Tag:   <meta property="fb:admins" content="100002890978393,100001666575542" />

enter image description here

图像在哪里?

10 个答案:

答案 0 :(得分:21)

图像出现在Facebook调试器中(虽然它看起来不太好,因为你有一些透明度最适合你的FB不会拍摄的灰色背景)

最好使用方形图像。

有一件事我发现Facebook将元数据缓存在他们一边。因此,如果我们对图像之类的内容进行更改,则在清除缓存之前,它们并不会始终显示。也许你过去有错误的图像url / no url而且FB已经缓存了这个结果。如果是这样,您可能需要等待一段时间才能清除并再次获取数据。我已经看到它需要一段时间(在大约一天的范围内)

答案 1 :(得分:15)

原来答案是设置og:image:widthog:image:height

另见: Facebook Open Graph No Image First Time

(在我自己的测试中,我发现设置og:image:widthog:image:height就足够了。设置og:image:type是不必要的。)

答案 2 :(得分:6)

我遇到了同样的问题,但FB调试器“说”图像在两个维度上必须至少为200px。当我将图像的尺寸调整为200px的较短边时,一切顺利。另一件事是布鲁斯说的 - 缓存。我必须开始另一个页面来测试我的最终链接。

希望这会有所帮助。 此致

答案 3 :(得分:3)

当您发现要在Facebook上分享的页面存在缓存问题时(我的意思是,如果您在页面源代码与Facebook上显示的值之间看到不同的值,或者您发现某些缺失值),那么您可以使用以下网址https://developers.facebook.com/tools/debug/,提供您尝试在Facebook上分享的网址并提交表单以清除Facebook缓存。 您现在可以再次尝试共享您的页面,您应该看到与页面源代码相同的值。

答案 4 :(得分:3)

将您的网址放入此网站,Facebook将帮助您:

http://developers.facebook.com/tools/debug

有些时候Facebook会显示旧的缓存图像文件,因此上面的URL会显示您当前更新的结果。一旦完成,Facebook将存储您的新图像,之后它将仅显示新图像。

答案 5 :(得分:0)

对于手动缓存清空,请在网址中添加?v = 2或一些参数,然后点击&#34;添加新网址&#34;并启动Facebook调试器(https://developers.facebook.com/tools/debug/)。 现在,使用原始网址重试(不使用?v = 2),然后显示图像。

答案 6 :(得分:0)

当我从以前创建的应用程序中放置我的ID时,我才设法解决它

<meta property = "fb:app_id" content = "1234567891011121" />

答案 7 :(得分:0)

我碰到另一个原因,就是FB无法下载og图片,这与EXIF元数据未写入WordPress网站上的上传图片有关。我已在此thread中对此问题写了详细的答案。

答案 8 :(得分:-2)

试试这会有所帮助

<?php

$params = array();
if(count($_GET) > 0) {
    $params = $_GET;
} else {
    $params = $_POST;
}
// defaults
if($params['type'] == "") $params['type'] = "restaurant";
if($params['locale'] == "") $params['locale'] = "en_US";
if($params['title'] == "") $params['title'] = "default title";
if($params['image'] == "") $params['image'] = "thumb";
if($params['description'] == "") $params['description'] = "default description";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MY_APP_NAME_SPACE: http://ogp.me/ns/fb/MY_APP_NAME_SPACE#">
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

        <!-- Open Graph meta tags -->
        <meta property="fb:app_id" content="MY_APP_ID" />
        <meta property="og:site_name" content="meta site name"/>
        <meta property="og:url" content="URL/index.php?type=<?php echo $params['type']; ?>&locale=<?php echo $params['locale']; ?>&title=<?php echo $params['title']; ?>&image=<?php echo $params['image']; ?>&description=<?php echo $params['description']; ?>"/>
        <meta property="og:type" content="MY_APP_NAME_SPACE:<?php echo $params['type']; ?>"/>
        <meta property="og:locale" content="<?php echo $params['locale']; ?>"/>
        <meta property="og:title" content="<?php echo $params['title']; ?>"/>
        <meta property="og:image" content="URL/img/<?php echo $params['image']; ?>.png"/>
        <meta property="og:description" content="<?php echo $params['description']; ?>"/>

    </head>
</html>

答案 9 :(得分:-2)

答案是,你必须记住让图像开放访问。如果您将其上传到服务器,并且您的服务器已激活安全性。 (安全意味着您无法在不知道确切链接的情况下访问图像或任何内容)。如果激活,则无法连接到您的图像。

您可以执行的操作是将图像上传到Dropbox并将该文件公开。所以每个人都可以访问它,然后将其链接到:)。或者只是打开您的服务器访问权限。 ^^:)