Vlas Zubenko
АвторVlas ZubenkoВеброзробник, керую командою · 9+ років · 260+ проєктів
Детальніше про автора

Спершу виміряйте. Вгадувати дорого.

Перш ніж щось міняти, проженіть найповільнішу сторінку через тест швидкості в мобільному режимі — і зробіть це тричі. Один замір не говорить майже ні про що; три показують, стабільна це проблема чи сервер іноді підвисає. Дивитися треба, яка саме з трьох метрик погана: кожна вказує на свою причину і своє лікування. Платити за «оптимізацію сайту» без цього кроку — вірний спосіб витратити гроші й виграти півсекунди.

Три метрики, які важливі

  • LCP — скільки чекати до появи основного контенту. Норма — менше ніж 2,5 секунди. Поганий LCP зазвичай означає картинки або повільний сервер
  • INP — як швидко сторінка відповідає на натискання. Норма — менше ніж 200 мілісекунд. Поганий INP означає надлишок JavaScript
  • CLS — наскільки верстка стрибає під час завантаження. Норма — менше ніж 0,1. Поганий CLS означає картинки й банери без зарезервованого місця
  • Тестуйте на мобільному і на звичайному з'єднанні. Ваш офісний вайфай і десктопний браузер — це не там, де ваші клієнти
  • Тестуйте сторінку товару чи послуги, а не лише головну. Головна зазвичай єдина, яку хтось уже оптимізував

П'ять причин за частотою

  • Картинки. Фото прямо з камери телефона важить чотири мегабайти й показується завширшки 600 пікселів. Причина номер один і найдешевша у виправленні
  • Плагіни. Кожен плагін вантажить свої скрипти й стилі на кожній сторінці, включно з тими, де він не використовується. Двадцять плагінів — це не двадцять можливостей, а двадцять збирачів податку
  • Хостинг. Дешевий шаред-хостинг означає, що ваш сайт стоїть у черзі за сотнями інших. Якщо сервер відповідає довше ніж 600 мс до того, як узагалі щось почнеться, жодна робота з фронтендом не врятує
  • Сторонні скрипти. Чати, аналітика, пікселі, віджети відгуків, шрифти із зовнішніх сервісів. Кожен — це запит до чужого сервера, який ви не контролюєте
  • Сама збірка. Блокуючий рендер CSS, відсутність кешу й стиснення, неконтрольовані шрифти. Це та частина, де потрібен розробник, а не галочка в налаштуваннях
Більшість повільних сайтів зроблені нормально. Просто в них потім завантажили чотири мегабайти фотографій і дев'ять плагінів, які ніхто не прибрав.

Що окупається насамперед

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

  • Переведіть картинки у WebP і віддавайте їх у тому розмірі, у якому вони реально показуються. Часто це саме по собі мінус 60–70% ваги сторінки
  • Увімкніть ліниве завантаження всього нижче першого екрана й задайте явні ширину й висоту, щоб нічого не стрибало
  • Проведіть ревізію плагінів. Вимкнути, заміряти, повторити. Усе, що ви не можете обґрунтувати вголос, знімається
  • Нормально ввімкніть кешування і стиснення. На пристойному хостингу це налаштування, а не розробка
  • Розмістіть шрифти в себе й вантажте лише використовувані накреслення. Два, а не дев'ять
  • Відкладіть сторонні скрипти й вантажте віджет чату після того, як сторінка стала інтерактивною, а не до
  • Переїжджайте на кращий хостинг, якщо час відповіді сервера все ще вузьке місце. Робіть це останнім: з цього починають, а причиною саме по собі воно буває рідко

У що повільний сайт реально обходиться

Швидкість — це не бали заради балів. Відвідувач, який чекає чотири секунди на телефоні з однією палкою зв'язку, просто йде, і в аналітиці ви його побачите хіба що як відмову. Ефект накопичується з двох боків: пошуковики враховують досвід взаємодії як сигнал ранжування, а платний трафік дорожчає, бо ви платите за кліки, які не доїжджають до завантаженої сторінки. Повільний сайт тихо підвищує ціну кожного вашого каналу.

Коли річ не у швидкості

Іноді метрики хороші, а сайт усе одно відчувається повільним — і це проблема дизайну, перевдягнена в продуктивність. Сторінка, яка вантажиться за 1,8 секунди, але потребує чотирьох кліків, щоб знайти телефон, відчувається повільнішою за ту, що вантажиться три секунди й одразу відповідає на питання. Якщо цифри зелені, а люди все одно скаржаться, припиняйте оптимізувати й сідайте дивитися, як людина користується сайтом. Вони описують тертя, а не затримку, і жоден кеш цього не лікує.

Висновок

Просіть заміри до і після, за тими самими сторінками, у мобільному режимі. Будь-яка чесна робота над швидкістю йде з цими цифрами, а пропозиція без них продає вам відчуття. Більшість бізнес-сайтів переходять із «погано» в «добре» за день-два зосередженої роботи, бо причини нудні й повторювані. Переробки потребують ті, що зібрані з важкої теми і де бюджету на продуктивність не було від початку, — але це вже інша розмова й інша ціна.

Vlas Zubenko
АвторVlas ZubenkoВеброзробник, керую командою · 9+ років · 260+ проєктів
Детальніше про автора

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

П'ять причин за частотою: картинки, плагіни, хостинг, сторонні скрипти й сама збірка. Спершу виміряйте на мобільному тричі, потім лагодьте.

Переведення картинок у WebP і віддача в тому розмірі, у якому вони показуються. Часто це саме по собі мінус 60–70% ваги сторінки.

LCP до 2,5 секунди, INP до 200 мілісекунд, CLS до 0,1. Кожна погана метрика вказує на свою причину.

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

Лише якщо час відповіді сервера більший за 600 мс після решти правок. З цього починають найчастіше, а причиною саме по собі воно буває рідко.

Є схожа задача?

Розкажіть, що має робити сайт, — чесний діапазон отримаєте того ж дня.

Обговорити проєкт