WordPress · 6 мин чтения

Как ускорить сайт на WordPress без потери функционала

Скорость загрузки - это конкретные метрики в PageSpeed Insights и GTmetrix, а не ощущение «вроде быстро открывается». Разобравшись, как ускорить сайт на WordPress без урезания функционала, экономишь не секунды ради красивой цифры в отчёте, а конверсию: на проектах с интернет-магазином на WooCommerce я не раз видел, как лишняя секунда до отклика сервера роняла долю успешных оформлений заказа на 10-15%. Ниже - порядок действий, который я применяю на реальных сайтах: от диагностики до чистки базы данных, без плагинов «на автомате» и без урезания того, что реально нужно клиенту.

С чего начать диагностику скорости сайта на WordPress

Первым делом смотрю не на итоговый балл в PageSpeed Insights, а на конкретные метрики Core Web Vitals: LCP (отрисовка главного элемента) укладывается в 2,5 секунды, CLS (смещение вёрстки) - ниже 0,1, INP (отклик на действие пользователя) - до 200 мс. Балл 60 из 100 может скрывать за собой один тяжёлый скрипт, а балл 90 - не гарантировать, что реальный посетитель на слабом мобильном интернете дождётся загрузки.

Аудит я делаю в три слоя:

  • Сервер - время ответа до первого байта (TTFB), через вкладку Network в devtools или сервис WebPageTest
  • Фронтенд - вес страницы, число запросов, блокирующие рендер скрипты и стили
  • База данных - количество запросов на страницу через Query Monitor

На одном проекте с WooCommerce и интеграцией эквайринга Т‑Банка карточка товара весила 4,2 МБ - из-за неоптимизированных фотографий и трёх разных версий jQuery, которые тянули за собой конкурирующие плагины. После чистки страница похудела до 900 КБ без единого визуального изменения для покупателя.

Хостинг и сервер как основа производительности WordPress

Никакое кеширование не спасёт, если TTFB держится на уровне 700-900 мс - это узкое место самого сервера, а не фронтенда. На практике разница между дешёвым виртуальным хостингом и нормально настроенным VPS с NGINX и PHP-FPM - это TTFB 800 мс против 150-200 мс на том же сайте с тем же контентом.

Что реально влияет на скорость на уровне сервера:

  • PHP 8.2-8.3 вместо устаревшего 7.4 - прирост на типовых запросах WordPress в среднем 20-30%
  • OPcache - кеш скомпилированного PHP-кода, без него каждый запрос заново парсит все файлы движка
  • Объектное кеширование через Redis или Memcached - критично для сайтов с большим количеством запросов к базе (маркетплейсы, каталоги на 5000+ товаров)
  • HTTP/2 или HTTP/3 на сервере - параллельная загрузка ресурсов вместо очереди

Если хостинг не даёт доступа к настройке OPcache или PHP-FPM, а это часто бывает на массовых shared-тарифах, разговор с поддержкой хостера - первый шаг, а не установка очередного плагина ускорения.

Кеширование страниц и CDN для ускорения загрузки

Кеширование страниц и объектное кеширование - разные вещи, и путать их не стоит. Плагин кеширования страниц отдаёт готовый HTML вместо того, чтобы каждый раз собирать страницу через PHP и запросы к базе. Разница ощутима сразу: на одном из моих проектов включение WP Rocket снизило время генерации страницы с 1,8 секунды до 300 мс.

Плагин Кому подходит Особенность
WP Rocket Коммерческие сайты, интернет-магазины Платный, но настройка «из коробки» без конфликтов с большинством тем
LiteSpeed Cache Сайты на хостинге с сервером LiteSpeed Бесплатный, встроенная оптимизация изображений и объектный кеш
WP Super Cache Простые блоги и лендинги Бесплатный, минимум настроек, меньше гибкости
W3 Total Cache Проекты с нестандартной инфраструктурой Много настроек вручную, легко сломать при неверной конфигурации

CDN добавляю отдельно от кеширования страниц - он раздаёт статику (изображения, CSS, JS, шрифты) с серверов, географически ближе к посетителю. Для аудитории в основном по России смысла в западных CDN немного, лучше смотреть на сети с точками присутствия в РФ - разница в задержке для регионального трафика бывает в 2-3 раза.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Оптимизация изображений и медиаконтента

Изображения обычно дают 50-70% веса страницы, и здесь экономия самая заметная. Что делаю в первую очередь:

  • Конвертация в WebP или AVIF - при том же визуальном качестве файл легче на 25-50%
  • Отдача правильного размера через srcset, а не одной картинки 3000px на все устройства
  • Lazy loading для всего, что ниже первого экрана - атрибут loading=“lazy” браузеры поддерживают нативно, без плагинов
  • Отложенная загрузка встроенных виджетов вроде карты СДЭК или калькулятора доставки - такие скрипты часто грузятся синхронно и блокируют рендер, хотя нужны пользователю только при переходе к оформлению заказа

