прискорення сайту
Прискорення сайту - що дає, як виміряти і як самому прискорити сайт
Привіт, Новомосковсктелі блогу KtoNaNovenkogo.ru. Мене звуть Микола Мацієвський, я займаюся швидкістю сайтів вже 9 років і хочу передати вам накопичений досвід і знання, щоб ви змогли зробити ваші сайти ще швидше і ще краще.
Для початку, давайте відразу визначимося з поняттями. Швидкість сайту вимірюється по-різному (має кілька показників), і це не величина каналу підключення до інтернету вашого хостингу або ваших користувачів (хоча і залежить від них). В основні показники швидкості сайту зазвичай включають час відповіді сервера. час відтворення сторінки і час повного завантаження сторінки.

Зрозуміло, що на сайті можуть бути сотні і тисячі сторінок, тому для вимірювання беруть або головну сторінку, або головну і саму характерну внутрішню (сторінку записи або картку товару), або усереднене значення для всіх сторінок (через будь-який лічильник).
Безліч сервісів пропонують виміряти «швидкість сайту», але, за фактом, вони вимірюють час відповіді сервера. Далеко не всі сервіси, буквально одиниці, можуть дати реальні показники часу відтворення сторінки і часу повного завантаження (бо для їх розрахунку потрібен реальний браузер). До таких сервісів відноситься, наприклад, Айрі.рф або WebPageTest.
Але що дає швидкість сайту, чому все навколо так носяться з цим показником сайту?
Що дає швидкість сайту
По-перше, швидкість позитивно позначається на числі успішних дій на сайті (конверсії). Є дуже багато реальних історій на тему впливу прискорення на конверсію, зокрема, Walmart (найбільший ритейлер в США) підвищив конверсію сайту тільки рахунок його прискорення на 20%.


По-третє, швидкість сайту є потужним фактором підвищення довіри і лояльності відвідувачів. Зокрема, The Guardian (один з найбільших новинних сайтів) зумів збільшити щоденну відвідуваність сайту на 35%, в тому числі, за рахунок виняткової швидкості на мобільних пристроях.

що вимірювати
Не всі вимірювання однаково хороші, і для грамотної роботи зі швидкістю сайту потрібно розуміти, в якій частині сайту у нього проблеми. Для початку, потрібно виміряти час відповіді сервера (наскільки спритно відповідає ваш хостинг). Це можна зробити за допомогою сервісів Ping Admin. Host Tracker або WEBO Pulsar. Якщо середній час відповіді з будь-якого сервісу більше 500 мс (0,5 секунд) - то потенційно можливі проблеми на стороні хостингу, і на їх рішення потрібно виділити час.
Якщо з хостингом все ок, то рухаємося далі - до часу відтворення (DOMReady). Потрібно зрозуміти, чи є потенційні проблеми з отрисовкой сайту на екрані браузера, чи є додаткові затримки на стадії «білого екрану». Для цього скористаємося сервісами Айрі.рф або WebPageTest.
Кожен з них видасть діаграму завантаження сайту в браузері, на ній шукаємо фіолетову вертикальну лінію - це буде час закінчення відтворення сайту. Друга вертикальна лінія (синя) означатиме час повного завантаження. Добре, якщо перша лінія знаходиться на 1-1,5 секундах завантаження сайту, а друга - раніше 4 секунд. Тоді наступні абзаци можна прочитати «для довідки». Якщо сайт завантажується довше 4 секунд - тоді дивимося нижче, як це виправляти.
В результаті перевірки ми отримаємо приблизно таку картинку, по якій стає зрозуміло, де основні проблеми в швидкості сайту.

Гарною підмогою в знаходженні і вирішенні проблем буде сервіс Google PageSpeed Insights. який видасть готові рекомендації до застосування (головне, не захоплюватися далі оцінки 90, інакше толку буде нуль, а часу витрачено - сила-силенна).
Як виправляти проблеми
Тепер в залежності від того, де ви виявили проблеми в швидкості сайту, ваші дії будуть наступними:
- Проблеми на стороні хостингу. Перевірте, чи встановлений у вас веб-сервер nginx, чи підключено кешування коду (OpCode кеш), чи встановлені кешуючий плагіни до движку сайту і оптимізовані чи таблиці бази даних (MySQL). Кожен з пунктів (а іноді - і все разом) може призводити до затримок на стороні сервера. Також не зайвим буває перевірити час відповіді з відключеними плагінами: може бути, якийсь плагін або модуль на вашому сайті створює невиправдано велике навантаження.
- Проблеми на рівні відтворення сторінки. Тут варіантів рішення може бути ще більше, і добре допоможе вже згаданий Google PageSpeed Insights. Він підкаже, чи є проблеми з великою кількістю стилів або скриптів. Якщо проблеми є, то необхідно рішення (модуль, плагін або сервіс), який об'єднає всі файли в кілька. Також допоможе відключення невикористовуваних модулів / плагінів (це взагалі універсальне рішення проблем швидкості - відключити всі).
Додатково потрібно перевірити, оптимізовані чи шрифти на сайті. Якщо немає, то потрібно виключити з них не використовуються символи (гліфи).
Ще однією, не менш поширеною причиною «гальм» і «важкості», може бути велика кількість (або неоптимізовані) зображення. Перевірте, що на хостинг ви залили оптимізовані версії файлів (в цьому допоможе Image Catalyst). Якщо на сторінці 100 і більше картинок, то краще буде встановити плагін LazyLoad - щоб зображення завантажувалися в «ледачому» режимі. Також варто перевірити, що реальні розміри зображень збігаються з використовуваними на сайті (іноді буває, що дуже велике зображення вставляють в маленькому масштабі: це «забиває» завантаження сайту невживаних графіком).
Після виявлення всіх проблем швидкості сайту фронт робіт може бути значним. Можна зробити його самостійно, а можна скористатися одним з тарифів Айри для вебмайстрів та застосувати оптимізацію швидкості сайту за 25 рублів / день.
Удачі вам! До швидких зустрічей на сторінках блогу KtoNaNovenkogo.ru