З початку 2023 року я служу в Збройних Силах України, тому виконовути замовлення не можу. Слава Україні!

Оптимізація на сайті: як і для чого це робити

Ви втратите до половини відвідувачів, якщо Ваш сайт завантажується довше п’яти секунд. В наш час, одним із ключових факторів користування сайтом є швидкість його завантаження.

В цьому дописі я поділюся своїми думками та власним досвідом на тему необхідності та інструментів для оптимізації сайтів.

Наскільки важлива швидкість завантаження сайту?

Насамперед давайте визначимо, що я маю на увазі під «завантаження сайту». На мою думку, в даному контексті, «завантаженням сайту» варто називати не повне і 100% завантаження всього, що є на сторінці, а завантаження достатньої кількості контенту, щоб відвідувач міг без перешкод та дискомфорту почати взаємодіяти з сайтом. Чому я даю саме таке визначення – поясню згодом.

Є чимало різноманітних статистик та досліджень в сфері відвідуваності сайтів в залежності від їх швидкості завантаження. Середньо-статистично можна відзначити дві ключові межі: тривалість завантаження сайту до 5 секунд призведе до втрати, щонайменше, половини відвідувачів; тривалість завантаження сайту до 10 секунд призведе до втрати практично всіх відвідувачів сайту.

В наш час користувачі Інтернету звикли, що взаємодіяти з сайтом можна через 2-3 секунди. Здавалося б, секундою більше, секундою менше – невже це має вплив? Хоч уже й минуло трохи часу, та колись компанія Amazon порахувала, якщо їх сайт буде завантажуватися на 1 секунду довше – це може призвести до втрати 1,6 мільярди доларів в рік. Лише одна секунда – і такі наслідки. Гарна причина задуматися про оптимізацію, вірно?

Оптимізація на сайті: як і для чого це робити

Що впливає на швидкість завантаження сайту?

З свого досвіду можу виділити ряд проблем, з якими доводиться боротися, щоб оптимізувати сайт:

  • не оптимізовані зображення;
  • відео на сторінці;
  • сторонні сервіси;
  • шрифти;
  • анімація при завантаженні.

Власне, зазвичай, вирішення проблем по цих п’яти пунктах достатньо, щоб швидкість сайту стала прийнятною.

Не оптимізовані зображення

Я не даремно зазначив зображення на сайті першим пунктом проблем з оптимізацією. Не оптимізовані зображення – це серйозна проблема, яка досить легко виправляється і впоратися з цим може навіть користувач, що не розбирається в розробці сайтів. Часто буває, що на етапі розробки все було з швидкістю добре, але під час експлуатації швидкість значно знизилася. Тут вже питання, в значній мірі, не до розробника сайту, а до модератора, який наповнює його контентом.

Із зображеннями є кілька проблем, перша – не виправдано велике розширення (ширина і висота). Часто при наповненні сайту контентом модератор додає зображення, не звертаючи увагу на їх розширення. Це призводить до того, що в блок шириною, наприклад, 1200 пікселів вставляють зображення шириною, іноді, й 5000 пікселів. Очевидно, що таке розширення зображення надлишкове і не те, що користі не приносить, а й навпаки – зайве навантажує трафік при завантаженні сторінки сайту, адже розширення зображення напряму впливає на його розмір (мегабайти).

Друга проблема із зображеннями – це розмір, ті самі мегабайти. Є різні формати зображень, на сайтах найчастіше зустрічаються такі: JPG, PNG, WEBP. Кожний формат має свої переваги й недоліки, якщо коротко:

  • JPG – гарно оптимізується, але не має прозорості;
  • PNG – має прозорість, але погано оптимізується;
  • WEBP – має прозорість гарно оптимізується, але не підтримується браузером Safari.

Який формат зображення використовувати – обирайте зважаючи на те, де зображення буде використовуватися. Для пересічного модератора практично завжди вистачає формату JPG. Але кожне зображення треба оптимізувати і бажано без втрати якості. Проведімо експеримент, чи помітите Ви різницю в якості між зображенням справа і зліва?

Оптимізація на сайті: як і для чого це робити

Обидва фото мають формат JPG і однакове розширення. Зліва той файл, який я отримав з свого фотоапарата і він має розмір 2,57 мегабайти, справа – оптимізоване зображення і воно менше на 70%, всього 770 кілобайт. 70% економії трафіку і часу відвідувача.

А тепер уявімо, що на сторінці десяток-два не оптимізованих зображень – і не оптимізовані зображення стають серйозною проблемою.

