Facebook Open Graph不清除caching

使用Open Graph我的元标记遇到麻烦。 看起来好像Facebook正在caching我的meta标签的旧值。 属性og:titleog:url旧值仍然被使用,即使我已经改变了它们。

我在我的网站上的一个页面上运行了Lint,

Facebook Open Graph lint截图

请注意, og:titleog:url有两个值,最后一个值为主。 但是, 最后两个条目是我用于此网站的旧条目 。 我现在正在使用这些元标记(您可以validation您是否查看HTML的源代码):

 <meta property="og:title" content="Smart og rummelig pusletaske fra Petit Amour med god plads til alt – værdi 1.099 kr – køb nu kun 599 kr "/> <meta property="og:description" content="Pinq.dk - Det gode liv for det halve"/> <meta property="og:type" content="product"/> <meta property="og:url" content="http://pinq.dk/tilbud/landsdaekkende/lissy/"/> <meta property="og:image" content="http://pinq.dk/wp-content/themes/pinqhttp://img.dovov.comlogo-top.png"/> <meta property="og:site_name" content="Pinq" /> <meta property="fb:app_id" content="161840830532004" /> 

为什么Facebookcachingog:titleog:url ? 有没有人遇到同样的问题?

  1. 转到http://developers.facebook.com/tools/debug
  2. 通过fbrefresh=CAN_BE_ANYTHINGinput以下URL

例子:

  1. http://www.example.com?fbrefresh=CAN_BE_ANYTHING
  2. http://www.example.com?postid=1234&fbrefresh=CAN_BE_ANYTHING
  3. 或访问: http://developers.facebook.com/tools/debug/og/object?q=http://www.example.com/?p=3568&fbrefresh=89127348912 : http://developers.facebook.com/tools/debug/og/object?q=http://www.example.com/?p=3568&fbrefresh=89127348912 : http://developers.facebook.com/tools/debug/og/object?q=http://www.example.com/?p=3568&fbrefresh=89127348912

昨晚我有同样的问题,我从一些网站得到了这个解决scheme。

Facebook保存您的caching缩略图。 即使从服务器上删除thumnail /图像,它也不会刷新。 但Facebook允许您使用fbrefresh进行刷新

我希望这有帮助。

最被投票的问题是相当过时的:

这是2014年11月应该使用的唯一两个选项:

对于非开发人员

  1. 使用FBdebugging器: https : //developers.facebook.com/tools/debug/og/object
  2. 粘贴你想重新caching的url。 (请确保您使用您的og:url标签中包含的相同url)
  3. 再次单击获取刮擦信息button

对于开发人员

  1. 以编程方式进行GET调用以访问此URL: https : //graph.facebook.com/?id=[YOUR_URL_HERE ] &scrape=true (请参阅: https : //developers.facebook.com/docs/games_payments/takingpayments#scraping )
  2. 确保该页面头部包含的og:url标记与您传递的标记相匹配。
  3. 你甚至可以parsingJSON响应来获取该URL的份额。

有关更新图像的附加信息

  • 如果og:图片的URL保持不变,但图片实际上已经改变,即使这样做,也不会被Facebook刮板更新或回收。 (即使在图像url的末尾传递?last_update = [TIMESTAMP]也不适用于我)。
  • 唯一有效的解决方法是为图像指定一个新名称。

有关之前发布的post的图片或video更新的说明:

  • 当您调用debugging器来取消页面上的og:标记的更改时,该URL的所有以前的Facebook共享仍将显示旧的图像/video。 没有办法更新所有以前的post,这是出于安全原因devise的方式。 否则,有人可以假装用户分享他/她实际上没有的东西。

如果你有很多页面,而且不想手动刷新它们,你可以自动完成。

可以说,你有用户个人资料页面的照片:

 $url = 'http://'.$_SERVER['HTTP_HOST'].'/'.$user_profile; $user_photo = 'http://'.$_SERVER['HTTP_HOST'].'/'.$user_photo; <meta property="og:url" content="<?php echo $url; ?>"/> <meta property="og:image" content="<?php echo $user_photo; ?>" 

只需将其添加到您的页面即可:

 // with jQuery $.post( 'https://graph.facebook.com', { id: '<?php echo $url; ?>', scrape: true }, function(response){ console.log(response); } ); // with "vanilla" javascript var fbxhr = new XMLHttpRequest(); fbxhr.open("POST", "https://graph.facebook.com", true); fbxhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); fbxhr.send("id=<?php echo $url; ?>&scrape=true"); 

这将刷新Facebookcaching。 如果您使用jQuery解决scheme,请查看console.log中的“响应” – 您将在其中find“updated_time”字段和其他有用的信息。

即使传递了fbrefreshvariables,OG缩略图也不会刷新。 要不等待自动清除,就需要更改缩略图相关元标记值的文件名并进行刷新。

基本上,答案是耐心;)

我今天早上检查了Linter,并且og:title和og:url正确显示,没有冗余值。 我猜FaceBook自动清除它的caching在一定的时间间隔。 我只需要等待。

在这里输入图像描述

是的,Facebook每隔24小时自动清除一次caching:实际上,Facebook会每24小时刷新页面并更新一次caching。https://developers.facebook.com/docs/reference/plugins/like/#scraperinfo

