Как вернуть лайки и репосты в Facebook после перехода на HTTPS
Переезд с HTTP на HTTPS – вполне оправданный и обоснованный процесс в последние годы, позволяющий следовать лучшим практикам индустрии и защищать конфиденциальную информацию своих посетителей. Однако переезд на HTTPS не всегда происходит гладко. К примеру, владельцы сайтов с могут столкнуться с потерей некоторого процента лайков и репостов в Facebook при переходе на HTTPS.
301-й редирект, который обычно указывается в .htaccess при переезде сайта на HTTPS и позволяет сохранить переходы в Google Analytics, в случае с Facebook перестает работать. Для социальной сети ссылки с HTTPS и HTTP – разные ссылки, а потому статистика по социальному взаимодействию теряется. В сети довольно распространены вопросы, связанные с такой утратой показателей. Как вернуть лайки и репосты в Facebook обратно? Существует ли какой-либо метод по восстановлению показателей активности в социальной сети?
Да, такой метод существует, и мы его рассмотрим далее.
Шаг 1. Для начала нам необходимо перейти в раздел Tools & Support в интерфейсе Facebook для разработчиков, после чего выбрать вкладку Sharing Debugger. Здесь мы можем ввести URL и получить информацию о том, сколько раз пользователи поделились им в Facebook.
Шаг 2. Обнуляем социальные показатели. После ввода URL в Sharing Debugger у вас появится кнопка с надписью «Scrape Again», которая позволит обнулить данные. Делаем это.
Шаг 3. Делаем для роботов Facebook предпочтительной версию URL с HTTP с помощью атрибута rel=”canonical”. Пример: <link rel="canonical" href="http://example.com/example-article" />. Ссылка с HTTP должна быть задана в качестве канонической в интерфейсе Facebook.
Примечание: методика применима только к старым страницам, доступным по http. Для новых страниц в качестве канонического URL необходимо указывать ссылку с HTTPS.
Шаг 4. Идентифицируем робота Facebook с помощью user-agent или IP-адреса. Роботу будет передаваться URL с HTTP для старых статей и URL с HTTPS для новых статей, что позволит правильно выводить социальные показатели.
Ниже представлен код для определения робота Facebook:
PHP:
if(preg_match('/facebookexternalhit/i',$_SERVER['HTTP_USER_AGENT'])) {
echo '<link rel="canonical" href="http://url-s-http">';
} else {
echo '<link rel="canonical" href="https://url-s-https">';
}
Nginx
if ($HTTP_USER_AGENT ~ "^((?!facebookexternalhit).)*$") {
return 301 https://vash-adres-saita$request_uri;
}
Данный метод позволит избежать потери социальных показателей в Facebook в результате перехода с HTTP на HTTPS.