问题 保留Google +1,Facebook赞和Twitter推文此按钮在URI更改后计算


我的问题非常简单:有没有办法(以编程方式,技术上或手动方式)制作Google +1,Facebook赞或Twitter推文这个按钮在更改URI后保留其计数?

以编程方式:使用javascript做一些事情,使其显示两个URI的组合计数,同时仅将新操作发布到后者。

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

手动:有些形式可以在我们网站的某个地方提交,或者我可以通过电子邮件发送给我们能够将我们的点数复制到新的URI?

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

编辑

赏金开始了,但不回答“它无法完成”


5989
2017-11-18 06:35


起源



答案:


不幸的是,没有解决方案。我们尝试了所有可能的解决方案,如果您进行301重定向,您将失去社交资产。我们发现不值得尝试维持我们的投票计数的麻烦,而是在转移到新网址结构的过渡期间将我们的按钮指向主页。


1
2018-03-26 23:05



这里的结论相同。只是不可能,这是诚实的,简单的荒谬。我无法相信这些公司都没有给这个话题足够的想法在他们的FAQ或支持系统中提及它。 - Mahmoud Al-Qudsi


答案:


不幸的是,没有解决方案。我们尝试了所有可能的解决方案,如果您进行301重定向,您将失去社交资产。我们发现不值得尝试维持我们的投票计数的麻烦,而是在转移到新网址结构的过渡期间将我们的按钮指向主页。


1
2018-03-26 23:05



这里的结论相同。只是不可能,这是诚实的,简单的荒谬。我无法相信这些公司都没有给这个话题足够的想法在他们的FAQ或支持系统中提及它。 - Mahmoud Al-Qudsi


我相信只有一种解决方案能够满足您的要求。那解决方案是301 /302旧URI到新URI,然后继续使用社交按钮的旧URI。所有主要的社交按钮都允许您指定喜欢/ g + / tweet /等的URL。这将保留您现有的社交分享计数,并且所有共享帖子仍将指向同一页面。现在选择是301还是302重定向。 302可能有助于保留当前的搜索位置,并且如果非常好,则可以避免失去排名。 301重定向(永久移动)将使搜索引擎开始索引新URL并删除旧URL。这个 威力 导致当前搜索排名下降。看来,就这篇文章而言,没有人会尊重任何形式的社交投票的重定向。

所以我认为 最安全的路线是302重定向 和 继续使用旧的URI进行社交投票。您将以这种方式保留您的资产,但必须维护您的重定向,并在旧的URI模板中投入更多资金。你的重定向是如何实现的?的.htaccess?还是在页面?您需要权衡您的案例的成本效益。

否则你应该301并开始使用社交按钮的新URI。在这种情况下,你可能会失去你的社会公平,但可以自由地建立新的,而不用担心弄乱任何东西。 如果您要替换的社会公平可以在6个月或更短的时间内收回,我就不会理会 并开始新鲜。

然而,这提出了一个有趣的观点。您提到以编程方式添加两个计数。是的,你可以把一些JavaScript放在一起添加几个计数,但我得问为什么?将它们添加在一起以进行可视化显示 实际上不会有助于提高推荐流量或搜索排名。所以它只是一个我认为不会帮助你的立面。如果你只是想让你的访问者认为你很受欢迎,那么为什么不只是生成一个不断计算的图像服务器端。 (糟糕的笑话,不要这样做!)底线你实际上无法重定向你的社会公平,你可能会假装移动它,但实际上你不能。

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


8
2017-11-24 07:07



我已经通过301将旧链接重定向到新的。我已经使用过您正在讨论的方法,但它不起作用,因为它只捕获使用我们网站上的按钮进行的​​新“投票”,用户复制并粘贴 /mycoolproduct/ 链接到推文或fb帖子不计,因为该页面上的小部件将不会访问新uri的投票,仅用于旧的。 - Mahmoud Al-Qudsi
我不确定你有完美的解决方案。考虑到你已经301了你的旧链接,我忘了试图保持旧的社会公平 - 它可能只是在这一点上的视觉反正并且不再对你的排名做出贡献。只需使用社交按钮的新URI即可。 301已经完成,你现在无法真正改变主意。此时,除了您页面上报告的视觉编号之外,此建议不会更改任何内容,其他所有内容都已存在 过了不归路。 - BenSwayne
如果你认为它已经过了不归路,我想你错过了我的问题。一世 需要 到301重定向 /dl.php?id=1 至 /mycoolproduct/ 而我的问题是,如果我正在重定向,我该如何移动或加入这些点。我想知道如何告诉Google / FB / Twitter合并或移动这两个URI的点以及如何在页面小部件中报告合并计数。 - Mahmoud Al-Qudsi
@ MahmoudAl-Qudsi我觉得你错过了答案。 :)这是无法做到的,并在互联网上记录 - 做谷歌搜索。您唯一的选择是通过使用一些棘手的JavaScript将旧计数添加到新计数中来“欺骗”本地页面上的计数。但这将是很多工作,除了在你的页面上看起来不错外,不会给你带来任何好处。它实际上不会从facebook和谷歌的角度应用likes / g +。如果他们的索引自301重定向以来已经更新,他们都已经打折旧的社交投票。 - BenSwayne


我不能说如何使用Twitter / G +但是对于Facebook这样做:

您无法“移动”网址之间的相似内容和评论,对于新内容,您绝对应该开始使用新网址,但对于现有网址,如果您符合以下条件,您仍可以使用原始内容,例如计数/评论:

  • 继续将新URL上的Like按钮指向旧URL(即 <fb:like url="http://oldurl"/>
  • 在重定向代码中添加一个例外,以便在Facebook的爬虫时(facebookexternalhit/1.*  - 当前1.1)访问它,显示原始的开放图元标记集(这将保持描述,标题,缩略图等,像以前一样工作)
  • 落在“旧”URL上的其他用户仍将被重定向到其新位置的内容

2
2017-11-24 20:31



这是不必要的,因为opengraph元标记没有改变。它错过了真正的问题:人们将从我的页面外部分享我的链接(我之前从未在我的页面上有过类似的按钮,但仍然设法收集了很多数字),这只会显示旧页面的统计数据。 - Mahmoud Al-Qudsi
不,如果新页面上的like按钮指向旧URL,Facebook的抓取工具将转到旧URL,在那里使用元数据并更新旧URL的like / share / comment计数,但这将显示在您安装到新页面上的实际类似按钮如果您不这样做,Facebook将按照301/302重定向从旧URL到新URL并增加新URL的计数,这将丢失您现有的喜欢等 - Igy


我对这个问题有一个真正的解决方案,它可能不是最传统的,但它确实可以100%工作。使用一个简单的jQuery插件调用 sharrre。请记住,我不是最好的jQuery编码器(如果你看到改进,请告诉我!)但这无论如何都有效。

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

使用sharrre插件,您可以将当前共享计数添加到页面上的任何元素。我只是获取了两个URL的数据,然后将它们一起添加并显示在类似,推文,共享等按钮上。

这个例子是Twitter,但我正在使用Facebook,Google Plus,Pinterest和Linkedin。这是代码:

<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>

然后我打电话给sharrre的代码:

$(function(){ sharrreItUp(); }

这是我的函数在我的.js文件中的外观:

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);

}

而且BAM ......你的新网址被锐化,来自不同社交网络的旧网址被添加到其中。


2
2018-03-19 02:01





我不想说错了,但我认为你只需要在每个共享按钮中定义URI,所以无论投票来自哪个URL,定义的url都将用作计数。


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

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

然后,在加载DOM并加载窗口小部件后的页面上,您可以附加自己的值。

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


0
2017-11-30 21:12





放入 head 新页面

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

这种方式Facebook属性喜欢旧页面。唯一的缺点是,当人们分享您的链接时,将包含旧的丰富代码段。


0
2018-06-22 04:49