DOM элементы Яндекс кнопок поделиться

KS
На сайте с 30.07.2016
Offline
35
107

На странице категории сайта есть много блоков Яндекс кнопок поделиться для каждой записи. Выглядит код примерно так:

<script src="https://yastatic.net/share2/share.js"></script>

<div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,twitter,lj,viber,whatsapp,telegram,skype" data-size="s" data-url="https://site.ru/page1.html" data-title="Заголовок 1" data-description="Описание 1"></div>

<div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,twitter,lj,viber,whatsapp,telegram,skype" data-size="s" data-url="https://site.ru/page2.html" data-title="Заголовок 2" data-description="Описание 2"></div>

Проблема в том что генерируется примерно по 45 элементов DOM структуры на каждый блок кнопок, что дает лишние 1350 элементов на 30 записей при проверке через PageSpeed Insights, Lighthouse и GTMetrix. Нашел временное решение: подгружаю файл share.js через 15 секунд после загрузки страницы, что позволяет отложить прорисовку кнопок и решает проблему с DOM структурой в сервисах. Но 15 секунд... это многовато.

В сервисе PLUSO нет проблем с DOM структурой. Они как-то по-хитрому подгружают файл вот так:

<script type="text/javascript">(function() {
  if (window.pluso)if (typeof window.pluso.start == "function") return;
  if (window.ifpluso==undefined) { window.ifpluso = 1;
    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
    s.type = 'text/javascript'; s.charset='UTF-8'; s.async = true;
    s.src = ('https:' == window.location.protocol ? 'https' : 'http')  + '://share.pluso.ru/pluso-like.js';
    var h=d[g]('body')[0];
    h.appendChild(s);
  }})();</script>
Пытался переделать этот код чтобы Яндекс кнопки таким образом подгружать, чтобы их не видели вышеприведенные сервисы, но в JavaScript я не силен и у меня ничего не получилось. Возможно ли вообще вот таким способом подгружать JS файл Яндекс кнопок чтобы они не создавали лишние DOM элементы в PageSpeed Insights или же там все гораздо сложнее чем я думаю? Как этот код переделать чтобы загружать JS Яндекс кнопок таким образом? PLUSO использовать не очень хочу. "Мы не ищем легких путей" 🙃


LEOnidUKG
На сайте с 25.11.2006
Offline
1577
#1
Ну яндекс ещё туда свою метрику вставляет.  Как вариант это загрузка скрипта по действию пользователя, клик, скролл и т.д.
✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
totamon
На сайте с 12.05.2007
Offline
355
#2
зачем вам в анонсах то эти кнопки? вы исследовали, они эффективны? или чисто для красоты чтоб было?)
Хостинг от 90р ( https://goo.gl/h1VRkY ) и ВПС от 161р ( https://goo.gl/vw9JH7 ) 14 дней бесплатный тест! Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno а тут ВПС за 1,25$ https://8fn.ru/vps1doll Монетизация любых сайтов PUSHами ( https://8fn.ru/push ) - лучшая цена клика и показа ;)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий