Отложенная загрузка Яндекс метрики

Как ускорить скорость загрузки сайта, когда Яндекс метрика и другие аналитики тянут сайт вниз?

Часто в тестах встречается ошибка “Устраните ресурсы, блокирующие отображение.” Яндекс метрика и другие сторонние ресурсы могут этому способствовать. Для решения проблемы попробуем отложить яндекс метрику.

Ниже выкладываю пример кода, который “откладывает” загрузку метрики. Сайт загрузится быстро, и как только пользователь начнет скроллить, через секундный таймаут начнется загрузка дополнительных ресурсов. Тесты станут в порядке, а метрика будет работать исправно на всех устройствах.

var fired = false;
window.addEventListener('scroll', () => {
    if (fired === false) {
        fired = true;
        setTimeout(() => {
// Сюда вставляете метрики без тегов <script>           
        }, 1000)
    }
});

Пример вставки кода с Яндекс Метрикой и включенным вебвизором. Вместо “ХХХХХХХ” вставьте свой номер счетчика Яндекс Метрики.

<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&quot;, "ym");
        ym(ХХХХХХХ, "init", {
            clickmap: true,
            trackLinks: true,
            accurateTrackBounce: true,
            webvisor: true
        });
        }, 1000)
    }
});
</script>


Возврат к списку