Скорость интернет-магазина — это не абстрактный технический показатель. Она влияет на конверсию, глубину просмотра, позиции в поиске и стоимость рекламы. Чем дольше грузится каталог и оформление заказа, тем больше людей уходит, не дойдя до оплаты.
Мы разобрали 12 мест, где магазин чаще всего теряет секунды, и собрали порядок действий: что измерять, что исправлять первым и какие улучшения дают результат без переписывания проекта.
Сначала измерьте, потом меняйте
Покупать более мощный сервер или переписывать фронтенд «на всякий случай» — дорого и неэффективно. Сначала нужна картина: где именно теряется время. Для этого достаточно четырёх источников данных.
- Lighthouse и PageSpeed Insights — базовая оценка и список проблем по загрузке.
- WebPageTest — детальный водопад запросов и сравнение с конкурентами.
- Яндекс Метрика — реальные скорости загрузки и поведение пользователей.
- Логи сервера и APM — медленные запросы, ошибки и время ответа базы.
12 точек роста скорости
- TTFB и ответ сервера. Проверьте время генерации страницы, работу PHP-FPM, очереди и внешние вызовы.
- Кэширование страниц и фрагментов. Каталог, категории и карточки товаров не должны собираться заново на каждый запрос.
- Запросы к базе. Найдите запросы без индексов, N+1 и тяжёлые выборки в листингах.
- Изображения. Переведите в WebP или AVIF, задайте размеры, используйте srcset и ленивую загрузку.
- JavaScript. Уберите неиспользуемые библиотеки, разделите бандл и отложите некритичные скрипты.
- CSS и шрифты. Критический CSS — в первом экране, остальное — асинхронно; шрифты — с font-display: swap.
- CDN и статика. Отдавайте изображения, стили и скрипты с ближайшего к пользователю узла.
- Сторонние скрипты. Метрики, чаты, виджеты и пиксели часто добавляют больше секунд, чем сам сайт.
- Кэш на уровне приложения. Redis или Memcached для тяжёлых вычислений, меню, фильтров и настроек.
- Очереди и фоновые задачи. Выгрузки, письма и интеграции не должны выполняться внутри запроса.
- База данных. Проверьте медленные запросы, размер таблиц, autovacuum и количество соединений.
- Мониторинг. Настройте алерты на TTFB, 5xx, время ответа и очередь, чтобы не узнавать о падении от клиентов.
Что даёт быстрый результат
Быстрее всего обычно срабатывают кэш страниц, оптимизация изображений, отключение лишних скриптов и исправление самых медленных запросов. Эти четыре направления редко требуют переписывания и дают заметный эффект за дни, а не месяцы.
Если каталог открывается дольше трёх секунд на мобильном интернете, часть пользователей уходит ещё до просмотра товаров. Проверяйте скорость на реальных устройствах и на медленном соединении, а не только на быстром офисном Wi-Fi.
Что не стоит делать
Не стоит начинать с микрооптимизаций вроде сжатия одного баннера, если сервер отдаёт страницу пять секунд. Не стоит включать агрессивный кэш без инвалидации: клиенты увидят старые цены. И не стоит гнаться за оценкой Lighthouse 100 в ущерб удобству — цель не цифра, а быстрый путь к заказу.
Как мы ускоряем магазины
Начинаем с аудита: снимаем метрики, смотрим запросы, фронтенд и интеграции. Затем фиксируем план по приоритетам: что даст эффект быстро, что требует доработки, а что можно отложить. После изменений сравниваем метрики до и после и оставляем мониторинг, чтобы скорость не деградировала.