Счётчик Яндекс.Метрики долго грузится

бомжнезакон
На сайте с 15.04.2014
Offline
17
14696

Доброго времени суток, форумчане.

Наблюдаю вот такую картину.

Читал несколько тем на форуме про позиции и время загрузки сайта, и если правильно понял, то 2 секунды не должны сильно навредить.

Собственно вопрос - ничего страшного или всё таки стоит убрать/заменитьнадругой счётчик?

Заранее спасибо. :)

JH
На сайте с 31.03.2012
Offline
91
#1

Юзайте асинхронный код

L
На сайте с 20.02.2014
Offline
37
#2

Пихайте код метрики вниз страницы перед </body> если считаете, что он замедляет загрузку страницы.

Это у вас метрика только в день апдейта тормозит или всегда?

бомжнезакон
На сайте с 15.04.2014
Offline
17
#3
JabbaHutt:
Юзайте асинхронный код

он и стоит. однако картинка анализа на pr-cy выше)

Lanfen:
Пихайте код метрики вниз страницы перед </body> если считаете, что он замедляет загрузку страницы.
Это у вас метрика только в день апдейта тормозит или всегда?

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

SocFishing
На сайте с 26.09.2013
Offline
118
#4

Используйте следующую конструкцию


<script type="text/javascript" defer>
// метрика
</script>

<script type="text/javascript" async>
// скрипты которые нужно грузить раньше, годится не для всех скриптов, так как может не соблюдаться порядок загрузки. В стандарных сайтах лучше не использовать.
</script>

Разница между этими двумя атрибутами заключается в том, что defer сохраняет порядок выполнения скриптов, а async - нет. Поэтому, чтобы убыстрить процесс открытия, скрипты добавляют в конец BODY или ставят им атрибуты async или defer. В таком случае страница будет показана до загрузки скрипта.

★Сервис идентифицирует (https://socfishing.com/?utm_source=searchengines) посетителей вашего сайта и предоставляет их профили ВКонтакте, Телефон, Почта! Цены копеечные, работаем 8 лет.
бомжнезакон
На сайте с 15.04.2014
Offline
17
#5
SocFishing:
Используйте следующую конструкцию

а есть разница между

<script type="text/javascript" async>

и галочкой, поставленной напротив строки "Асинхронный код" в Я.Метрике?

<!-- Yandex.Metrika counter -->

<script type="text/javascript">
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter00000000 = new Ya.Metrika({id:00000000,
webvisor:true,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true});
} catch(e) { }
});

var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";

if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="//mc.yandex.ru/watch/24619391" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
SocFishing
На сайте с 26.09.2013
Offline
118
#6
бомжнезакон:
а есть разница между

Да, есть. Их параметр отвечает не за загрузку браузером JS-кода метрики, а за загрузку в коде метрики, за счет создания нового JS. ( d.createElement("script"), ). Грубо говоря, у них загрузчик загружается, когда дойдет до него ход загрузки страницы, а потом создает новый JS c async = true. Что и не мешает ему загрузить основной функционал метрики вперед тормозных скриптов.

<script type="text/javascript" async>  
же в свою очередь флаг загрузки скрипта, либо жди очереди - defer, либо стартуй сразу - async.

Рекомендую у метрики выставить s.async = false; и добавить после всех скриптов в footer. ;)

бомжнезакон
На сайте с 15.04.2014
Offline
17
#7

SocFishing, большое спасибо за подробное объяснение)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий