Дві світлові шкали з різними показниками: лабораторний замір проти польового

Швидкість завантаження сайту: чому два заміри одного сайту різняться вдвічі

PageSpeed показав 70, реальні користувачі — 84. Розбираємо на живому проєкті, чому лабораторія і поле розходяться вдвічі, якому заміру вірити і чому середній бал по сайту приховує саме ту сторінку, яка приносить гроші.

Fedir AlpatovFedir Alpatov· Founder & Tech Lead31 сер 20268 хв читання

Швидкість завантаження сайту — та метрика, через яку сваряться найчастіше. Підрядник показує зелений звіт, клієнт відкриває PageSpeed і бачить сімдесят. Обидва мають рацію, і нижче — розбір на живому проєкті, де різниця між двома замірами склала більше ніж удвічі.

Два заміри одного сайту, різниця вдвічі

Проєкт — сайт виробника сухого льоду. Ми заміряли його двічі: лабораторним прогоном PageSpeed Insights і польовими даними Microsoft Clarity по 357 реальних переглядах за 30 днів.

МетрикаЛабораторія (PageSpeed)Поле (реальні користувачі)
Загальний бал7084
LCP (найбільший елемент)5,4 с2,5 с
CLS (зсув макета)00,001
INP (відгук на дію)TBT 410 мс250 мс
Розподілодин прогін75,4% good · 23% needs · 1,7% poor

Розрив у LCP — 5,4 проти 2,5 секунди. Якби ми приймали рішення тільки за лабораторією, ми б переписували сайт, який у реальності майже вкладається в зелену зону Google (поріг «добре» для LCP — 2,5 с).

Чому лабораторія показує гірше

PageSpeed Insights не міряє ваш сайт у вашої аудиторії. Він проганяє його в фіксованих умовах:

  • емуляція мережі Slow 4G з штучною затримкою;
  • процесор, уповільнений у чотири рази, — модель Moto G Power, а не той телефон, з якого заходять ваші клієнти;
  • один холодний прогін без кешу, без повторних візитів;
  • сервер Google, а не українська мережа, з якої йде 89% трафіку цього проєкту.

Це не помилка інструменту, а його призначення: лабораторія навмисно ставить жорсткі умови, щоб проблеми було видно. Але «жорсткі умови» і «умови ваших клієнтів» — різні речі, і плутати їх дорого.

Найдорожча помилка: дивитися на середній бал

84 бали в середньому по сайту виглядають спокійно. Розкладка по сторінках виглядає інакше — і саме там ховаються гроші.

СторінкаБалLCPCLS
Товар «сухий лід 3 мм, 50 кг»433,3 с0,6
Сторінка міста (Запоріжжя)621,7 с0,035
Сторінка застосування653,3 с0,6
Сторінка міста (Дніпро)950,82 с0
Доставка93

Сторінка з 43 балами і зсувом макета 0,6 — це найпопулярніший товар на сайті: 164 перегляди за місяць, перше місце серед усіх товарів. Тобто найгірша сторінка за швидкістю є найкращою за попитом. Середній бал 84 цю проблему повністю приховує.

Правило просте: дивіться швидкість на тих сторінках, які приносять гроші, а не в середньому по лікарні. Що саме означають LCP, INP і CLS — розібрали окремо у словнику Core Web Vitals.

Три спроби прискорити, які зробили гірше

Найкорисніше в цьому проєкті — не те, що спрацювало, а те, що не спрацювало. Усі три випадки відкатані і зафіксовані в комітах.

  1. `priority` на картинках першого екрана погіршив LCP з 5,4 до 9,4 секунди. Атрибут `priority` у Next.js додає preload, і три декоративні зображення по 185 КБ забили канал раніше, ніж завантажилися CSS і шрифти. На швидкому Wi-Fi різниці не видно, на повільному 4G — катастрофа.
  2. Зниження `quality` не стиснуло картинку. Вагу тримав альфа-канал, а не якість. Спрацювало інше: пересохранення з 1624 до 1012 пікселів (реальний розмір відображення) і палітра на 128 кольорів із дизерингом — 96 КБ стали 33 КБ.
  3. `preload: false` на шрифті дав регрес LCP і додав зсув макета, якого до цього не було. Теж відкат.

