Сохранить Google +1, Facebook Like и Twitter Tweet Эта кнопка считается после изменения URI - PullRequest
11 голосов
/ 18 ноября 2011

У меня очень простой вопрос: есть ли способ (программно, технически или вручную) сделать твит Google +1, Facebook Like или Twitter. Эта кнопка сохраняет свой счет после изменения URI?

Программным способом: что-то сделать с помощью javascript, чтобы он показывал объединенное число двух URI, при публикации нового действия только последнему.

Технически: обнаруживают ли они и выполняют ли они перенаправление 301 с исходного ресурса? Есть ли какой-нибудь специальный текст, который я могу включить в заголовок HTTP, чтобы сообщить им, что они должны переместить все «точки» из старого URI в новый?

Вручную: какая-нибудь форма на их сайте, которую я могу отправить, или кто-то, кому я могу отправить электронное письмо, сможет скопировать наши баллы на новый URI?

(обратите внимание, что в этом вопросе я специально использую URI, а не URL. Каноническая ссылка на ресурс меняется с something.php?id=idnumber на /mycoolproduct/)

EDIT

Баунти начался, но не отвечайте "это невозможно сделать"

Ответы [ 6 ]

8 голосов
/ 24 ноября 2011

Я считаю, что есть только одно решение, которое универсально соответствует вашему запросу.Это решение - 301 / 302 старых URI для новых URI, а затем продолжать использовать старые URI с вашими социальными кнопками .Все основные социальные кнопки позволяют вам указывать URL-адрес, для которого вам нравится / g + / tweet / etc.Это сохранит ваши существующие доли в социальных сетях, и все общие записи будут по-прежнему направлены на одну и ту же страницу.Теперь выбор становится 301 или 302 перенаправить.302 может помочь сохранить текущее место поиска и избежать потери рейтинга, если он довольно хороший.Переадресация 301 (навсегда перемещенная) приведет к тому, что поисковые системы начнут индексировать ваши новые URL и отбрасывать старые.Это может вызвать потерю в текущем поисковом рейтинге.Похоже, что на этом посте никто не соблюдает перенаправления для любых голосов в социальных сетях.

Так что я думаю, что самый безопасный маршрут - это 302 перенаправления и , которые продолжают использоватьстарые URI для социальных голосов .Таким образом вы сохраните свой капитал, но вы должны поддерживать перенаправления и еще больше инвестировать в старый шаблон URI.Как осуществляются ваши перенаправления?.htaccess?или на странице?Вам нужно будет взвесить затраты и выгоды для вашего дела.

В противном случае вам, вероятно, следует набрать 301 и начать использовать новые URI для ваших социальных кнопок.В этом случае вы можете потерять социальную справедливость, но можете свободно строить новые, не боясь ничего испортить. Если социальная справедливость, которую вы заменяете, может быть восстановлена, скажем, через 6 месяцев или менее, я бы не стал беспокоиться об этом и начать все сначала.

Однако это поднимает интересный вопрос.Вы упомянули о программном добавлении двух пунктов.Ну, да, вы могли бы собрать немного JavaScript, чтобы добавить пару отсчетов вместе, но я должен спросить, почему?Добавление их вместе для визуального отображения на самом деле не поможет увеличить реферальный трафик или поисковый рейтинг .Так что это просто фасад, который, я думаю, не поможет вам.Если вы просто хотите, чтобы ваши посетители думали, что вы популярны, почему бы просто не создать сторону сервера изображений, которая продолжает считать.(плохая шутка, не делайте этого!) Суть в том, что вы на самом деле не можете перенаправить свой социальный капитал, вы можете притвориться, что изменили его, но на самом деле вы не можете.

Учитывая ваш оригиналВопрос задает вопрос о нескольких социальных кнопках, важно отметить, что даже если одна или две из этих служб начнут обрабатывать перенаправления при подаче социальных голосов, это не избавит вас от принятия вышеуказанных решений.Вы по-прежнему будете нуждаться в перенаправлениях для существующих обратных ссылок, и если вы поддерживаете несколько социальных кнопок на своей странице, выбор типа перенаправления должен быть сделан с учетом всех социальных кнопок.

2 голосов
/ 19 марта 2013

У меня есть реальное решение этой проблемы, оно может быть не самым обычным, но оно работает на 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>

Затем я вызвал код Шаррре:

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

}

И БАМ ... у вас есть новый URL-адрес, и в него добавляются старые акции из разных социальных сетей.

2 голосов
/ 25 ноября 2011

Я не могу говорить о том, как это сделать с помощью Twitter / G +, но для Facebook:

Вы не можете «перемещать» лайки и комментарии между URL-адресами, и для нового контента вы обязательно должны начать использоватьновые URL-адреса, но для ваших существующих URL-адресов вы можете по-прежнему работать, например, счетчики / комментарии, если вы:

  • Продолжаете указывать кнопку «Нравится» на новом URL-адресе на старый URL-адрес (т. е. <fb:like url="http://oldurl"/>)
  • Добавьте исключение к вашему коду перенаправления, чтобы при обращении к нему сканером Facebook (facebookexternalhit/1.* - в настоящее время 1.1) отображался исходный набор мета-тегов открытого графика (при этом будут сохраняться описание, заголовок, миниатюра,и т. д., как и прежде)
  • Другие пользователи, которые попадают на «старый» URL, будут по-прежнему перенаправлены на контент в новом месте
1 голос
/ 27 марта 2012

К сожалению, для этого нет решения. Мы испробовали все возможные решения, и вы просто потеряете социальную справедливость, если сделаете 301 Redirect. Мы обнаружили, что не стоит тратить время на то, чтобы пытаться сохранить подсчет голосов, и вместо этого направили наши кнопки на домашнюю страницу в переходный период к новой структуре URL.

0 голосов
/ 22 июня 2015

Вставьте head новой страницы

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

Таким образом, Facebook приписывает лайки для старой страницы. Единственным недостатком является то, что таким образом, когда люди делятся вашей ссылкой, старый богатый фрагмент будет включен.

0 голосов
/ 01 декабря 2011

Я не хочу говорить что-то не так, но я думаю, что вам просто нужно определить URI внутри каждой кнопки общего доступа, поэтому независимо от того, с какого URL пришло голосование, определенный URL будет использоваться как число.


если вместо этого у вас уже есть два разных источника и вы хотите присоединиться к нему, вы должны следовать за iframe src и очистить счет от него; для Google +1 идентификатор id, который содержит счетчик, равен #aggregateCount, для twitter - #count; Пример может быть таким, как показано ниже:

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

затем, на вашей странице после загрузки DOM и загрузки виджета, вы можете добавить свое собственное значение.

надеюсь, что это поможет, в любом случае я предпочитаю первый способ.

...