猿问
下载APP

Facebook Open Graph没有清除缓存

我用Open Graph的meta标签遇到了麻烦。好像Facebook正在缓存我的meta标签的旧值。旧值的属性og:title和og:url仍在使用,即使我已经改变了他们。


我在我的网站的页面上运行了Lint ,这出现了:


请注意,有两个值为og:title和og:url,最后一个值占优势。但是,最后两个条目是我用于此站点的OLD条目。我现在正在使用这些元标记(您可以验证是否查看HTML的来源):


<meta property="og:title" content="Smart og rummelig pusletaske fra Petit Amour med god plads til alt &#8211; værdi 1.099 kr &#8211; 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/pinq/images/logo-top.png"/>

<meta property="og:site_name" content="Pinq" />

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

为什么Facebook缓存og:title和og:url?是否有人遇到同样的问题?


aluckdog
浏览 75回答 3
3回答

守着星空守着你

转到http://developers.facebook.com/tools/debug输入以下URL fbrefresh=CAN_BE_ANYTHING例子:http://www.example.com?fbrefresh=CAN_BE_ANYTHINGhttp://www.example.com?postid=1234&fbrefresh=CAN_BE_ANYTHING或访问: http://developers.facebook.com/tools/debug/og/object?q=http://www.example.com/?p=3568&fbrefresh=89127348912我昨晚有同样的问题,我从一些网站得到了这个解决方案。Facebook保存您的缓存缩略图。即使您从服务器中删除了thumnail / image,它也不会刷新。但是Facebook允许你通过使用来刷新fbrefresh我希望这有帮助。

慕斯709654

对于非开发人员使用FB调试器:https://developers.facebook.com/tools/debug/og/object粘贴要重新缓存的网址。(确保使用og:url标记中包含的相同网址)再次单击Fetch Scrape信息按钮对于开发人员以编程方式对此URL进行GET调用:https://graph.facebook.com/?id = [YOUR_URL_HERE ] &scrape = true(请参阅:https://developers.facebook.com/docs/games_payments/takingpayments#scraping)确保该页面头部包含的og:url标记与您传递的标记匹配。您甚至可以解析json响应以获取该URL的份额数。关于更新图像的其他信息如果og:图像URL保持不变但图像实际已经更改,即使执行上述操作,Facebook刮刀也不会更新或修复。(甚至在图片url的末尾传递?last_update = [TIMESTAMP]对我来说不起作用)。对我来说唯一有效的解决方法是为图像指定一个新名称。关于以前发布的帖子的图片或视频更新的说明:当您调用调试器以废弃页面的og:标签上的更改时,该URL的所有先前Facebook共享仍将显示旧图像/视频。由于安全原因,没有办法更新所有以前的帖子,这是出于设计的方式。否则,某人将能够假装用户共享他/她实际上没有的东西。

RISEBY

如果您有许多页面并且不想手动刷新它们 - 您可以自动执行此操作。假设您有带照片的用户个人资料页面:$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(&nbsp; &nbsp; 'https://graph.facebook.com',&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; id: '<?php echo $url; ?>',&nbsp; &nbsp; &nbsp; &nbsp; scrape: true&nbsp; &nbsp; },&nbsp; &nbsp; function(response){&nbsp; &nbsp; &nbsp; &nbsp; console.log(response);&nbsp; &nbsp; });// with "vanilla" javascriptvar 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");这将刷新Facebook缓存。如果您使用jQuery解决方案,请查看console.log中的“response” - 您将找到“updated_time”字段和其他有用信息。
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答