Перевод моего старого поста: Google Analytics и анализаторы WPO
Я все чаще слышу критику в адрес Google PageSpeed Insights (и других анализаторов WPO), поскольку многие считают противоречивым тот факт, что собственная флагманская служба отслеживания Google, Google Analytics, помечается как ошибка. «Но это же от той же компании!» — можно услышать от них.
Google Analytics, как и другие службы отслеживания, потребляет много ресурсов во время загрузки сайта. Похвально, что такой сервис, как Google PageSpeed Insights, отмечает это, чтобы вы могли его оптимизировать. На мой взгляд, в противном случае он потерял бы доверие как инструмент WPO. Однако я понимаю, что тот, кто не разбирается в оптимизации, может вместо этого винить инструмент. Это напоминает мне басню Эзопа «Лисица и виноград».
Один из вариантов оптимизации скрипта Google Analytics — разместить его на собственном сервере и установить срок действия, чтобы браузеры могли его кэшировать. Это то, что Google не рекомендует, и это понятно, поскольку он теряет возможность обновлять свой код, когда захочет. Если вы не выберете этот вариант, судя по тому, что говорит Google, вы можете легко решить эту проблему, настроив задание CRON для загрузки сценария Google Analytics каждые несколько часов.
Другой вариант (полностью совместимый с предыдущим), который я использую, — загружать скрипт Google Analytics, когда кто-то прокручивает страницу. Это может показаться вредным, поскольку может заставить вас думать, что он не будет отслеживать всех пользователей. Однако, на мой взгляд, это даст более точную метрику:
Более того, это оптимальный вариант, поскольку скрипт будет загружаться, когда все остальное уже загружено (так что ничего не будет тормозить) и прозрачно, пока пользователь просматривает ваш сайт.
Вот код JavaScript, который делает это возможным:
/** * Google Analytics and WPO Analyzers - WebPerf - Manuel Canga * From post: https://trasweb.net/snippets/google-analytics-and-wpo-analyzers */ var is_analytics_loaded = false; load_googleAnalytics = function () { if (is_analytics_loaded) { return false; } (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-xxxx', 'auto'); ga('send', 'pageview'); is_analytics_loaded = true; }; window.addEventListener("scroll", function () { if (document.documentElement.scrollTop !== 0 || document.body.scrollTop !== 0) { load_googleAnalytics(); } }, true);
От строки 25 до строки 29 мы сообщаем браузеру, что когда посетитель прокручивает (срабатывает событие прокрутки, и положение полосы прокрутки больше не находится вверху) , должна быть выполнена функция load_googleAnalytics. Эта функция проверяет (строки с 9 по 12) с помощью флага, была ли уже загружена аналитика на текущей странице. Если нет, загружается скрипт отслеживания (строки с 13 по 19). Обратите внимание, что в строке 18 вставлен идентификатор Google Analytics. Наконец, в строке 21 активируется флаг, предотвращающий повторную загрузку скрипта.
Если вам понравилось, не забудьте поделиться.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3