Google analytics позволяет измерять скорость загрузки страниц для посетителей. Поскольку аналитикс работает на клиентской стороне, Вы сможете понять реальную скорость загрузки страниц для посетителей.
Информация доступна в разделе “Site Speed”:
Раздел Page Timings покажет наиболее медленные страницы сайта:
Speed Suggestions покажет рекомендации [p57 Pagespeed] для Вашего сайта.
[ad]
Наиболее мощным инструментом для анализа скорости является User Timing. Этот раздел позволяет определить длительность любых событий, например:
Для измерения времени какого-то события, необходимо вставить такой вызов функции ga (предполагается, что код Google Analytics стоит на сайте):
ga('send', 'timing', 'Категория', 'Название события', 20, 'Дополнительная метка');
Например:
ga('send', 'timing', 'Images', 'Load all images', 1470, 'Media content');
## Подразумевается, что мы отправляем общее время, которое понадобилось для загрузки всех картинок
ga('send', 'timing', 'Comment', 'Send comment', 5250, 'User content');
## Подразумевается, что мы отправляем общее время, которое понадобилось для написания комментария
Пример того, как можно измерить время загрузки JS библиотеки или любого другого внешнего ресурса:
var start = new Date().getTime();
var js = document.createElement('script');
js.src = '/jquery.js';
var s = document.getElementsByTagName('script')[0];
js.onload = function() {
var delta = (new Date().getTime()) - startTime;
ga('send', 'timing', 'jQuery', 'Load', delta, 'Resources');
}
s.parentNode.insertBefore(js, s);
Меряем и отправляем время загрузки всех картинок на сайте:
var start = new Date().getTime();
var js = document.createElement('script');
js.src = '/jquery.js';
var s = document.getElementsByTagName('script')[0];
js.onload = function() {
var delta = (new Date().getTime()) - startTime;
ga('send', 'timing', 'jQuery', 'Load', delta, 'Resources');
}
s.parentNode.insertBefore(js, s);
## Измеряем время с момента вставки “script” до события “load”
Этот JS код поможет удобно отслеживать скорость событий:
var ga_time_tracker = {
times: {},
start: function(category, variable, label)
{
ga_time_tracker.times[category + ':' + variable + ':' + label] = new Date().getTime();
},
end: function(category, variable, label)
{
ga('send', 'timing', category, variable, (new Date().getTime()) - ga_time_tracker.times[category + ':' + variable + ':' + label], label);
}
}
Использовать очень просто (параметр label можно не использовать):
ga_time_tracker.start('images', 'load all');
# делаем какие-то действия, длительность которых хотим измерить
ga_time_tracker.end('images', 'load all');
[ad]
Можно также мерить события в PHP. Например:
В PHP достаточно определить длительность события и после этого сделать JS-вызов с этим значением:
Аналитика скорости работы страниц с помощью User Timing позволит Вам определить реальное время загрузки сайта для посетителей и разложить его на мелкие события.
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…