Клуб Яндекс.Метрики

Скрипт метрики (tag.js) съедает процессорное время при загрузке

Обнаружил что при загрузке страницы скрипт Яндекс.Метрики что-то очень активно обрабатывает. Длится это ~400 мс. Проверял на 2х сайтах.

Небольшое копание вглубь показывает (насколько я понял) что для работы вебвизора либо аналитики форм метрика индексирует весь DOM и именно на это уходит очень много ресурсов.

Кто-то сталкивался с подобной проблемой? Совсем отказываться не хочется, но и людей с мобильными браузерами жалко.

59 комментариев
Методом проб выяснил что дело все-таки в вебвизоре. Проблема в том, что просто отключить его - не вариант
Обновлено 3 сентября 2018, 16:06
Василий
Сотрудник Яндекса14 сентября 2018, 14:46
deszodiak,
Сожалеем, что Вы столкнулись с проблемами при использовании бета-версии Вебвизора 2.0.
Сейчас мы готовим большое обновление Вебвизора 2.0, в котором будет исправлено множество проблем. Мы постараемся учесть и Вашу проблему.
 https://mc.yandex.ru/metrika/tag.js Скрипт Роботу Googlebot заблокирован доступ в файле robots.txt это как прикажете понимать?
Василий
Сотрудник Яндекса9 января 2019, 09:46
ZombiePmIoSys,
это означает, что скрипт Метрики недоступен для индексирования. Вот собственно и всё. 
https://mc.yandex.ru/metrika/tag.js

320кб минифицированного файла!!!!
страница со счетчиком становится доступной пользователю почти на секунду позже, чем страница без счетчика http://joxi.ru/823RRZZcJNl9Rm


Для моб версий сайтов это достаточно негативно сказывается на пользовательском опыте.
У нас файлы скриптов spa-приложения, написанного на реакте, с редаксом, роутингом, со всеми зависимостями меньше размером чем один скрипт счетчика метрики.


Команда метрики не думала по этому поводу огромного размера скрипта? Может для мобильных устройств нужно сделать скрипт поскромнее в размерах?
Василий
Сотрудник Яндекса5 марта 2019, 10:42
seo.satom,
Спасибо за Ваше сообщение.
Мы понимаем важность корректной работы Вебвизора и прилагаем максимум усилий для скорейшего решения вопроса, однако на поиск окончательного решения может потребоваться длительное время.
vladlena.lyadskaya
15 марта 2019, 17:48
Добрый день, присоединяюсь к просьбе что-нибудь сделать с кодом Метрики:

На смартфоне в Mozilla в адаптивной версии сайта наблюдаю замедление загрузки сайта, появляется окно ошибки сценария "Внимание: Сценарий не отвечает" и ссылка на сценарий https://mc.yandex.ru/metrika/tag.js:66
В Chrome ошибки сценария нет. Тормоза с загрузкой скрипта есть.
Василий
Сотрудник Яндекса14 мая 2019, 12:52
vladlena.lyadskaya,
пожалуйста, пришлите примеры ситуаций в поддержку: https://yandex.ru/support/metrika/troubleshooting.html
По возможности опишите подробно шаги, при которых наблюдается ситуация, а также приложите скриншоты и скринкасты, подтверждающие тормоза. 
A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see if the script will complete.
Script: https://mc.yandex.ru/metrika/tag.js:38
И после этого вылетает программа SOCPUBLIC AGENT
Василий
Сотрудник Яндекса14 мая 2019, 12:52
Vadim Andreev,
пожалуйста, пришлите примеры ситуаций в поддержку: https://yandex.ru/support/metrika/troubleshooting.html
По возможности опишите подробно шаги, при которых наблюдается ситуация, а также приложите скриншоты и скринкасты, подтверждающие тормоза. 
Присоединяюсь: треть мегабайта в загрузку, секунда времени на выполнение... жуть. у многих ведь еще и не сверхскоростные каналы, и совсем не сверхмощные компьютеры.
Василий
Сотрудник Яндекса14 мая 2019, 12:52
Spawn,
пожалуйста, пришлите примеры ситуаций в поддержку: https://yandex.ru/support/metrika/troubleshooting.html 


