Notice: Undefined index: HTTP_ACCEPT_LANGUAGE in /var/www/thewind/data/www/dignatiev.ru/app/Model/Local.php on line 39
Актуальные данные виджетов "Мне нравится" / "Поделиться" для сайтов ВКонтакте и Facebook - Блог на сайте DIgnatiev development

Актуальные данные виджетов "Мне нравится" / "Поделиться" для сайтов ВКонтакте и Facebook

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

Виджеты и кнопки

Что же именно публикуется? Название страницы, изображение-тумба, короткое описание и собственно, сама ссылка на страницу.
Но нередко администратор сайта меняет какие-либо данные из приведенных выше, что в свою очередь совершенно не отражается на вновь публикуемых ссылках. А всё потому, что алгоритмы социальных сетей заточены под высокую нагрузку и кеширует практически любые данные. Причем многие из этих данных остаются в кеше навсегда (ну или пока их оттуда не удалят руками / через специальные методы). И такие способы - очистить кеш - существуют!

  • У социальной сети Facebook есть специальная страница https://developers.facebook.com/tools/debug, которая после ввода нужного вам адреса сайта, покажет закешированные данные и позволит их очистить. Но этим функционал не ограничивается - вам также подскажут спорные места в коде сайта, которые не могут быть интерпретированы фейсбук-ом из-за ошибок или из-за излишества данных.
  • ВКонтакте такой богатой функциональности не имеет, но зато у них есть метод в API, который позволяет просто очищать кеш для страниц. Подробно про метод описано в их документации здесь https://vk.com/dev/pages.clearCache. К сожалению, ничего кроме скупого {response: 1} (успешный ответ в формате JSON), Вы ничего более не увидите. Но это и не важно - главнее то, действительно ли данные стираются. Ответ на этот вопрос спорный, во всяком случае у меня. Для виджета "Мне нравится" кеш не стирается - картинка, название, описание остается прежним. На странице подробной документации есть сведения о 3-ем параметре при инициализации кнопкиpage_id. Если изменить этот параметр, то виджет "думает", что мы подсунули ему новый URL и соответственно, кеша для него нет, поэтому все данные берутся заново, т.е. становятся актуальными. Но при этом есть огромный минус - количество "лайков" для прежнего URL теряется, т.е. вы снова видите рядом с кнопкой жизнеутверждающий ноль. Есть еще у ВК кнопкапубликации ссылок, которая позволяет вручную указывать все данные и при этом ничего не кеширует. А если такое и случится, то метод очистки кеша как раз работает для нее.

Универсальность данных

Алгоритмы работы виджета "Мне нравится" могут показаться прозрачными только снаружи. При попытке установки его на страницы сайта или попытке разобраться с методами работы можно столкнуться со многими интересными вещами. Например, изображение для публикуемой ссылки.

Кнопка "Мне нравится" от ВКонтакте позволяет задать изображение вручную, а также указать его в теле документа через мета-теги микроразметки:

  • vk:image
  • og:image

Проблема заключается в том, что ни один из этих вариантов не дает 100% -ой гарантии в использовании указанного вами изображения. Проще говоря, ВКонтакте берет код страницы по пубкликуемой ссылке и считывает оттуда все изображения (вероятнее всего, больше какого-то минимально установленного размера). Далее, судя по всему, изображения сортируются по значимости / размеру (опять же по мнению ВК) и выдаются на выбор пользователю. И совсем не факт, что первым будет стоять логотип или нужная вам картинка.

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

Решение проблемы

Все социальные сети, даже кешируя контент вашего сайта, регулярно обращаются к нему снова при нажатии кнопки "Поделиться" / "Рассказать друзьям". При этом все они передают специфический user-agent (в PHP это глобальная переменная массива $_SERVER['HTTP_USER_AGENT']).

Достаточно в начале кода всех страниц (либо в общем файле, который включается во все страницы) добавить проверку на предмет ключевых слов из этих агентов. И если условие пройдено (ключевые слова найдены), то выдавать шаблон (страницу) без контента, а только лишь с нужным title, descrpition, image. В качестве изображения можно не использовать мета-теги типа vk:image / og:image, а просто в теле документа BODY прописать нужный тег IMG. Тогда алгоритмы социальной сети точно не ошибутся, попросту потому, что выбирать не из чего.


contact

Свяжитесь с нами

Если вам понравились наши услуги или появились вопросы, напишите через обратную связь.

Новости

05 июля 2017 г.

Два новых сервиса в онлайне.

Подробнее »

17 июня 2016 г.

Новая статья в нашем блоге про актуальность адаптивного дизайна в современных сайтах.

Подробнее »

Отзывы клиентов

Всё отлично, быстро и недорого!

Владимир Ульев - В-Кран

Работы по сайту были сделаны качественно. Понравилось то, что в студии выполнили все обязательства в срок.

Оцениваю сотрудников как профессионалов высокого уровня, приятных в общении людей и рекомендую!

Антон Яковлев - Играмир

bottom