35

假设您通过开放图形协议的元标记为您的网页设置了 Facebook 图像,如下所示: <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>

如果您想用另一个同名图像替换/更新图像,rock.jpg当您共享页面时,如何让 facebook 用新图像相应地更新您的图像?强制 facebook 使用此链接http://developers.facebook.com/tools/debug获取您的页面数据不会更新图像。

4

4 回答 4

60

这是我对这个问题找到的最一致的答案:https ://stackoverflow.com/a/21468084/339698

如果你懒得去那个链接,你可以POST用你想要清除的 url 发送一个 ajax 请求:

$.post(
    'https://graph.facebook.com',
    {
        id: 'http://www.site.com/my/share/url/',
        scrape: true
    },
    function(response){
        console.log(response);
    }
);
于 2014-02-25T02:04:39.537 回答
42

Facebook 将您的图像存储到他们自己的服务器上的图像中,然后将其缓存 24 小时。缓存延迟将来可能会发生变化,因此要检查它,只需打开 facebook 从您的图像创建的图像并检查它在 http 标头中的“max-age”值。因此,如果您更改图像,即使您使用此链接http://developers.facebook.com/tools/debug强制获取数据,facebook 也不会在 24 小时之前更新其版本。

为了解决这个问题,如果您需要立即查看更改的效果,您应该重命名您的图像。因此,如果旧版本被rock.jpg命名,rock2.jpg则使用此链接http://developers.facebook.com/tools/debug让 facebook 从您更新的图像创建新图像。这将立即更新您网页在 facebook 分享中的 facebook 图片。

于 2013-03-28T13:00:51.447 回答
2

发表这篇文章多年后,这仍然是一个问题,但它不是 facebook 的缓存:这通常是人为错误(请允许我详细说明)

OG:TYPE 影响您的图像抓取:

  1. https://ogp.me/#type_article 与 https://ogp.me/#type_website 一样

请注意, og:type=website 将导致该网址的任何 /sub-pages/ 变为“规范”。这意味着无论您做什么,都无法使用刮板更新图像。

考虑一下这个“假设和常见错误”

- <meta property="og:type" content="website" />=> https://www.example.org (父)
- <meta property="og:type" content="website" />=> https://www.example.org/sub-page/
- <meta property="og:type" content="website" />=> https://www.example.org/sub-page/child -2/
- Ergo:将继承父级/sub-page//child-2/og:image

那些不是“所有网站”,1是网站,其他是文章。

如果你这样做,Facebook 会认为所有这些都是规范的,它会将 FIRST og:image 放入所有这些中。(试试看,你会看到) - 如果你将 og:url 设置为你的根域或父域,你告诉 facebook 它们都是规范的。(这是有充分理由的,但它离题了)

考虑这个解决方案(这是大多数人“真正想要的”)

- <meta property="og:type" content="article" />=> https://www.example.org/sub-page/
- <meta property="og:type" content="article" />=> https://www.example.org/sub-page/child-2/

如果你现在这样做,Facebook 会给你带来更少的抓取新图像的问题。

最后,是的,这里的缓存破坏者、随机变量、更改 url 和建议可以工作,但如果没有正确指定,它们看起来像“间歇性巫毒” 。og:type

PS:请记住,即使您“认为”可以看到最新版本,CDN 或服务器端缓存也会服务于 Facebook 的抓取工具。(除了指出如果不仔细检查它会浪费你大量的时间,我不会花任何时间在这上面。)

于 2019-09-06T19:42:19.427 回答
1

如果您使用任何缓存插件,请确保清除所有缓存。还要确保您使用的图像具有推荐的 facebook 尺寸:1200(w) x 630(h) 或 600 x 315。

于 2016-09-01T08:46:04.230 回答