По возможности опишите подробно шаги, при которых наблюдается ситуация, а также приложите скриншоты и скринкасты, подтверждающие тормоза. 
Сценарий: https://mc.yandex.ru/metrika/tag.js:79
постоянно стал выдавать это сообщение и подвисать, что делать?
Василий
Сотрудник Яндекса15 мая 2019, 13:23
btk54,
пожалуйста, пришлите примеры ситуаций в поддержку: https://yandex.ru/support/metrika/troubleshooting.html
По возможности опишите подробно шаги, при которых наблюдается ситуация, а также приложите скриншоты и скринкасты, подтверждающие тормоза.
 
Вова из Коврова
24 июля 2019, 22:43
После добавления кода  яндекс-метрики на сайт скорость мобильной версии сайта в PageSpeed Insights падает на 20 единиц. Это при том, что вебвизор отключен. Так-то.
Василий
Сотрудник Яндекса10 августа 2019, 20:19
Вова из Коврова,
напишите, пожалуйста, в поддержку. Посмотрим, в чем может быть дело. 
а кто нибудь подскажет в чем разница /metrika/tag.js и /metrika/watch.js?
Василий
Сотрудник Яндекса10 августа 2019, 20:20
vikttkachyov,
tag.js поддерживает Вебвизор 2.0 и новые (и старые тоже) методы JS API. 


watch.js - поддерживает Вебвизор 1 и старые методы JS API. 
Для нормальной работы мобильной версии вынес все тормозные скрипты в отдельную папку "metrika", а на странице запретил  скриптом: <script>{if (screen.width > 1024) document.write ('<script src="js/metrika.js"></sc' + 'ript>');}</script>. Метрика учитывает компьютер только свыше 1024, зато мобильная версия легче, и метрика болтается. Пример на сайте https://mebel-vip-voro.ru/
ptkrug,
не лучшее решение откючать метрику на модильных устройствах. сейчас это уже больше половины трафика
hackmysite,
Это единственное решение, если нужен быстрый сайт.
Общее процессорное время при работе с сайтом метрики достигает 4х секунд и очень сильно влияет на показатели загрузки для мобильного
Метрика сжирает 2 054 ms при загрузки сайта....

https://yadi.sk/i/TsDBUf2tiFH6vA
Обновлено 11 октября 2019, 17:57
MBI,
Такая же проблема, в яндекс написал. Может что то посоветуют. У тебя получилось решить? 
test.23.direct,
отключай визор, если эти ребята не видят тенденций это их проблемы, используй аналитику от гугл.
Пильников Виктор
29 октября 2019, 17:40
Такая же проблема. Убрал совсем скрипт метрики и страница в половину быстрее загружается. Как же быть? Вебвизором пользуюсь. Какие варианты решения?
Команда da Vinci
6 ноября 2019, 12:05
Очень странно, вижу, что у многих такая проблема – скрипт яндекс метрики с вебвизором очень сильно замедляет загрузку сайта, нашлось ли решение?
Аналогичная ситуация с кодом Я.Метрики, которая замедляет скорость загрузки страницы.

У нас основной пожиратель времени по загрузке и выполению js, это YM:
https://yadi.sk/i/sdgyzx1WkARKVg
https://yadi.sk/i/tm1jof6CjvC9vg
если верить этому измерению, то код YM замедляет нам страницу на 1+ с, что конечно очень много в современных реалиях! 
Сайт на Битриксе note-store.ru. И что делать? Никакого решения в интернете не нашел.
NoteStore,
здравствуйте. Посмотрел ваш сайт. Вы так и не нашли решение этой проблемы?

ТМ Дверной Континент
12 ноября 2019, 09:25
Летом было все хорошо, но сейчас на +2~ сек задержка только из-за метрики. Пока проблему решил временно: Отключить визор и вставить устаревший код счетчика асинхронно. Результат конечно радует, но без визора.... Подпишусь на эту страницу, может когда нибудь эта проблема решиться. 
День добрый! Я так понимаю, время работы скрипта ЯМ, особенно в случае с вебвизором, зависит от количества элементов на странице и глубины их вложенности? Для страницы https://creditulka.com/vse-mfo-rossii.php с относительно большим каталогом данных процессорное время tag.js = 1,2с, watch.js = 0,2с, /watch/ - около 6 сек! Проблема уходит пропорционально сокращению каталога.
Сам скрипт metrika/tag.js тормозит загрузку страницы на 0,5 - 3с.
Вебвизор 2.0 включен.
Я так понимаю, что решить проблему можно только пожертвовав Вебвизором?
Пильников Виктор
13 ноября 2019, 08:45
vasmin85,
 Да! Новый вебвизор сканирует весь DOM.
Тоже временно перешел на старый код метрики со старым вебвизором.


Долшо до абсурдного, что Явебмастере появляются критические предупреждения о медленной работе сайта. Т.е. Яндекс жалуется, на свои же скрипты.
Пильников Виктор,
Предупреждений в Вебмастере пока нет, а вот в Гугле есть проблема.
Попробуем старый код, спасибо за идею:)
Присоединяюсь к проблеме.
Странно, но после отключения Вебвизора с заменой кода счетчик вообще перестал работать. Метрика его не видит...
Я так понимаю проблема не реена ?:)
Т.к. счётчик по прежнему жутко тормозит загрузку сайта, особенно на мобильных устройствах.

Кто-то ка-то решил проблему? :)
jeton2,
хочу попробоватт через google tag manager установить и поиграться с настройками очереди загрузки. мне так люди добрые советуют
Виталий,
 У меня сейчас через GTM, а вот с очередью я не пробывал играть. Спасибо, попробую.
Виталий,
Не особо это помогает т.к. приоритет загрузкти у всех тегов в GTM по умолчанию 0. Меньшу нуля не поставить ничего. При этом все прочие элементы как CSS, JS и пр. пожгружаются,конечно, не через GTM поэтому это +/- бесполезно.
alex.alekseev@daniks.com
25 ноября 2019, 11:20
Коллеги из Яндекса, +1 к проблеме - использовать вебвизор 2.0 просто невозможно. Подскажите, пожалуйста, есть ли какие-то сроки решения проблемы?
Надоело ждать решения от яндекса, в итоге перешел на использование их пикселя, вместо полноценной метрики. Да, вебвизор не работает, стата немного кривая, но зато все грузится быстро.
Интересно, а представители самого Яндекса тут водятся, или это ветка сама по себе? А то последний раз он тут был 10 августа и больше нет его. 
Предлагаю поступать как рекомендовал представитель Яндекса - массово сообщать в техподдержку и делиться их вариантами ответов.
https://yandex.ru/support/metrika/troubleshooting.html  
Обновлено 27 ноября 2019, 09:52
Интернет-магазин "Порядок"
27 ноября 2019, 15:25
Доброго дня! Ещё +1 к проблеме – невозможно использовать вебвизор 2.0
Казанцев Сергей
28 ноября 2019, 09:56
 Проблему с предупреждениями от гугловского PageSpeed Insights о медленной загрузке скрипта Яндекс Метрика решил размещением js на своем сервере. В коде просто переписал адрес обращения к скрипту на свой. 
Казанцев Сергей,
Как часто скачиваете на свой сервер скрипт? Или как часто он меняется на стороне Яндекс?
Казанцев Сергей,
Часть проблемы со скоростью загрузки скрипта снимется, конечно - но лучше накостылить крон на периодическую загрузку новой версии скрипта с серверов яндекса - иначе в один прекрасный день скрипт окажется сильно устаревшим и неработоспособным
goodcar-rent,
https://www.lexium.ru/2020/01/yandex-metrika-storonnijj-kod-zablokiroval-osnovnojj-potok/
Василий
Сотрудник Яндекса6 декабря 2019, 11:07
Всем привет! 


В большинстве случаев при правильной установке код Метрики не должен существенно влиять на скорость загрузки сайта. Проверьте, что код счётчика Метрики установлен так, что он загружается полностью асинхронно от контента сайта.


Если вы видите данные о долгой загрузке в отчетах Google PageSpeed Insights, обратите внимание именно на те показатели отчёта , которые напрямую связаны с качеством взаимодействия конкретно с вашим сайтом. Например, для контентных сайтов важно время до отрисовки, а для сайтов с интерактивными элементами — время загрузки для взаимодействия.