Ну і третя проблема із зображеннями на сайті, про яку я хочу написати – це завантаження всіх зображень відразу. Коли з першими двома проблемами може впоратися модератор сайту, то з цією проблемою мають боротися ще на етапі розробки сайту. Як я вище писав – уявімо, що зображень на сторінці десяток. А таке легко може бути якщо це сторінка блогу, або фото товару з різних боків, в різних кольорових рішеннях. І навіть оптимізовані зображення, сумарно, вже починають займати значний час і трафік.

Я не просто так на початку цього допису давав своє визначення «Швидкості завантаження сайту». Ціль розробника сайту – зробити так, щоб відвідувач почав взаємодію з сайтом якомога швидше. І тут в контексті десятка фотографій розкиданих по всій сторінці виникає запитання: а навіщо їх усі завантажувати відразу, якщо відвідувачеві нижні зображення знадобляться лише коли він до них долистає сторінку? Для рішення цієї проблеми є так зване «ліниве завантаження». По суті це функціонал сайту (який може бути реалізований в різний спосіб), який дозволяє не завантажувати зображення, доки воно не опиниться в полі зору відвідувача.

Отже, як вирішити питання з оптимізацією зображень на сайті?

  • використовуйте зображення тих розширень, які підходять під ваш контент;
  • оптимізовуйте розмір зображення, для цього існує безліч інструментів починаючи від онлайн сервісів і завершуючи десктопними погромами такими як Adobe Photoshop;
  • при великій кількості фото на сторінці використовуйте ліниве завантаження.

Відео на сторінці

Зазвичай на сайт вбудовують відео з YouTube. Потрібно розуміти, що разом з блоком відео з YouTube також завантажуються стилі, скрипти і саме відео. Навіть одне відео впливає на швидкість, а якщо їх цілий ряд (наприклад слайдер з відеовідгуками) – це серйозна проблема. Та це не означає, що потрібно відмовитися від використання відео, потрібно лише його правильно використовувати. І тут теж знадобиться певний варіант «лінивого завантаження». Але на цей раз мова не про завантаження контенту коли він опиниться в полі зору відвідувача, а про завантаження відео, коли відвідувач клікне по ньому. Для цього варто на місце відео поставити прив’ю відео і додати скрипт, який би міняв прив’ю на код вставки YouTube при клікові по прив’ю. Для розробника сайту зробити такий функціонал не проблема, а на швидкості завантаження сторінки це помітно позначиться. Але потрібно зважати на доцільність, якщо відео є ключовим контентом сторінки і користувач практично відразу розпочинає взаємодію з ним – то немає потреби додавати «ліниве завантаження».

Сторонні сервіси

Це, можна сказати, що поле бою між різними фахівцями, що працюють над розробкою сайту і його просуванням в пошуку. Різноманітні сервіси від Google, чати, виринаючі контактні форми й купа інших різноманітних сторонніх сервісів. В більшості інструкцій до таких сервісів написано, що скрипт потрібно розмістити в межах тега HEAD на кожній сторінці. Я розумію, що для просування сайту важливо відстежувати різноманітну статистику і поведінку відвідувачів і спонукати їх до певних дій (придбати товар, підписатися на новини тощо), але ж ми сайт робимо, щоб ним було зручно користуватися, а що отримує відвідувач? А він змушений чекати доки завантажаться статистики і лічильники, які не те що йому не потрібні, він навіть їх не побачить, і чати, ніби першим ділом, що буде робити відвідувач – писати повідомлення. Потрібно розуміти, що кожний такий сервіс – це запит на сторонній сервер і отримання від нього відповіді, а іноді вона не миттєва. Все це витрачає час, час коли відвідувач вже повинен мати змогу взаємодіяти з сайтом.

Тут рішення єдине – вкрай обережно ставитися до використання сторонніх сервісів, і віддавати перевагу відвідувачеві, а вже потім отримувати необхідну інформацію.

Шрифти

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

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

Рішення проблем з шрифтами очевидне – не перевантажувати сайт шрифтами і дозволити відображення тексту до завантаження шрифту.

Анімація при завантаженні

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

Оптимізація на сайті: як і для чого це робити

На завершення

Власне це всі основні проблеми, які мені зустрічалися в роботі. Як бачите, рішення прості і не замислуваті, але ефективні.

Потрібно оптимізувати швидкість Вашого сайту? Я надаю послуги з аудиту сайтів: мої контакти.



Кілька останніх дописів: