Кнопки социальных сетей на сайт: практическое руководство

10318

Кнопки социальных сетей на сайт — это простой способ дать посетителю возможность поделиться страницей в один клик. Главное здесь не количество кнопок, а удобство и корректная реализация без лишней нагрузки на сайт. Ниже конкретное руководство: как сделать рабочие кнопки самостоятельно с помощью HTML и JavaScript.

Кнопки социальных сетей на сайт

Почему стоит делать кнопки вручную

  • Минимальная нагрузка — никаких тяжёлых плагинов и сторонних скриптов.
  • Полный контроль — вы точно знаете, какой код работает на странице.
  • Гибкость — легко изменить текст, порядок и внешний вид.
  • Совместимость — одинаково работает в WordPress, статике и шаблонах.

Базовая HTML-разметка кнопок

Начнём с простой разметки. Это обычные ссылки, которые будут обрабатываться через JavaScript.


<div>
  <a href="#" data-share="vk">Поделиться ВКонтакте</a>
  <a href="#" data-share="ok">Поделиться в Одноклассниках</a>
  <a href="#" data-share="tg">Поделиться в Telegram</a>
  <a href="#" data-share="wa">Поделиться в WhatsApp</a>
</div>

JavaScript-реализация кнопок

Скрипт автоматически подставляет текущий адрес страницы и заголовок документа.


<script>
document.addEventListener('click', function (e) {
  var btn = e.target.closest('[data-share]');
  if (!btn) return;

  e.preventDefault();

  var url = encodeURIComponent(window.location.href);
  var title = encodeURIComponent(document.title);
  var shareType = btn.getAttribute('data-share');
  var shareUrl = '';

  switch (shareType) {
    case 'vk':
      shareUrl ='https://vk.com/share.php?url=' + url;
      break;

    case 'ok':
      shareUrl ='https://connect.ok.ru/offer?url=' + url;
      break;

    case 'tg':
      shareUrl ='https://t.me/share/url?url=' + url + '&text=' + title;
      break;

    case 'wa':
      shareUrl ='https://wa.me/?text=' + title + '%20' + url;
      break;
  }

  if (shareUrl) {
    window.open(shareUrl, '_blank', 'width=600,height=400');
  }
});
</script>

Этот код можно вставить:

  • в файл шаблона темы;
  • в футер сайта;
  • через пользовательский JS в WordPress.

Как это работает

  • Пользователь кликает по ссылке.
  • JavaScript перехватывает клик.
  • Формируется ссылка нужной соцсети.
  • Открывается новое окно с формой «Поделиться».

Никакие API-ключи и регистрации не требуются.

jQuery-вариант (если используется на сайте)

Если на сайте уже подключён jQuery, можно использовать более компактный вариант.


<script>
jQuery(function ($) {
  $('[data-share]').on('click', function (e) {
    e.preventDefault();

    var url = encodeURIComponent(window.location.href);
    var title = encodeURIComponent(document.title);
    var type = $(this).data('share');
    var shareUrl = '';

    if (type ==='vk') {
      shareUrl ='https://vk.com/share.php?url=' + url;
    } else if (type ==='ok') {
      shareUrl ='https://connect.ok.ru/offer?url=' + url;
    } else if (type ==='tg') {
      shareUrl ='https://t.me/share/url?url=' + url + '&text=' + title;
    } else if (type === 'wa') {
      shareUrl ='https://wa.me/?text=' + title + '%20' + url;
    }

    window.open(shareUrl, '_blank', 'width=600,height=400');
  });
});
</script>

Практические советы

  • Размещайте кнопки после статьи или рядом с заголовком.
  • Не используйте больше 3–4 кнопок.
  • Проверяйте работу на мобильных устройствах.
  • Не оборачивайте кнопки в nofollow без необходимости.

Итог

Самостоятельная реализация кнопок шаринга — это простой и надёжный способ добавить функциональность без плагинов. Такой подход понятен, легко поддерживается и полностью контролируется вами.

6
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(9 голосов, в среднем: 4.2 из 5)
не скупись ☝️ оцени статью
Подписка на обновления:
Автор блога Рябухин Максим

Я фрилансер веб-разработчик. Последние несколько лет занимаюсь версткой и веб-программированием на PHP и Javascript. Если вам понадобится помощь с блогом Wordpress, либо адаптация сайта, я всегда рад помочь.

связаться
Вместе с этим советую почитать:

Оставьте комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
не пытайтесь оскорбить автора, либо участников блога, ваши комментарии все равно не будут промодерированы!
у меня есть сайт

комментариев: 6
  • Валерий

    Максим, спасибо за рекомендации!
    Не конца раскрыли тему — как правильно объединить все кнопки в одну строку?
    Как отделить скрипты, а что вставить в шаблон сайта?

    Ответить
    • Максим Рябухин

      Валерий, а вы перейдите по ссылкам, которые предоставлены, там на все ваши вопросы есть ответы, вы же наверное не переходили, отсюда вам и кажется тема не раскрытой. ;-)

      Ответить
  • Раф

    Максим, Спасибо Вам Огромное!!!)

    Ответить
    • Максим Рябухин

      Раф, рад был помочь!

      Ответить
  • tovideo

    Спасибо очень неплохо прояснили в отличии от других блогов.

    Ответить
    • Максим Рябухин

      Старался по-максимуму дать ссылки на все источники, пользуйтесь ;)

      Ответить
показать все