На одном интернет-магазине виджет выбора пункта выдачи СДЭК подключался на каждой странице сайта, включая главную, хотя использовался только на странице оформления заказа. Перенос скрипта на нужную страницу и отложенная инициализация убрали 600 КБ и два блокирующих запроса с главной страницы без изменения функционала доставки.

Плагины и скрипты: что отключить без потери функционала

Лишние плагины - самая частая причина медленного WordPress. На аудитах регулярно нахожу 3-4 плагина, дублирующих функции друг друга: два SEO-плагина одновременно, три конструктора форм, отдельный плагин для того, что закрывает тема. Через Query Monitor смотрю, какой плагин добавляет лишние запросы к базе или подключает скрипты на страницах, где они не используются.

Часть скриптов WordPress подключает по умолчанию, хотя они нужны не всем - например, эмодзи-скрипт, который грузится на каждой странице ради поддержки emoji в старых браузерах. Отключается коротким сниппетом в functions.php:

remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

Готовые проверенные сниппеты для таких точечных отключений - без риска сломать админку - я собираю в библиотеке готовых скриптов, если не хочется руками разбираться в hook-ах WordPress.

Объединение и минификация CSS/JS раньше были обязательной практикой, но на HTTP/2 и HTTP/3 эффект от неё слабее - параллельная загрузка нескольких мелких файлов часто быстрее одного большого. Проверяю это тестами до и после, а не по умолчанию включаю минификацию везде.

База данных и регулярное обслуживание WordPress

База данных со временем обрастает мусором: черновики и ревизии постов, просроченные transient-записи, спам-комментарии, логи от отключенных плагинов. На сайте с пятилетней историей я как-то находил таблицу wp_options на 40 МБ из одних автозагружаемых transient-записей - это напрямую увеличивает время каждого запроса к базе, даже на простой странице.

Что чищу регулярно:

  • Ревизии постов - WordPress по умолчанию хранит их без ограничения, ограничиваю до 3-5 через wp-config.php
  • Просроченные transients
  • Таблицы от удалённых плагинов, которые сами себя не подчищают при деактивации
  • wp-cron - на посещаемых сайтах лучше вынести на серверный cron вместо запуска при каждом визите

Такое обслуживание не разовая акция, а процесс: раз в квартал я возвращаюсь на сопровождаемые проекты и повторяю аудит, потому что база и плагины снова обрастают тем же самым. Если держать это на себе не хочется, беру такие сайты на техподдержку от 15 000 ₽/мес - туда входит и мониторинг скорости, и чистка базы, и обновления без падения функционала.

Если сайт медленный не из-за накопленного мусора, а изначально собран на тяжёлом конструкторе-теме с десятком встроенных модулей, дешевле и быстрее пересобрать его на чистом стеке, чем бесконечно оптимизировать то, что не предназначено для скорости - такой сайт на WordPress под конкретные задачи я делаю от 60 000 ₽.

Корпоративный сайт, каталог, блог

Фронтенд + Бэкенд

от 60 000 ₽

Подробнее →

Частые вопросы

Сколько времени занимает ускорение сайта на WordPress?

Базовый аудит и настройка кеширования, CDN и оптимизации изображений - 3-5 рабочих дней. Если проблема в хостинге или архитектуре сайта (например, тяжёлая тема с десятками виджетов), срок растягивается до 2-3 недель, потому что часть решений требует переноса на другой сервер или замены компонентов.

Может ли ускорение сайта сломать существующий функционал?

Может, если менять всё разом без тестов на копии сайта. Я всегда проверяю изменения на staging-версии: включаю кеширование, тестирую формы, оплату, корзину, и только после этого переношу настройки на боевой сайт. Особенно осторожно с объединением JS-файлов - там чаще всего ломаются интерактивные элементы.

Достаточно ли установить плагин кеширования, чтобы сайт стал быстрым?

Плагин кеширования закрывает только часть проблемы - генерацию страницы. Если TTFB сервера 800 мс, а изображения весят по 2 МБ, плагин кеширования эту часть не исправит. Реальное ускорение почти всегда состоит из 3-4 независимых мер сразу: сервер, кеш, изображения, чистка плагинов и базы.

Как ускорить сайт на WordPress с интернет-магазином без замены темы?

Начинаю с того же аудита: смотрю, какие скрипты грузятся на каждой странице, хотя нужны только в корзине или на оформлении заказа (виджеты доставки, платёжные скрипты эквайринга). Отложенная загрузка таких скриптов и оптимизация изображений товаров обычно дают 30-40% прироста скорости без единого визуального изменения темы.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Самозанятый Калинкин Н. А. · работаю с физлицами и юрлицами

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно