Если Яндекс Метрика и другие счетчики замедляют загрузку сайта, можно воспользоваться отложенной загрузкой этих скриптов. Часто в тестах PageSpeed Insights появляется ошибка о блокирующих отображение ресурсах, причиной которой могут быть именно скрипты сервисов аналитики.
Для решения можно реализовать отложенную инициализацию Метрики. Пример кода, размещённый ниже, позволяет ускорить загрузку сайта: основные ресурсы загружаются сразу, а скрипты аналитики подключаются спустя 1 секунду после первого скролла пользователя.
Такой подход помогает улучшить показатели в тестах и обеспечивает стабильную работу метрики на всех устройствах.
Вставьте вместо ‘ХХХХХХХ’ свой идентификатор счётчика в примере кода для Яндекс Метрики с поддержкой вебвизора.
<script> var fired = false; window.addEventListener('scroll', () => { if (fired === false) { fired = true; setTimeout(() => { (function(m, e, t, r, i, k, a) { m[i] = m[i] || function() { (m[i].a = m[i].a || []).push(arguments) }; m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a) })(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(ХХХХХХХ, "init", { clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true }); }, 1000) } }); </script>