我们使用的链接:如何清除Facebook Sharer缓存?
http://www.facebook.com/sharer.php?u=[shared URL]
...分享特定的页面。但是,Facebook Sharer使用图像和标题的缓存版本。有没有办法快速清除Facebook缓存,或者我们需要等待多长时间才能更新数据?
我在标签之间放置<link rel='image_src' href='[preview image]' />
。
我们使用的链接:如何清除Facebook Sharer缓存?
http://www.facebook.com/sharer.php?u=[shared URL]
...分享特定的页面。但是,Facebook Sharer使用图像和标题的缓存版本。有没有办法快速清除Facebook缓存,或者我们需要等待多长时间才能更新数据?
我在标签之间放置<link rel='image_src' href='[preview image]' />
。
我找到了解决我的问题。你可以去这个网站:
https://developers.facebook.com/tools/debug
...然后把你要共享的网页的URL,然后单击“调试”。它会自动提取你的元标记的所有信息,并清除缓存。
我的事这两个环节对你的问题相关的东西广泛的讨论。 FB:通过调用
fbml.refreshRefUrl
这样
<tt>fbml.refreshRefUrl("http://www.mysite.com/someurl.php")
你可以从这里fb:ref研究相关的东西REF明确的现金。我希望它会为你工作
使用的API Is there an API to force Facebook to scrape a page again?
$furl = 'https://graph.facebook.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $furl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
$params = array(
'id' => '<update_url>',
'scrape' => true);
$data = http_build_query($params);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
没有access_token,这不起作用。 – andrewtweber 2016-01-17 02:08:31
的Facebook将每个URL作为独特的缓存基于该URL的网页,所以如果你想分享最新的URL最简单的办法是增加一个查询字符串该网址被分享。简单地说,只需在url的末尾添加?v = 1即可。任何数量的可代替1
帽尖的使用:Umair Jabbar
我认为这会影响您网页收到的链接数量,因为它们会被计入每个版本中,对吗? – 2018-02-13 23:59:52
的页面做,这是在https://developers.facebook.com/tools/debug/是由于一些其他的答案已经略有改变。
在那里粘贴您的网址,然后点击“调试”。然后点击URL文本字段下的“获取新的抓取信息”按钮,应该全部设置。它会从您的页面中提取新的元标记,但它们仍然会缓存,因此请记住,每当您更改它时都需要执行此操作。如果您使用元标记来获取FB共享URL来格式化您希望他们在Facebook内部的方式,这非常重要。
将?v = random_string追加到url。 如果您在Facebook共享中使用此想法,请确保响应 中的og:url参数与您正在共享的网址匹配。这也适用于谷歌加。
对于Facebook来说,也可以通过使POST请求强制重新抓取到https://graph.facebook.com
{id: url,
scrape: true}
这正是我正在寻找的。 – Bee 2017-05-31 16:53:05
我无法在Postman中发布上述JSON,但发布原始文本字符串确实会导致刷新:'id = http:// www.ridr.me&scrape = true' – 2017-09-13 21:31:26
这个答案是针对开发人员。
清除缓存意味着该网页的新股将显示其在OG标签提供的新内容。但是,只有当您正在使用的网址少于50次互动时(喜欢+份额)。它也不会影响已经在Facebook上发布的此网页的旧链接。只有在Facebook上再次分享URL时,Facebook才会更新链接。
catandmouse的回答是正确的,但您也可以通过向graph.facebook.com(在撰写此答案时同时适用于http和https)向Facebook发送一封邮件请求以清除OG(OpenGraph)缓存。您不需要访问令牌。
POST请求graph.facebook.com可能看起来如下:
POST/HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: graph.facebook.com
Content-Length: 63
Accept-Encoding: gzip
User-Agent: Mojolicious (Perl)
id=<url_encoded_url>&scrape=true
在Perl中,你可以使用下面的代码,库魔:: UserAgent的用于发送和接收HTTP请求:
sub _clear_og_cache_on_facebook {
my $fburl = "http://graph.facebook.com";
my $ua = Mojo::UserAgent->new;
my $clearurl = <the url you want Facebook to forget>;
my $post_body = {id => $clearurl, scrape => 'true'};
my $res = $ua->post($fburl => form => $post_body)->res;
my $code = $res->code;
unless ($code eq '200') {
JIX::Log->warn("Clearing cached OG data for $clearurl failed with code $code.");
}
}
}
发送通过所述终端此篇请求可以用下面的命令来完成:
curl -F id="<URL>" -F scrape=true graph.facebook.com
如果你正在使用WordPress的缓存插件,请确保你清除所有的缓存。此外,请确保您使用的图像具有推荐的Facebook大小:1200(w)x 630(h)或600 x 315.
我刚刚发布了一个简单的解决方案,需要5秒钟的相关帖子 - Facebook debugger: Clear whole site cache
简短的回答......在固定链接设置的worpdress网站改变你的永久链接到一个自定义。我刚刚添加了一个下划线。
/_%postname%/
那么Facebook擦伤他们都为新网址,新职位。
如果使用了管理Wordpress或缓存插件,你必须清除缓存之前,Facebook的调试工具,可以获取新的信息!
我一直在拉我的头发了几个星期搞清楚为什么我在Facebook的调试器不会出现24小时的变化!!!!解决方法是我必须进入我的wordpress仪表板,单击顶部的godaddy图标,然后单击“刷新缓存”。我认为很多受托管的WordPress主办方都有一个缓存来弄清楚如何清除它,并且您将成为金牌。
有没有办法让相同的事情,但自动与JavaScript? 我的网站有可能经常改变他们名字的网页。我不想等待Facebook重置缓存的24小时,我也不能每次都去Facebook Lint。 我已经尝试使用ajax请求到Facebook Lint(使用https://developers.facebook.com/tools/debug/og/object?q = ...作为url),但响应是q值(作为参数传递到上面的url)是Access-Control-Allow-Origin不允许的。 – 2012-03-11 22:02:32
@Giovanni Chetelodicoafare,尝试使用cron作业(Linux)或计划任务(窗口)访问https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fyour- website.com。 Cron作业可在大多数托管服务提供商的管理面板中找到。 – 2013-05-16 15:01:02
如果您在刷新时仍遇到问题,请尝试将随机查询字符串参数添加到URL的末尾。 – 2014-07-24 15:40:51