39

它已经工作了,但是今天我很惊讶,当我尝试分享链接时,Facebook 没有显示来自 og:image 元标记的图像。

来自facebook 调试器

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" />

在此处输入图像描述

图像在哪里?

4

10 回答 10

26

该图像出现在 Facebook 调试器中(尽管它看起来不太好,因为您有一些透明度,最适合您的灰色背景,而 FB 不会采用)

最好使用方形图像。

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

于 2012-04-27T07:53:46.153 回答
17

原来答案是也设置og:image:widthand og:image:height

另请参阅: Facebook Open Graph 第一次没有图像

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

于 2015-02-15T20:09:10.477 回答
6

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

希望这可以帮助。问候

于 2012-05-08T10:57:19.477 回答
4

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

于 2014-04-03T11:43:11.640 回答
3

将您的 URL 放入此站点,facebook 将帮助您:

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

有时 facebook 会显示旧的缓存图像文件,因此您将在 URL 上方显示当前更新的结果。完成后,facebook 将存储您的新图像,之后它将仅显示新图像。

于 2015-05-15T11:57:07.827 回答
0

对于手动清空缓存,添加 ?v=2 或一些参数到您的 url,然后单击“添加新 url”并启动 Facebook 调试器 ( https://developers.facebook.com/tools/debug/ )。现在,使用原始 url 重试(不带 ?v=2),图像就会出现。

于 2017-04-10T16:04:06.760 回答
0

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

<meta property = "fb:app_id" content = "1234567891011121" />
于 2018-10-10T14:13:17.307 回答
0

我遇到了另一个导致 FB 未下载 og 图像的原因,这与 EXIF 元数据未写入 WordPress 网站上上传的图像有关。我已经在这个线程中写了关于这个问题的详细答案。

于 2019-12-06T14:44:35.757 回答
-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>
于 2017-03-30T13:03:26.660 回答
-2

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

您可以做的一件事是将您的图像上传到保管箱并将该文件公开。所以每个人都可以访问它,然后将它链接到那个:)。或者只是打开您的服务器访问权限。^^ :)

于 2017-08-24T17:59:50.773 回答