Главная страница Публикации Статьи Что измеряет PageSpeed Insights

Что измеряет PageSpeed Insights

Великий и могучий Google все расскажет: PageSpeed Insights

к.э.н. Лавлинский Н. Е., технический директор ООО «Метод Лаб»

TD;LR

PageSpeed Inshights от Google — неплохой способ начать интересоваться вопросами скорости сайта и получить быструю оценку соответствия сайта известному набору правил оптимизации. Однако использовать для реальной оценки скорости сайта его нельзя, он не делает замеров времени загрузки сайта и практически не учитывает размер сайта.

История вопроса

Поговорим об одном из самых популярных средств тестирования скорости сайтов: PageSpeed Insights от Google (далее GSPI). Как всегда, полезно посмотреть на истоки.

Одним из первых удобных средств тестирования сайтов был плагин YSlow, разработанный в Yahoo. Там как было реализована проверка набора правил (best practiсes) по оптимизации скорости сайтов. Например: «сократите количество запросов», «используйте CDN», «добавьте кэширующие заголовки», «поставьте CSS в начало страницы», «перенесите JS-код в конец» и т. д. Каждому из правил был назначен определённый вес. В результате по каждому правилу выставляется оценка (по американской шкале: A-отлично, F-неудовлетворительно). Также рассчитывался итоговый балл по стобалльной шкале. Ничего не напоминает?

Правильно, это и есть «предок» Google PageSpeed Insights. Разница лишь в наборе правил и разделении на мобильную и десктопную версию.


Что измеряет GPSI?

Основной механизм сервиса по тестированию следующий:

  • загрузка указанного в форме теста URL (и следование по цепочке редиректов);
  • проверка времени ответа сервера (замер по времени получения HTML-документа);
  • парсинг и загрузка всех подключенных ресурсов (картинки, CSS, JS, шрифты и т. д.);
  • проверка возможности минификации и сжатия текстовых ресурсов (JS, CSS, HTML);
  • проверка оптимизации картинок (путём сжатия и изменения размеров);
  • проверка соответствия формальным правилам (положение блокирующих ресурсов, наличие редиректов и т. д.);
  • расчёт рейтинга (по стобалльной шкале) и составление отчета;
  • повторение всех шагов с эмуляцией мобильного клиента.

Таким образом, можно видеть основные направления анализа скорости сайта с точки зрения сервиса GPSI.

Первое — это положение блокирующих ресурсов (CSS, JS). В идеале их быть не должно. Получить максимум баллов можно включив весь CSS в HTML и путём переноса JS в конец кода (а лучше добавить async и defer атрибуты).

Второе — это минификация, сжатие текста и сжатие изображений. По результатам теста нам предоставляется оптимизированная версия этих ресурсов.

И только одна метрика включает в себя понятие времени: это «время ответа сервера».

Что здесь не так?

Вроде всё отлично, где же закопана проблема? Дело в том, что на самом деле нас интересует реальная скорость загрузки сайта в браузере пользователя. Эта «скорость» описывается с помощью набора метрик, привязанных к шкале времени. Чтобы получить сравнимость этих метрик, мы должны зафиксировать условия теста (вычислительные мощности клиента, скорость подключения интернета, состояние браузера и т. д.) Чтобы получить эти метрики можно использовать профессиональные инструменты (WebPagetest, Chrome DevTools и т.д.)

Получается, GPSI имеет очень отдалённое отношение к той скорости, которая волнует пользователя и влияет на его комфорт, доверие и показатель отказов.

Кроме того, единый набор правил не может описать всё многообразие вариантов верстки веб-приложений и сценариев использования. Например, как будет работать сайт при повторном посещении или переходе на следующие страницы.

Как ни странно, GPSI до сих пор игнорирует особенности работы с протоколом HTTP/2. При его использовании можно не «наказывать» сайт за подключенные CSS-ресурсы, потому что дополнительный запрос практически ничего не стоит.

При оценке компрессии текста учитывается только возможность минификации и сам факт сжатия. При этом сжатие может быть далеко от максимального: степень компрессии gzip, не учитывается возможность сжатия zopfli и brotli.

Единственная временная метрика — время ответа сервера — также не идеальна. Измерять нужно из точки нахождения потенциальной аудитории (для нас обычно это какой-то регион России). GPSI тестирует из Западной Европы, значит географическая задержка будет увеличивать значение метрики.

Наконец, GPSI не учитывает абсолютный объём трафика страницы и ресурсов. То есть, можно сделать «оптимизированный» сайт, страница которого будет весить, например, 20 MБ и получит оценку 100/100. Конечно, ни о какой «скорости» для мобильных пользователей здесь речи не идёт.

Выводы

GPSI — отличный инструмент для начинающих разработчиков и владельцев сайтов. Его можно использовать для экспресс-анализа сайта по набору правил оптимизации.

Однако, не следует использовать результаты этого теста для оценки скорости сайта для посетителя. Для получения полной картины и принятия решения нужно получить временные метрики скорости сайта: время начала рендеринга, время частичной загрузки, время полной загрузки и т. д. при заданных параметрах интернет-соединения.

Также важным источником может служить сервис по анализу скорости сайта у реальных пользователей (встроенный в систему аналитики или специализированный).

Также нельзя забывать, что работа по оптимизации скорости сайта проводится для ускорения сайта у реального пользователя, а не для улучшения рейтинга в GPSI.

Лучшее ускорение сайтов в Рунете

Ускорение сайтов

Цена от 19 900 Р