麻烦<fb:like>页面标题,如count和page url </fb:like>

时间:2011-02-18 03:46:29

标签: facebook fbml facebook-like

我的网站中有一组页面正在使用FBML方法插入FB推荐按钮。我的问题是,我网站上的每个页面都显示完全相同的推荐计数(“557人推荐此页面”,即使我刚刚安装了按钮),当我尝试自己推荐时,它显示在我的新闻Feed中错误的页面标题,错误的URL,当然,网站上的每个推荐按钮都会增加。这是我的代码:

og标签(我用匿名值替换它们以保护我的客户看起来没有白痴开发人员);):

    <meta property="og:title" content="XXX page title"/>
    <meta property="og:type" content="movie"/>
    <meta property="og:url" content="http://abc.xyz.com/path/to/my/page/"/>
    <meta property="og:site_name" content="XXX site name"/>
    <meta property="fb:admins" content="xxx my facebook id"/>
    <meta property="og:description" content="xxx short description"/>

......然后就在体内:

<body>
<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId  : 'xxxxx',
      status : true, // check login status
      cookie : true, // enable cookies to allow the server to access the session
      xfbml  : true  // parse XFBML
    });
  };

  (function() {
    var e = document.createElement('script');
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    e.async = true;
    document.getElementById('fb-root').appendChild(e);
  }());
</script>

...然后在页面中(我使用FBML方法的唯一原因是我可以跟踪谷歌分析中的推荐事件 - 这应该是无关的,但为了完全披露,我也在这里包含了那些代码... ...

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
        <script type="text/javascript">
            FB.Event.subscribe('edge.create', function(href, widget) {
                _gaq.push(['_trackEvent', '<?php echo $item->type ?>', 'Facebook Recommend', '<?php echo $item->title ?>']);
            });
        </script>
<!-- FB LIKE BUTTON INSERTED HERE -->
        <fb:like href="<?php echo urlencode('http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] )?>" show_faces="false" width="450" action="recommend" font="arial" colorscheme="dark"></fb:like>

我的Feed中显示的链接是http://abc.xyz.com/path/to/my/(网址的最后一段缺失),标题是旧的;我意识到,当我设置它时,所有页面都具有相同的标题,因此我给了它们不同的标题。我通过URL linter运行了几个URL,没有错误,所有数据看起来都是正确的。

1 个答案:

答案 0 :(得分:2)

以下是两个注意事项:

  1. 由于您使用URL Linter检查了多个URL,结果按预期显示,这意味着它是一个缓存问题,请阅读this
  2. 如果您没有使用Facebook Graph API ...或者Like Plugin以外的任何Facebook相关服务,那么不需要第一个Facebook Javascript初始化代码段,但如果使用它,则不需要<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
  3. 修改
    根据评论,有些页面有超过50个喜欢这意味着您无法再更改title

      

    您可以更新您的属性   页面更新您的页面   标签。注意og:title和og:type   最初只能编辑 - 之后   您的页面收到50赞赞标题   变得固定,并在你的页面之后   收到10,000个喜欢的类型变成了   固定。这些属性是固定的   避免让喜欢的用户感到惊讶   页面已经。改变标题   或者在这些限制之后输入标签   达到了无关,你的页面   保留原始标题和类型。

    source [Editing Meta Tags]

    但是如果您确实需要更改title并且您可以可能丢失喜欢的计数,那么您可以添加假参数URL元标记的结尾,以便Facebook 认为这是一个新页面:

    http://www.domain.com/page.php?123
    

    请注意,我从未在新的Like插件中使用此技术。