Redirect 保留谷歌&x2B;1、类似Facebook和Twitter的Tweet此按钮在URI更改后计数

Redirect 保留谷歌&x2B;1、类似Facebook和Twitter的Tweet此按钮在URI更改后计数,redirect,facebook-like,social-networking,google-plus-one,Redirect,Facebook Like,Social Networking,Google Plus One,我的问题很简单:有没有办法(通过编程、技术或手动)让Google+1、类似Facebook或Twitter的Tweet在更改URI后保留其计数 以编程方式:使用javascript执行某些操作,使其显示两个URI的组合计数,同时仅向后者发布新操作 从技术上讲:他们是否检测并遵循来自原始资源的301重定向?是否有任何特殊的文本可以包含在HTTP头中,告诉他们应该将所有“点”从旧URI移动到新URI 手动:我可以在他们网站的某个地方提交一些表单,或者我可以通过电子邮件将我们的点复制到新的URI (请

我的问题很简单:有没有办法(通过编程、技术或手动)让Google+1、类似Facebook或Twitter的Tweet在更改URI后保留其计数

以编程方式:使用javascript执行某些操作,使其显示两个URI的组合计数,同时仅向后者发布新操作

从技术上讲:他们是否检测并遵循来自原始资源的301重定向?是否有任何特殊的文本可以包含在HTTP头中,告诉他们应该将所有“点”从旧URI移动到新URI

手动:我可以在他们网站的某个地方提交一些表单,或者我可以通过电子邮件将我们的点复制到新的URI

(请注意,我故意在这个问题中使用URI而不是URL。规范资源链接正在从
something.php?id=idnumber
更改为
/mycoolproduct/

编辑


赏金开始了,但不要回答“这不可能完成”

我相信只有一种解决方案符合您的要求。该解决方案是301/302将旧URI转换为新URI,然后在社交按钮中继续使用旧URI。所有主要的社交按钮都允许您指定喜欢/g+/tweet/等的URL。这将保留您现有的社交共享计数,所有共享帖子仍将指向同一页面。现在的选择是301还是302重定向。302可能有助于保持当前的搜索位置,并避免失去你的排名,如果它相当好。301重定向(永久移动)将导致搜索引擎开始索引新URL并删除旧URL。这可能会导致当前搜索排名下降。似乎在这篇文章中,没有人支持任何形式的社会投票重定向

因此,我认为最安全的方法是302重定向,并且继续使用旧的URI进行社会投票。您将以这种方式保留您的权益,但必须保持重定向,并在旧URI模板中投入更多资金。你的重定向是如何实现的。htaccess?还是在第页?您需要权衡您的案例的成本效益

否则,您可能应该为您的社交按钮使用新的URI。在这种情况下,你可能会失去你的社会公平感,但你可以自由地建立新的社会,而不必担心搞砸任何事情如果你要取代的社会公平可以在6个月或更短的时间内收回,我就不会为此费心了,重新开始

然而,这提出了一个有趣的观点。您提到了通过编程方式添加两个计数。是的,你可以组合一些JavaScript来加上几个计数,但我要问为什么?为了直观显示的目的而将它们加在一起,实际上无助于增加推荐流量或搜索排名。所以我认为这只是一个表面现象,对你没有帮助。如果你只是想愚弄你的访问者,让他们认为你很受欢迎,为什么不在服务器端生成一个持续计数的图像呢。(糟糕的笑话,不要这样做!)底线你不能真正改变你的社会公平,你可以假装改变了它,但实际上你不能


考虑到您最初的问题询问了几个社交按钮,重要的是要注意,即使其中一个或两个服务在应用社交投票时开始接受重定向,也不会免除您做出上述决定的责任。您仍然需要现有反向链接的重定向,如果您支持页面上的多个社交按钮,则需要在选择重定向类型时考虑所有社交按钮。

我无法说明如何使用Twitter/G+实现这一点,但对于Facebook:

您不能在URL之间“移动”喜欢和评论,对于新内容,您肯定应该开始使用新的URL,但对于您现有的URL,如果您:

  • 继续将新URL上的Like按钮指向旧URL(即
  • 在重定向代码中添加一个例外,这样当Facebook的爬虫程序(
    facebookexternalhit/1.*
    -当前为1.1)访问它时,会显示原始的打开图元标记集(这将保持描述、标题、缩略图等与以前一样工作)
  • 登陆“旧”URL的其他用户仍将被重定向到新位置的内容
  • 演示:
我不想说错话,但我认为您只需要在每个共享按钮中定义URI,因此无论投票来自哪个URL,定义的URL都将用作计数


如果您已经有两个不同的来源,并且您想要加入它,那么您应该遵循iframe src并从中刮取计数;对于google+1,包含计数的div id是
#aggregateCount
,对于twitter是
#count
;示例如下:

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile('iframe-url-goes-here');
$count = $doc->getElementById('aggregateCount');
echo $count->nodeValue;
?>

然后,在加载DOM和小部件之后,您可以在页面上附加自己的值


希望这有帮助,无论如何,我更喜欢第一种方式。

不幸的是,没有解决方案。我们已经尝试了所有可能的解决方案,如果您进行301重定向,您将失去您的社会公平。我们发现不值得费心维护我们的计票结果,而是将按钮指向中的主页过渡到新的url结构。

对于这个问题,我有一个真正的解决方案,它可能不是最传统的,但它确实可以100%工作。使用一个名为的简单jQuery插件。请记住,我不是最好的jQuery编码员(如果您看到改进,请告诉我!),但不管怎样,它都可以工作

以下是我在我的网站上的做法:

使用Sharre插件,您可以添加
<li id="twitter" data-url="CURRENT-URL" class="twitter sharrre"></li>

<li id="twitter-old" data-url="OLD-URL" class="twitter sharrre" style="display: none;"></li>
$(function(){ sharrreItUp(); }
function sharrreItUp() {

    $('#twitter').sharrre({
        share: {
            twitter: true
        },
        enableHover: false,
        click: function(api, options){
            api.simulateClick();
            api.openPopup('twitter');
        }
    });

    $('#twitter-old').sharrre({
        share: {
            twitter: true
        }   
    });

    setTimeout(function(){ 

        var oldTwts = $('#twitter-old .box .count').html();
        var newTwts = $('#twitter .box .count').html();
        $('#twitter .box .count').html(parseInt(oldTwts) + parseInt(newTwts));

    }, 2000);

}
<meta property="og:url" content="old_url_here"/>