Спільне в усіх трьох: зміна виглядала логічною, а метрика погіршилася. Тому будь-яку оптимізацію швидкості треба міряти до і після, а не робити «за здоровим глуздом».

Як міряти правильно

  1. Візьміть польові дані. Google CrUX, якщо трафіку достатньо; Microsoft Clarity — якщо ні. Clarity безкоштовна і показує CWV по кожному URL.
  2. Подивіться розкладку по сторінках, а не середнє. Найгірша сторінка з високим попитом — ваш пріоритет номер один.
  3. Лабораторію використовуйте для діагностики. PageSpeed добре відповідає на питання «через що саме повільно», і погано — на питання «наскільки повільно насправді».
  4. Дивіться на розподіл, а не на бал. «75% good, 23% needs improvement, 2% poor» інформативніше за «84 зі 100».
  5. Міряйте до і після кожної правки. Три приклади вище показують, чому.

Скільки коштує прискорити сайт

Розбір швидкості входить у аудит сайту за $150: ми дивимося польові дані по кожній сторінці, знаходимо, що саме тримає LCP, і даємо список правок з оцінкою годин. Впровадження — $40/год або в межах підтримки за $200/міс. Якщо сайт робимо ми, швидкість закладається в розробку: LCP до 2,5 с на мобільному — умова здачі, а не побажання.

Чесно про межі: якщо сайт стоїть на конструкторі або на WordPress із десятком плагінів, прискорити його можна відсотків на двадцять-тридцять, і далі впирається в платформу. Це не привід переписувати все — це привід порахувати, скільки коштує кожна секунда у ваших заявках.

Часті питання

Яка швидкість завантаження сайту вважається нормальною?
Орієнтир Google — LCP до 2,5 секунди на мобільному: це поріг «добре». До 4 секунд — «потребує покращення», далі — «погано». Але міряти треба на реальних користувачах: у прикладі вище лабораторний прогін давав 5,4 с, а живі люди бачили 2,5 с на тому самому сайті.
Чому PageSpeed показує 70, а насправді сайт швидкий?
Тому що PageSpeed навмисно тестує в поганих умовах: емуляція Slow 4G, процесор, уповільнений учетверо, холодний прогін без кешу. Це діагностичний інструмент, а не вимірювальний. Реальну картину дають польові дані — CrUX у Google або безкоштовна Microsoft Clarity.
Що важливіше — LCP чи INP?
Залежить від типу сайту. Для сторінки, яку читають (стаття, лендінг, картка товару), критичний LCP: людина чекає, поки з'явиться основний контент. Для інтерфейсу, з яким взаємодіють (фільтри каталогу, кабінет, кошик), критичний INP: людина натискає і чекає реакції. На сайті з прикладу INP 250 мс при нормі 200 мс — це саме фільтри каталогу.
Скільки коштує прискорити сайт?
Розбір із переліком правок — $150 у складі аудиту. Впровадження — $40/год або в межах підтримки $200/міс. Скільки годин піде, залежить від платформи: на кастомному коді це зазвичай кілька годин, на WordPress із важкою темою і плагінами — десятки, і стеля все одно нижча.
Чи впливає швидкість на позиції в Google?
Впливає, але слабше, ніж прийнято думати. Core Web Vitals — фактор ранжування, проте один із багатьох, і релевантний контент на повільній сторінці обжене швидку сторінку не по темі. Реальна ціна повільності — не позиції, а відмови: людина закриває вкладку до того, як побачить ваш перший екран.

Обговорити свій проєкт?

Залиште контакт — відповімо протягом 4 робочих годин. Без спаму і скриптів продажів.