我们刚刚遇到了这个,事实certificate,我们不是linting正确的url,因为真正的url有一个查询string(杜,不同的页面,就一个机器人而言)。

http://example.com/

!==

http://example.com/?utm_campaign=foo

linter 会重新caching你的页面,你不必等待。

Ooook,最后它帮助了(我使用IP.Board)。 我所要做的是:

  1. 更改我网站上的og:image的url(常规configuration)。
  2. 用?fbrefresh = 1154464gd56试试这个方法

感谢作者为这个线程!

编辑:什么是你需要记住的形象要求更多。 现在(2013年1月)是: – 两个方向至less200像素 – 最大比例3:1

  1. 访问FB页面https://developers.facebook.com/tools/debug/og/object/
  2. input你的域名。
  3. 点击button“获取新的刮擦信息”
  4. 完成

有一件事要补充,url是区分大小写的 。 注意:

apps.facebook.com/ HELLO

然后在棉绒的眼睛里是不同的

apps.facebook.com/ hello

请务必使用在应用程序的开发人员设置中input的确切网站url。 linter将返回属性,否则不会刷新caching。

我有使用og:image的相同的问题,几次尝试重命名文件或清除FBcaching不工作通过facebookdebugging器或通过实际帐户testing。

新的facebook指南指出,图像尺寸应该是1200 x 630或者具有该纵横比,这似乎是错误的,唯一对我有用的是使用方形尺寸的图像。

编辑* Afew小时我回去使用1200×630,它神奇的工作,这是神奇的。

我也将文件重命名为f * ^ * kfacebook.jpg,不确定是否有帮助,但感觉很好。

我发现如果你的图像是72dpi,它会给你图像大小的错误。 改用96dpi。 希望这可以帮助。

  1. 转到http://developers.facebook.com/tools/debug

  2. 粘贴到页面的url,然后点击debugging。 如果您的网站正在使用url别名,请确保您使用的是与Facebook共享的网页所使用的url相同的url(例如:在Drupal中使用节点/ *path而不是别名,如果网页是通过该url共享的话)。

  3. 点击“共享对话框”中的“共享预览”部分

Facebook开发人员文件说,标题属性有例外:

一旦有50个动作(喜欢,分享和评论)与某个对象相关联,您将无法更新其标题

https://developers.facebook.com/docs/sharing/opengraph/using-objects#update

我很抱歉,但正确的答案是:

没有傻瓜certificate的方式来更新打开graphicsog:图像url,立即结果。 它被caching到fb更新(据报每隔24小时)

这里有一些已经被别人报道过的东西,但是我已经有了成功的东西了。

  • select“获取新的信息”
  • 更改实际的图像文件名和/或删除原件
  • 通过附加一个PHP TIMESTAMP或者任何东西来添加一个查询string到图片url
  • 将“… yoursite.com/?fbrefresh=anything”查询string添加到debugging器提取url
  • select页面底部的graphicsAPI链接
  • select看到什么刮板看到 – 不要求实时的caching刮擦数据,它仍然显示caching的图像url,即使该文件不再存在

检查你的代码始终是确认这不是浏览器caching或某些caching服务的问题。 如果代码中的元信息是最新的,并且您已经尝试了上述所有内容(除非另有build议),否则正确的答案是您只能等待

有类似的经验。 网站链接显示在facebook生成的预览404。 结果是:url元数据是错误的。 几天前我们已经修好了,但预览中还是看到了404。 我们在https://developers.facebook.com/tools/debug/上使用了这个工具,并且强制刷新(不必按照方式附加任何参数)在我们的例子中,Facebook在24之后没有刷新caching小时,但工具帮助强制它。;

它是一个caching,它刷新,这是什么caching要做一次。 所以等待最终会奏效,但有时你需要更快地做到这一点。 改变文件名的作品。

我也有这个问题。 刮板显示正确的信息,但共享url仍填充旧数据。

我解决这个问题的方法是使用feed方法,而不是共享,然后手动填充数据(这不是使用share方法公开的)

像这样的东西:

 shareToFB = () => { window.FB.ui({ method: 'feed', link: `signup.yourdomain.com/?referrer=${this.props.subscriber.sid}`, name: 'THIS WILL OVERRIDE OG:TITLE TAG', description: 'THIS WILL OVERRIDE OG:DESCRIPTION TAG', caption: 'THIS WILL OVERRIDE THE OG:URL TAG' }); }; 

对于我来说,所有的解决scheme都无法工 我发现如果你使用Yoastsearch引擎优化WordPress,那么你必须刷新这两个标签:

 <meta property="article:modified_time" content="2017-09-29T00:37:33+02:00" /> <meta property="og:updated_time" content="2017-09-29T00:37:33+02:00" /> 

要刷新值,您必须提交对文章的任何更改。 如果你不改变这个dateFacebookcaching不会刷新。

您还可以通过在functions.php添加filter来禁用这些附加标签:

 add_filter( 'wpseo_og_article_published_time', '__return_false' ); add_filter( 'wpseo_og_article_modified_time', '__return_false' ); add_filter( 'wpseo_og_og_updated_time', '__return_false' );