博客上的Facebook点赞按钮显示主页的总点赞数,但不是每一篇文章的点赞数(针对新文章)



所以我试图帮助一个朋友完成他的Blogger博客及其与Facebook的集成。他遇到了一些问题(比如一个混乱的og元标签等等),我们终于能够把所有的东西都整理好,并在Facebook的Debugger上运行该网站,一切都很好。但现在我们有一个问题,新帖子显示主页的整体点赞,而不是每个帖子的Facebook点赞按钮,而旧帖子不受影响(有个人点赞数)

仅供参考,有问题的网站是Los Heladeros(目前显然有大约87个赞),Facebook网站是/LOSH3LAD3ROS(有765个赞,所以赞与Facebook网站无关,而是主页域)。

现在,我们按照本教程创建了Like按钮的代码,以显示在每个帖子上(它确实做到了,没有问题)。这是按钮的代码:

<div>
<b:if cond='data:post.isFirstPost'> 
<script>(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));</script>
</b:if> 
<fb:like expr:href="data:post.canonicalUrl" layout='standard' send='true' show_faces='false' font="lucida grande" action="like" colorscheme="light"></fb:like>
</div>

然而,现在,网站上的任何新帖子都包括主页(而不是FB页面)的总点赞数,而不是单个帖子的点赞数(即,此时每个新帖子都会立即获得87个点赞),然而,所有的旧帖子(在我们修复Open Graph元数据问题之前)都非常好(即,它们可能会显示一些点赞,并且不受主页上新点赞或分享的影响。)

仅供参考,我刚刚注意到,在修复之前的一篇帖子,以前只显示了一些股票,现在已经恢复到总计数

以下是该网站的Open Graph元数据:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr' xmlns:fb='http://www.facebook.com/2008/fbml' xmlns:og='http://ogp.me/ns#'> 
<title>Los Heladeros: TU UPDATE MUSICAL ANTES QUE SE DERRITA</title>
<!-- Facebook Open Graph Meta Tags -->
<meta content='Los Heladeros' property='og:title'/>
<meta content='blog' property='og:type'/>
<meta content='http://www.losheladeros.com' property='og:url'/>
<meta content='https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-ash4/377165_310579818971632_1169246050_n.jpg' property='og:image'/>
<meta content='Los Heladeros' property='og:site_name'/>
<meta content='502365163' property='fb:admins'/>
<meta content='335887849786080' property='fb:app_id'/>
<meta content='Descargas gratis de música que no es cool, pero lo será mañana | HOUSE | INDIE | DISCO |' property='og:description'/>
<!-- Open Graph Meta Tags by: www.MetaTagGenerator.org -->

所以我在其他帖子中读到,你必须将">og:url"设置为有问题的特定网站(即,每一篇帖子),而不是整个网站,但这不是FB Like按钮代码中的">data:post.canonicalUrl"位应该做的吗?我知道必须有一种方法在模板页面上有一个通用代码,并动态提取URL,每个帖子的计数都是单独的(回顾元标签清理之前的旧代码,他拥有与我们现在相同的整个网站URL,而且从未遇到过这个问题,很明显,在它以某种方式工作之前)。

此外,如果我分享任何新文章,我随后会获得主页的图片和描述,而不是单个帖子的图片和说明,但当我分享旧帖子时,它会自动生成正确的图像和描述。我试过在一篇旧帖子和一篇新帖子上比较Facebook调试器,没有任何差异(因为不应该有任何差异)。我很困惑可能是什么在做这件事,因为这是一个通用的、全面的代码,我想我希望所有帖子都能以同样的方式工作,而不仅仅是一些(即新的和旧的)。

仅供参考,由于我是一个新用户,我只能发布两个链接,但如果你转到主页,较新的帖子在顶部,按钮上的计数为87+,如果你向下滚动,你最终会看到较旧的帖子,它们的计数更适中(即,它们被正确计数)。

我非常感谢你们能给我的任何帮助。这是我的第一篇stackoverflow帖子,我几乎读过每一篇相关的帖子,但仍然找不到这个问题的答案。

好吧,所以我几乎把这个问题称为已解决问题。我偶然发现了以下教程,其中详细介绍了为Blogger:创建正确的Facebook Open Graph元标签的彻底方法

Blogger[版本3]的开放图形标记

以下是我更新的元标签,它们似乎在未来运行得很好:

<!-- OPEN GRAPH MARKUP FOR BLOGGER [VER. 3] TAGS http://goo.gl/tyJ9a FOR ORIGINAL TUTORIAL -->
<meta expr:content='data:blog.pageName' property='og:title'/>    
<meta expr:content='data:blog.title' property='og:site_name'/>     
<meta expr:content='data:blog.canonicalUrl' property='og:url'/>     
<b:if cond='data:blog.metaDescription'>     
<meta expr:content='data:blog.metaDescription' property='og:description'/>     
</b:if>     
<b:if cond='data:blog.pageType == &quot;item&quot;'>     
<meta content='article' property='og:type'/>     
<b:if cond='data:blog.postImageThumbnailUrl'>     
<meta expr:content='data:blog.postImageThumbnailUrl' property='og:image'/>     
</b:if>     
<b:else/>     
<meta content='blog' property='og:type'/>     
<meta content='https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-ash4/377165_310579818971632_1169246050_n.jpg' property='og:image'/>
<meta content='502365163' property='fb:admins'/>
<meta content='335887849786080' property='fb:app_id'/>     
</b:if>
<!-- OPEN GRAPH MARKUP FOR BLOGGER [VER. 3] TAGS http://goo.gl/tyJ9a FOR ORIGINAL TUTORIAL -->

值得注意的是,我在底部添加了管理员和应用程序id,缩进到下面,Facebook Debugger/Linter似乎可以接受(在它警告我它不合适之前)。此外,我的朋友在元标记和javascript实现之间存在APP ID不匹配的问题。我修复了这个问题,并放置了相同的应用程序ID,尽管被搞砸的帖子的数量仍然很混乱,但今后,所有帖子都会以正确的点赞数量正常运行,当共享时,帖子的信息会被正确地拉到FB上的共享中(标题、照片、描述)。

希望这能帮助到其他可能遇到同样问题的人。乔治·B·莫加的道具。这是stackoverflow的帖子,我在那里找到了他到元标签模板的链接。

最新更新