脸书分享/喜欢默认图像,标题,描述文本



我们正在客户网站的各个页面上使用FB喜欢/分享功能。 在我们想要共享的每个页面上,我们在元标记中添加以下内容:

<head id="ctl00_Head1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="X-UA-Compatible" content="IE=8" />
    <!-- social sharing metadata -->
    <meta property="og:title" content="Our Site Title" />
<meta property="og:description" content="A description to be used in the share dialog." />
<meta property="og:image" content="http://us.oursite.com/images/FB_ShareThumbnail_US.png" />
    <title>Our Page Title</title>
    <!-- favicon -->
    <!-- stylesheet and js links -->
    <!-- inline js -->
</head>

此外,我们还显示带有以下HREF的Facebook图形:

<A href="http://www.facebook.com/sharer.php?u=http%3a%2f%2fus.oursite.com%2fOurPage.aspx%3fid%3d999&amp;t=Our+Site+Title" target=_blank><IMG src="/images/Facebook_icon_20x20.png"></A>

客户希望使用标准的图像,标题,描述,无论共享的实际页面\文章如何(有点"品牌控制"(。 我们目前有我们的og:元标记设置,以呈现每个页面/文章的相同数据。

当用户单击"共享"功能时,他们不会获得页面/文章图片,也没有任何好的描述或标题(因为我认为标签应该提供(。

匿名用户可以访问当前正在共享的页面,因此FB机器人可以访问这些页面。 og 元标记中指定的图像也可供匿名用户使用。 第一个问题是为什么这种共享方法似乎没有使用正确的共享默认值?

下一个

问题是,下一个功能请求是让经过身份验证的页面能够使用相同的默认图像、标题、描述共享。 我是从服务器的角度来解决这个问题的,我会寻找FB机器人并将机器人重定向到一个"静态"页面,该页面仅包含提取图像,标题,描述所需的最小标记。 我已经证明了这一点,它工作得很好。 我只是觉得这可能有点复杂。 想知道是否有一种"更好"或更"最佳实践"的方式来共享经过身份验证的页面并让共享功能了解我们的标准图像、标题、描述?

提前感谢!

更新:我在StackOverflow上发现了这个相关的问答:Facebook Share没有显示我的描述或缩略图

当我问"想知道是否有一种"更好"或更"最佳实践"的方式来共享经过身份验证的页面并让共享功能了解我们的标准图像、标题、描述??"时,这就是我正在谈论的事情类型。 如果我可以通过查询字符串参数将所需的所有数据传递给Facebook共享者.php这导致不需要/采取Facebook抓取操作(,这是理想的,那么我不需要编写任何服务器端逻辑来重新路由Facebook抓取工具。我尝试使用上述问答中提供的 URL,使用我的数据重新格式化,但没有运气。 想知道这是否记录在FB的某个地方?

它可能有很多

原因导致它不使用提供的 og 元数据,但除非您与我们共享代码/URL,否则我们可以猜测可能是什么问题。

  • 确保 og 元数据驻留在 <head> 标签内,因为它不会在其他任何地方查找它们。如果您在 <body> 标签或其他地方定义它们,它只会忽略它们。
  • 如果在添加元数据之前已经喜欢了页面,则需要通过提供 Facebook linter 工具的 url 来刷新 Facebook 对该页面的缓存。

如果这些步骤都不能解决问题,请共享 url/代码。

就您关于经过身份验证的页面的问题而言,您只需将该元数据添加到该页面的公共、未经身份验证的版本上,而无需检查它是否真的是 Facebook,因为当有人共享该页面时,无论查看共享的用户是否有权访问该页面,相同的信息都会公开。

经过进一步的挖掘,我找到了一种使用"共享者.php"功能的方法,以准确指定我想要显示的图像、URL、标题和描述,而无需依赖 OG 元标记。 这将适用于匿名访问的页面和需要经过身份验证的用户的页面。 链接的StackOverflow Q/A(http://stackoverflow.com/questions/2950189/facebook-share-don't-show-my-description-or-my-thumbnail(让我朝着正确的方向前进,然后经过一番挖掘,通过搜索"sharer.php"在Facebook开发者论坛(http://forum.developers.facebook.net/(中找到了其他一些帖子。 特别是这个让我到达了我需要去的地方:http://forum.developers.facebook.net/viewtopic.php?id=101127

本质上,不需要 OG 元标记。 只需确保网址的各个部分已正确编码,并且您使用的参数键正确(即"&p[title]="而不是"&t="。

从我们的网站/页面中删除 OG 元标记后,我还修改了我们的 Facebook 共享按钮/链接以呈现以下标记:

<a href="http://www.facebook.com/sharer.php?s=100&amp;p[title]=Our+Site+Title&amp;p[url]=http%3a%2f%2fus.oursite.com%2fdefault.aspx&amp;p[images][0]=http%3a%2f%2fus.oursite.com%2fimages%2fFB_ShareThumbnail_US_90x85.png&amp;p[summary]=Our+facebook+description+that+is+used+on+the+FB+share+page." target="_blank">
    <img src="/images/fb_icon_20x20.png" />
</a>

请注意,我很想调查我是否可以找到一个允许我指定默认"消息"的参数,但这对我们来说不是必需的,所以也许稍后我会挖掘这些信息。

现在怎么样:https://developers.facebook.com/docs/sharing/webmasters/crawler

您只需要将Facebook爬虫列入白名单

即可

最新更新