+7 (925) 507-98-19
TelegramWhatsApp
Что измеряет 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. Разница лишь в наборе правил и разделении на мобильную и десктопную версию.

Результат проверки сайта Google PageSpeed Insights

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

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

Таким образом, можно видеть основные направления анализа скорости сайта с точки зрения сервиса 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.

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

Экспертное ускорение сайтов

Ускорение сайтов
Цена от 69 900 Р