Напомним, что по утверждению самих разработчиков сервиса рекомендации по оптимизации (в том числе и рекомендации по работе со сторонним кодом) не являются факторами, которые напрямую влияют на общий показатель производительности сайта.


В некоторых случаях может наблюдаться увеличение времени загрузки для счетчиков, у которых включен Вебвизор 2.0. Специфика его работы требует полной обработки контента сайта. Если ваш сайт обладает множеством контентных элементов, вы можете переключиться на Вебвизор 1.0, выбрав галочку "Устаревший код счетчика" в Настройках
https://yandex.ru/support/metrica/general/counter-general.html#other. Не забудьте переустановить код счетчика Метрики на всех страницах сайта.


Мы постоянно работаем над ускорением загрузки кода, и в следующих обновлениях кода счётчика представим более лёгкую версию.

02.02.2020 UPD: Мы работаем над новой версией кода счетчика, который будет работать быстрее. Записывайтесь на закрытое тестирование: https://yandex.ru/blog/metrika/otkryvaem-zapis-na-testirovanie-novogo-koda-schetchika

На данный момент в тестирование, в первую очередь, мы сможем взять счетчики с большим объемом трафика (~10 000 посетителей в неделю), т.к. на таких счетчиках можно быстрее протестировать работу нового кода. 
Обновлено 4 февраля, 10:30
gamestationsleo
1 января, 15:39


Можете забыть индексации метрики , времена прошли. Яша сейчас монополист-манипулятор рейтинга ! ему интересны Вы ,как беспомощная жертва в монетизации !


А с кодом метрики можно было давно решить лет 20 назад ,размещением на хостинге DNS !!!
Только вот  так лазить  ,  не получится кое кому кое где
Добрый день. 
Метрика сильно снижает скорость загрузки для мобильных. http://prntscr.com/qr6ptp 
В чем причина и как с этим бороться ? 
Установка счетчика метрики сильно снижает скорость работы сайта, особенно на мобильных(В полтора-два раза). Решением стало использование устаревшего кода счетчика.
Василий
Сотрудник Яндекса29 января, 13:41
В настоящее время мы работаем над новой версией кода счетчика, который будет работать быстрее. Записывайтесь на закрытое тестирование: https://yandex.ru/blog/metrika/otkryvaem-zapis-na-testirovanie-novogo-koda-schetchika
На данный момент в тестирование, в первую очередь, мы сможем взять счетчики с большим объемом трафика (~10 000 посетителей в неделю), т.к. на таких счетчиках можно быстрее протестировать работу нового кода. 
Обновлено 4 февраля, 10:28
tag.js, зажираут 1-2 секунды, даже с выключенным вебивзором. Но этот код безусловно нужен.

Поэтому есть вот такое решение:

https://www.lexium.ru/2020/01/yandex-metrika-storonnijj-kod-zablokiroval-osnovnojj-potok/


без каких либо плагинов, крон будет сам раз в сутки ночью обновлять вам этот файл, а вы в свою очередь будете отдавать его из кеша.
hackmysite,
в дополнение как кешировать: https://bit.ly/3cPKvFm
hackmysite,
hackmysite, И в чем преимущество? В большинстве случаев, при большом кол-ве скриптов, загружаемых с вашего сайта, добавление еще одного только увеличит время загрузки. А проблема долго выполнения скрипта вообще никак не решается этим решением.
Сергей Поляков
4 апреля, 18:31
На одном из сайтов обнаружил скрипт грузится после задержки в 1 сек, после загрузки всего DOM.
document.addEventListener('DOMContentLoaded', function () {
setTimeout(function(){
//Yandex.Metrika
(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(5935582, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true
});
}, 1000);
});
За семь месяцев видимо так и ничего не решили. Время загрузки на моб. увеличивается на 1-1,5 сек. Улучшайте свой сайт говорят нам в Яндексе, а свой же счетчик больше полугода до ума доводят (
Обновлено 19 апреля, 23:17
klimovsergeydirect
28 апреля, 18:09
Мда.... счетчик тянет на дно
Сергей Викторович
7 мая, 11:47
Сотрудникам плевать и они просто не в силах чтото поменять? по объявлению прогеров набрали что ли и они говорят это не возможно?))Ужас, разочаровывает Яндекс...