Как добавить на сайт счётчики аналитики не ухудшая скорость загрузки?

Добрый день
Стоит задача настроить ретаргетинг во всех соц.сетях
Соответственно нужно поставить пиксели/счетчики отслеживания, но они все замедляют сайт, учитывая сколько их:
Яндекс Метрика
Гугл Аналитикс
Пиксель ФБ
Пиксель ВК
Пиксель Майтаргет

Как их лучше установить без вреда скорости сайта? Чтоб не навредить SEOшке, да и пользователям
  • Вопрос задан
  • 5804 просмотра
Пригласить эксперта
Ответы на вопрос 10
@pcdesign
Что на счет такого варианта:
<script>
  setTimeout(function(){
      // Код счетчиков
    }, 5000); 
</script>


Даем на загрузку страницы 5 секунд и только 5 секунд спустя подгружаем все это барахло.
Ответ написан
suffix_ixbt
@suffix_ixbt
https://www.babai.ru/
1. Вышеуказанный совет использовать Tag Manager верен, но всё-равно счётчики будут замедлять сайт.

2. Настоящие индейцы вполне могут обходиться без всех этих счётчиков. Для всех задач достаточно связки из трёх компонентов:

Яндекс.Вебмастер
SearcheConsole
goaccess your.domain.ru.access.log -o report.html --log-format=COMBINED
Ответ написан
opium
@opium
Просто люблю качественно работать
Все счётчики асинхронные и никак на скорость загрузки сайта не влияют
Ответ написан
@svm
Касательно яндекс.метрики:
Не включайте вебвизор, если он не нужен. TTI в Lighthouse значительно проседает.

Касательно гугл аналитики:
Подключайте через analitics.js, а не через gtag.js

Не нужно делать setTimeout на подключение - не поможет. Асинхронного подключения достаточно.
Для того же lighthouse setTimeout может навредить. И если значение поставить слишком высокое, то сама аналитика будет уже искаженные данные показывать, а из этого следует вывод - зачем тогда вообще нужна аналитика, если её подключать через 5 секунд, как здесь советуют?

По поводу размещения скриптов на своем сайте:
Антон вполне прав и это не чушь. Размещая скрипты на своем сервере, можно задать свои заголовки кэширования, что позволяет дольше хранить скрипты у пользователя. И CDN чаще может дольше отвечать, чем свой правильно настроенный сервер.
Для обновления достаточно нужный скрипт в крон добавить (загружать через wget или curl). Никакую инфраструктуру для этого не надо разворачивать.

На счет пикселей ФБ, ВК и прочих - по мне это лишнее уже, реально.
Ответ написан
naarende
@naarende
Диджитал менеджер
Хороший вопрос от автора.
Правильный ответ примерно такой:

Работать над оптимизацией внешних подключений важно. Асинхронность по умолчанию должна быть, но она не спасает от перегрузки основного потока.
У нас на проекте стоит не только Яндекс Метрика, Гугл Аналитика, пиксель ФБ, пиксель ВК, но и Hotjar и utmstat и они совершенно не мешают ничему. Подключать всё надо грамотно, откладывая по времени и по событиям. Если событие наступило, то счетчик времени отключается. Важно найти то время, на которое откладывать скрипт. Чтобы не поехали цели в метрике или в GA. Следите за приоритезацией загрузки, чтобы всё осталось в рабочем состоянии, но не влияло на скорость загрузки.

Подробно, как правильно подключать внешку, мы показывали с этой минуты: https://youtu.be/_3c0aPSkNdc?t=1480.
Там же есть пример скрипта обработчика.

Алексей из loading.express
Ответ написан
Комментировать
@anton99zel
29а класс средней школы №7
Просто грузить надо скрипты себе на сайт, обновляя их по крону раз в сутки, а не грузить со сторонних серверов
Ответ написан
gromel
@gromel
SEO | VDS | WP | BITRIX
Использовать отложенную загрузку счетчиков по действию "scroll", "touchstart", "click".

Пример подключения:
Отложенная загрузка кода Яндекс.Метрики

Использую на своих проектах.

По одному проекте мониторил контрольный пул запросов.

1. Внес правки (много всего, не только скрипты аналитики), показатели Google Page Speed были ~35/65 стали 100/100.
2. В search-console гугла, в разделе "Основные интернет-показатели"/"Мобильный", отправил на перепроверку страницы с низкими показателями. Занимает 28 дней.
3. Спустя пару месяцев с момента правок, был прирост устоявшихся позиций по гуглу — из диапазона 5-7 сдвинулись в 3-5.

Без ленивой загрузки метрики, показатели Google Page Speed были ~92/98. Основная причина — сторонний код заблокировал основной поток.
Ответ написан
Комментировать
aliprofi
@aliprofi
Хочешь стать неудачником? Всегда ищи виноватых!
Лучший способ - это сделать так, чтобы код скрипта метрики начинал подгружаться после начала скроллинга страницы. У меня так на сайте стоит https://aliprofi.ru можете проверить скорость моего сайта в Google Speed :)

Вот как выглядит мой код метрики:

<script type="text/javascript" >
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://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js", "ym"); ym(32194894, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true }); 

}, 1000)
    }
});
</script>
Ответ написан
xPomaHx
@xPomaHx
1vs9
Для начало определите для себя что такое скорость загрузки, если это кб/с это ответ никак, обычно это время до взаимодействия с сайтом на 3г скорости, а для этого достаточно html и критический css загрузить, все остальное можно потом и не влияет понятие скорость загрузки сайта.
Ответ написан
@oldzas
1) проверьте асинхронность у скрипта
2) отключите вебвизоры - они для баловства
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы