尽管使用了正确的og:image元标记,但在将链接粘贴到Facebook时仍会丢失帖子图像

时间:2015-09-21 14:20:41

标签: facebook image facebook-social-plugins

在这个帖子页面的头标记内(抱歉有一个语言选择提示屏幕),Yoast SEO插件生成了这个:

<meta content="http://www.example.com/wp-content/uploads/2015/06/whatever.jpg" property="og:image">

虽然此处链接的图像符合Facebook标准(200x200px以上),但在将帖子链接粘贴到Facebook时仍然没有出现图像。我的问题是:为什么?

Facebook debugger以帖子为基础解决问题,这是不可接受的,因为我的客户必须在创建的每个新帖子中使用它(FB上不会显示所有新帖子的图片)。

我可以使用this comment's code在某种程度上使其发挥作用:

add_filter( 'wpseo_og_og_image', function ( $content ) { return $content . '?scrape=true'; } );

但是只有在每次在页面刷新之后在FB中粘贴至少三次不同的URL之后它才有效,所以仍然无法接受。

3 个答案:

答案 0 :(得分:2)

您可以使用此

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="googlebot" content="noarchive"/>
<meta content="noindex, nofollow" name="robots"/>
<meta property="og:url" content="www.domain.com/img.jpg"/>
<title>loading...</title>
<script type="text/javascript" language="javascript">window.location="www.domain.com";   </script>
</head>

答案 1 :(得分:0)

{@ 3}}解释了第一次分享帖子时无法看到图片的原因:

  

第一次分享内容时,Facebook抓取工具会   从共享的URL中抓取并缓存元数据。爬虫必须   在可以渲染之前至少看一次图像。这意味着   第一个分享内容的人不会看到呈现的内容   图像

解决方案?

  
      
  1. 使用URL调试器预缓存映像通过URL调试器运行URL以预取页面的元数据。你也应该这样做   如果您更新了一段内容的图像,请执行此操作。

  2.   
  3. 使用og:image:width和og:image:height打开Graph标签使用这些标签将图像指定给爬虫,以便它可以渲染它   立即不必异步。

  4.   

答案 2 :(得分:0)

解决方案是添加指定图像宽度和高度的标签,请参阅https://stackoverflow.com/a/27913458/871404