1

在我的网站上,我使用这个meta

<meta property="og:url" content="..." />        
<meta property="og:title" content="..." />  
<meta property="og:image" content="<?php echo $image_url; ?>" />
<meta property="og:description" content="..." />    

我也使用addthis小部件。

<div class="addthis_toolbox addthis_default_style" addthis:url="..." addthis:title="..." addthis:description="..." addthis:image="<?php echo $image_url; ?>"> 
<a href="http://www.addthis.com/bookmark.php?v=250&pubid=..." class="addthis_button_compact"><img src="/images/share.png" width="66" height="24" border="0" alt="Share" /></a> 
</div>

起初$image_url包含网站的徽标,然后我将其更改为每个帖子包含的缩略图。当我通过 facebook 分享帖子时,它会显示徽标,但是当我看到代码源时,图像 url 是新的。看起来 facebook 已经缓存了图像。如何防止 facebook 不缓存图像。

4

1 回答 1

2

每次更改某些标签时,您都必须通过Facebook 调试器运行您的 URL。og:meta这将迫使 Facebook 重新抓取您的 URL,并获取新的图像和数据。没有办法阻止 Facebook 缓存图像——它们依靠大量缓存来提供更好的性能。

以下是点赞按钮文档的摘录,其中解释了:

Facebook 什么时候抓取我的页面?

Facebook 需要抓取您的页面以了解如何在网站周围显示它。

Facebook 每 24 小时抓取一次您的页面,以确保属性是最新的。当 Open Graph 页面的管理员单击 Like 按钮以及将 URL 输入 Facebook URL 调试器时,该页面也会被抓取。Facebook 会观察您 URL 上的缓存标头 - 它会按优先顺序查看“过期”和“缓存控制”。但是,即使您指定更长的时间,Facebook 也会每 24 小时抓取一次您的页面。

刮板的用户代理是:
"facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

于 2013-04-29T06:03:24.430 回答