Если Яндекс Метрика и другие счетчики замедляют загрузку сайта, можно воспользоваться отложенной загрузкой этих скриптов. Часто в тестах 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>