Сохранить Google +1, Facebook, и Twitter Tweet Эта кнопка подсчитывается после изменения URI

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

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

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

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

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

ИЗМЕНИТЬ

Началась баунти, но не отвечайте "не может быть сделано"

Ответ 1

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

Ответ 2

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

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

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

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

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

Ответ 3

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

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

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

Ответ 4

У меня есть реальное решение этой проблемы, оно может быть не самым обычным, но оно работает на 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... у вас есть новый URL-адрес, который используется для совместного использования, и старые домены из разных социальных сетей добавляются в них.

Ответ 5

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


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

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

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

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

Ответ 6

Вставьте head на новую страницу

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

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