Недавно ко мне обратился клиент из B2B-сегмента - компания продаёт спецтехнику, сайт на WordPress, трафик есть, но заявок почти нет. Открываю PageSpeed Insights - 23 балла на мобильных. Страница весит больше 8 МБ, загружается 9 секунд. При этом владелец искренне удивился: «Мне казалось, всё нормально работает». Вот тут и начинается разговор про скорость загрузки сайта и то, как она убивает конверсию тихо и незаметно.

Я Андрей Зенков, руковожу веб-студией «Мельница» и с 2013 года занимаюсь продвижением сайтов - в том числе в тяжёлых B2B-нишах, где покупатель приходит с мобильного телефона прямо с объекта. В этой статье разберём, как ускорить WordPress сайт: почему он тормозит, какие инструменты дают нужную информацию, и что реально работает. Только конкретные шаги и плагины.

Чтобы ускорить WordPress сайт, нужно последовательно устранить узкие места: сжать изображения через EWWW Image Optimizer или ShortPixel, настроить кэширование через WP Rocket или LiteSpeed Cache, подключить минификацию через Autoptimize - и только потом браться за серверную часть и чистку базы данных.

Почему WordPress тормозит: разбираем причины

WordPress сам по себе не медленный. Но он очень легко превращается в тормоз, если не следить за тем, что на нём накапливается. Проблема почти всегда комплексная - одна причина тянет за собой другую, и в итоге сайт начинает грузиться по 5-7 секунд, хотя каждый отдельный элемент «вроде бы нормальный».

Первое и самое распространённое - лишние плагины. Каждый плагин добавляет свои скрипты и стили, которые грузятся на всех страницах, даже там, где они не нужны. Я видел сайты с 60+ активными плагинами, половина из которых не используется годами. Каждый такой плагин добавляет HTTP-запросы и лишний код на страницу.

Второе - перегруженные темы. Особенно это касается популярных конструкторов типа Avada, Divi, Betheme. Они тащат за собой огромное количество CSS и JS-файлов, большую часть которых конкретный сайт никогда не использует. Тема на 2 МБ CSS - это не редкость, и это катастрофа для скорости загрузки.

Третье - неоптимизированные изображения. Загружают JPEG прямо с фотоаппарата, размером 4000x3000 пикселей и весом 5-8 МБ. WordPress делает миниатюры, но оригинал никуда не девается. Иногда один такой файл весит больше, чем вся остальная страница.

Четвёртое - отсутствие кэширования. Каждый запрос к сайту без кэша - это обращение к базе данных, сборка страницы из PHP, отдача HTML. При нескольких одновременных пользователях сервер начинает захлёбываться. Кэш решает это кардинально: готовый HTML отдаётся мгновенно, без обращения к БД.

Пятое - слабый хостинг и устаревший PHP. Shared-хостинг с PHP 7.0 и 256 МБ RAM - не фундамент, на котором строят быстрый сайт. PHP 8.x работает значительно быстрее, а нехватка памяти заставляет сервер «думать» над каждым запросом.

Как проверить скорость сайта перед оптимизацией

Аудит скорости WordPress сайта в браузере - отчёт Core Web Vitals

Прежде чем что-то трогать - нужно собрать информацию о состоянии сайта. Без этого оптимизация превращается в угадывание. Я всегда начинаю с аудита: смотрю, что именно тормозит, какой размер страниц, сколько запросов, что блокирует рендеринг.

Главный инструмент - Google PageSpeed Insights. Он показывает Core Web Vitals: LCP (время загрузки основного контента), INP (отклик на взаимодействие), CLS (визуальная стабильность). Именно эти метрики Google использует как сигнал ранжирования. Если LCP больше 4 секунд - это уже красная зона. Плюс PageSpeed даёт конкретные рекомендации: какие изображения нужно сжать, какие скрипты блокируют рендеринг, где можно включить кэш.

Второй инструмент - GTmetrix. Он показывает более детальную информацию: водопад загрузки ресурсов, размер каждого файла, время ответа сервера. Очень удобно для поиска «тяжёлых» файлов - тех самых изображений на 5 МБ или CSS на 2 МБ. GTmetrix также позволяет тестировать с разных географических точек, что важно для понимания реальной скорости ускорения загрузки для конечного пользователя.

Третий - Pingdom Tools. Проще в интерпретации, хорошо подходит для быстрой проверки и мониторинга динамики после изменений. Я использую его как «контрольный замер» до и после оптимизации.

Инструмент Что измеряет Стоимость Что даёт на выходе
Google PageSpeed Insights Core Web Vitals (LCP, INP, CLS), производительность страницы Бесплатно Оценка 0-100, конкретные рекомендации по исправлению, данные реальных пользователей (CrUX)
GTmetrix Скорость загрузки, размер страницы, количество запросов, водопад ресурсов Бесплатно / от $4.25/мес Детальный водопад загрузки, анализ каждого файла, тест из разных локаций
Pingdom Tools Время загрузки, размер страницы, оценка производительности Бесплатно (базовый) / от $10/мес Простой отчёт с оценкой, удобен для сравнения до/после оптимизации

Минимальный аудит перед началом работы: проверить сайт в PageSpeed Insights на мобильных и десктопе, скачать отчёт GTmetrix и найти три самых тяжёлых файла, зафиксировать исходные цифры - время загрузки, размер страницы, количество запросов. Это займёт 15 минут, но сэкономит часы работы в неправильном направлении.

Оптимизация изображений: самый быстрый выигрыш

Оптимизация изображений на WordPress - сжатие файлов в плагине

Когда я делаю первый технический аудит нового клиента, почти всегда картина одна и та же: 60-70% веса страницы - это изображения. Фотографии товаров по 3-5 МБ, загруженные прямо с фотоаппарата, слайдеры с десятками картинок, которые грузятся все разом при открытии страницы. Именно с оптимизации изображений я всегда начинаю работу по ускорению сайта - это самый быстрый выигрыш с минимальными усилиями.

Работаю по трём уровням последовательно.

Первый уровень: сжатие без потери качества. Здесь у меня три рабочих инструмента - EWWW Image Optimizer, ShortPixel и Imagify. EWWW Image Optimizer бесплатен, работает на сервере и не отправляет данные во внешние сервисы - это важно для клиентов с NDA. ShortPixel и Imagify работают через облако: загружают картинку на свои серверы, сжимают, возвращают обратно. Качество у всех трёх примерно одинаковое, разница - в удобстве массовой обработки и цене за большие объёмы. По моему опыту, снижение размера картинок на 40-60% без видимой потери качества - это норма. На сайтах с большим каталогом я видел результаты и в 70-80%.

Второй уровень: конвертация в WebP. Формат WebP при том же визуальном качестве весит на 25-35% меньше, чем JPEG, и на 50-70% меньше, чем PNG. Все три плагина умеют конвертировать автоматически при загрузке: WordPress отдаёт WebP браузерам, которые его поддерживают (сейчас это 97% браузеров), и оригинал - остальным. Никаких дополнительных настроек не нужно, включается одним чекбоксом.

Третий уровень: ленивая загрузка (lazy load). С WordPress 5.5 она встроена в ядро и работает по умолчанию - атрибут loading="lazy" добавляется к изображениям автоматически. Браузер загружает только те картинки, которые попадают в видимую область экрана. Всё остальное - по мере прокрутки. На длинных страницах с большим количеством картинок это сокращает начальную загрузку в 2-3 раза.

Отдельный вопрос - что делать с уже загруженными изображениями. Новые картинки плагины обрабатывают автоматически при загрузке. Для старых есть массовая обработка: в EWWW Image Optimizer это раздел «Bulk Optimize» в меню инструментов, в ShortPixel и Imagify - аналогичные разделы в настройках плагина. Запускаете, ждёте, пока плагин пройдёт по всей медиабиблиотеке. На сайте с тысячами изображений это может занять несколько часов, но делается один раз.

У меня был клиент - онлайн-магазин промышленного оборудования, около 800 товаров. Все фото грузились напрямую из 1С, без какой-либо обработки. Средний размер изображения - 2,4 МБ, страница каталога весила 18 МБ. После установки ShortPixel с конвертацией в WebP и включения lazy load - 2,1 МБ. Время загрузки упало с 11 до 3,8 секунды, PageSpeed вырос с 19 до 61 балла. Только за счёт изображений, без каких-либо других изменений.

Кэширование страниц: как ускорить отдачу контента

Каждый раз, когда пользователь открывает страницу WordPress без кэша, сервер проделывает одну и ту же работу: обращается к базе данных, собирает данные, выполняет PHP-код, формирует HTML и отдаёт его браузеру. На нагруженном сайте этот процесс занимает 300-800 миллисекунд только на стороне сервера. При большом потоке посетителей база данных и PHP начинают очередь запросов, время ответа растёт.

Кэширование решает эту проблему простым способом: сервер один раз генерирует готовый HTML страниц и сохраняет его. Следующему посетителю отдаётся уже готовый файл - без обращения к базе данных, без PHP. Время ответа падает до 10-50 миллисекунд. Это и даёт большую часть выигрыша в скорости при правильной настройке кэширования - иногда ускорение в 2-3 раза только за счёт этого шага.

Лучших плагинов для кэширования несколько, и выбор зависит от хостинга и бюджета. Вот сравнение основных вариантов:

Плагин Цена CDN Сложность настройки Примечание
W3 Total Cache Бесплатно / Pro от $9/мес Да Высокая Максимум настроек, легко сломать
WP Fastest Cache Бесплатно / Premium от $49 Нет (в платной - да) Низкая Хороший выбор для старта
LiteSpeed Cache Бесплатно Да (QUIC.cloud) Средняя Только для LiteSpeed-серверов
WP Rocket От $59/год Да Низкая Лучший «из коробки», рекомендую
WP Super Cache Бесплатно Нет Низкая Простой, от Automattic

Мой рабочий выбор - WP Rocket для клиентских проектов и LiteSpeed Cache там, где хостинг на LiteSpeed-сервере. WP Rocket работает правильно сразу после установки: минимум настроек, максимум результата. W3 Total Cache я ставлю только когда нужен тонкий контроль или интеграция с конкретным CDN - слишком много точек, где можно ошибиться при настройке.

Следующий уровень - объектное кэширование через Redis или Memcached. Это кэширование результатов запросов к базе данных, а не готовых HTML-страниц. Актуально для интернет-магазинов на WooCommerce с большим каталогом и высокой нагрузкой. Требует поддержки на стороне хостинга - уточняйте у своего провайдера. На нагруженном WooCommerce-сайте Redis добавляет ещё 30-50% к производительности бэкенда.

Важный момент: кэш нужно правильно инвалидировать. Все нормальные плагины делают это автоматически при обновлении записи или страницы. Но если вы используете динамический контент - корзину, личный кабинет, персонализированные блоки - убедитесь, что эти части страницы исключены из кэша. Иначе один пользователь может увидеть данные другого.

Минификация CSS, JS и HTML: убираем лишний код

Каждый CSS и JS файл, который браузер загружает при открытии страницы, написан разработчиком для людей: с отступами, переносами строк, комментариями, понятными именами переменных. Всё это нужно для работы с кодом, но браузеру безразлично. Минификация убирает всё лишнее - пробелы, переносы, комментарии - без изменения функциональности. Типичный CSS-файл после минификации становится на 20-40% легче.

Для ускорения загрузки через минификацию и объединение файлов я использую Autoptimize. Бесплатный плагин, который умеет три вещи: минифицировать CSS и JS, объединять несколько файлов в один (меньше HTTP-запросов), и генерировать критический CSS - тот минимум стилей, который нужен для отрисовки видимой части страницы без загрузки основного CSS-файла.

Отдельная тема - отложенная и асинхронная загрузка JS. По умолчанию браузер, встретив тег <script> в HTML, останавливает рендеринг страниц и ждёт, пока скрипт загрузится и выполнится. Это называется «блокирующий скрипт» - именно он часто стоит за высоким показателем «Устранение ресурсов, блокирующих рендеринг» в PageSpeed Insights. Атрибут defer говорит браузеру загружать скрипт параллельно с HTML, но выполнять после. Атрибут async - загружать и выполнять сразу, не дожидаясь остального. Autoptimize позволяет применить defer ко всем JS одним чекбоксом.

Здесь есть типичная ошибка: после включения минификации и объединения JS часть функций сайта перестаёт работать. Это происходит потому, что некоторые скрипты написаны с расчётом на определённый порядок загрузки, который нарушается при объединении. Или потому, что скрипт конфликтует с другим при слиянии. Решение - исключить проблемные скрипты из обработки. В Autoptimize для этого есть поле «Exclude scripts from Autoptimize»: вписываете имя файла или часть пути, плагин оставляет его нетронутым.

Ещё один инструмент, который можно использовать в паре с Autoptimize: Perfmatters или Asset Cleanup Pro. Их задача - не минифицировать, а отключать ненужные скрипты и стили на конкретных страницах. Например, плагин контактной формы грузит свои скрипты на каждой странице сайта, хотя форма есть только на одной. Perfmatters позволяет отключить эти скрипты везде, кроме страницы с формой. На типичной странице каталога такой точечный подход убирает лишние 200-500 КБ.

Практика работы с минификацией: всегда тестируйте после каждого изменения. Включили минификацию CSS - проверьте визуально несколько ключевых страниц. Включили объединение JS - проверьте все интерактивные элементы: слайдеры, фильтры, добавление в корзину, формы. Делайте это в режиме инкогнито, чтобы браузер не использовал старый кэш. Лучше 10 минут на проверку, чем звонок клиента на следующий день с вопросом «почему у нас ничего не работает».

Хостинг, PHP и серверная оптимизация

Серверная панель управления хостингом - настройка PHP и кэша

Плагины не сделают большую работу за слабый сервер. Это ошибка, которую я вижу регулярно: владелец сайта ставит WP Rocket, настраивает кэш, оптимизирует изображения - а скорость загрузки почти не меняется. Причина в том, что проблема была не в WordPress, а в хостинге.

Shared-хостинг за 100-200 рублей в месяц - это ресурсы, которые делятся между сотнями сайтов. Если соседи нагрузили сервер - ваш сайт тормозит. Для серьёзных проектов я рекомендую VPS от 1 ГБ RAM или облачный хостинг с гарантированными ресурсами. Разница в цене - 500-1500 рублей в месяц, разница в скорости - в разы.

Отдельно про PHP: переход с PHP 7.4 на PHP 8.2 даёт прирост производительности от 30 до 50% без каких-либо изменений в коде. Можно использовать этот рычаг бесплатно - просто смените версию PHP в панели хостинга. На одном из проектов по продаже промышленных насосов мы сменили PHP 7.2 на 8.1 и получили плюс 8 баллов PSI без единого изменения в WordPress - только за счёт этого переключателя. Важно проверить совместимость плагинов заранее - но у большинства современных инструментов с PHP 8.x проблем нет.

Про серверный стек: Nginx обрабатывает статические файлы быстрее Apache, OPcache кэширует скомпилированный PHP-код в памяти и ускоряет каждый запрос. Redis или Memcached для object cache - следующий уровень, особенно для интернет-магазинов с большой базой товаров. LiteSpeed Cache работает в полную силу только на серверах с LiteSpeed Web Server - если ваш хостинг его не поддерживает, плагин даст лишь часть возможностей.

CDN Cloudflare - простое и бесплатное решение для ускорения отдачи статики. Подключается за 20 минут, статические файлы (картинки, CSS, JS) отдаются с ближайшего к посетителю сервера. Для аудитории по всей России это ощутимо: страница из московского датацентра грузится быстрее, чем с сервера в Европе.

Чистка базы данных и гигиена сайта

WordPress накапливает мусор незаметно. После года активной работы база данных среднего блога содержит тысячи ненужных записей: черновики, ревизии страниц, удалённые записи в корзине, спам-комментарии, устаревшие transients (временные опции в таблице wp_options). Всё это замедляет запросы к базе и влияет на скорость загрузки.

Для чистки я использую два инструмента. WP-Optimize - простой плагин, который убирает ревизии, черновики, удалённые комментарии и оптимизирует таблицы базы. Запускаю вручную раз в месяц или настраиваю по расписанию. Advanced Database Cleaner - более детальный инструмент, можно использовать для глубокой чистки transients и orphaned data (осиротевших записей от удалённых плагинов).

Ограничение ревизий - обязательный шаг для контентных проектов. В wp-config.php добавляю строку define('WP_POST_REVISIONS', 3); (сделайте бэкап перед правкой - ошибка тут отключит сайт) - WordPress будет хранить не более трёх версий каждой страницы, а не бесконечное количество. На одном блоге о строительной технике с 400 статьями после этой настройки и чистки база уменьшилась с 180 МБ до 34 МБ, время ответа сервера сократилось на 0,3 секунды.

Отдельная тема - неиспользуемые плагины и темы. Деактивация не решает проблему: деактивированный плагин всё равно занимает место на сервере, а его таблицы остаются в базе. Полное удаление - через «Плагины» - «Удалить» - убирает и файлы, и (если плагин написан правильно) его данные из БД. Неиспользуемые темы удаляйте полностью, оставляйте только активную и одну резервную. Каждая лишняя тема - это файлы, которые WordPress проверяет при каждом запросе.

Гигиена сайта - это не разовая акция, а регулярная работа. Раз в месяц: чистка базы, проверка плагинов, удаление того, что не используется. Это занимает 15 минут и даёт накопительный эффект.

Итоги: с чего начать и что даст результат быстрее всего

За годы практики я выработал чёткий маршрут для ускорения загрузки любого WordPress-сайта. Он решает 80% проблем без глубокого технического погружения и без профессионального вмешательства.

  1. Измерьте текущее состояние. PageSpeed Insights и GTmetrix покажут реальную картину. Запишите баллы PSI (мобайл и десктоп) и время загрузки - это ваша точка отсчёта. Без замеров непонятно, работают ли ваши действия.
  2. Оптимизируйте изображения. Это один из лучших методов по соотношению усилий и результата: EWWW Image Optimizer или ShortPixel + конвертация в WebP + lazy load. Страниц с тяжёлыми картинками у большинства сайтов большинство, и именно здесь скрыт главный вес.
  3. Подключите кэш. WP Rocket для тех, кто готов заплатить, LiteSpeed Cache - если хостинг поддерживает. Кэширование даёт мгновенный прирост скорости загрузки для повторных посетителей и снижает нагрузку на сервер.
  4. Минифицируйте CSS и JS. Autoptimize или встроенные инструменты WP Rocket решают задачу за несколько кликов. Defer для некритичного JS - отдельный шаг, который улучшает LCP.
  5. Проверьте хостинг и PHP. Смените PHP на 8.2, если ещё не сделали. Если сайт на shared-хостинге с постоянными тормозами - это сигнал переходить на VPS. Cloudflare CDN можно подключить как бесплатный инструмент ускорения ещё до смены хостинга.
  6. Почистите базу данных. WP-Optimize, ограничение ревизий, удаление неиспользуемых плагинов и тем. Полчаса работы с накопительным эффектом на месяцы вперёд.

Первые три шага - изображения, кэш, минификация - дают ускорение загрузки на 40-60% на большинстве сайтов. Именно с них стоит начинать. WordPress при правильно подобранных и настроенных инструментах реально загружается за 1-2 секунды - это достижимо для большинства проектов, не только для лендингов.

В своей практике с 2013 года я видел сотни сайтов с баллами PSI от 8 до 30. После системной работы по этому маршруту большинство из них уходили в диапазон 60-85 баллов. Это не предел, но уже уровень, который перестаёт тормозить SEO и не отпугивает пользователей.

Проверьте свой сайт прямо сейчас через PageSpeed Insights. Если видите меньше 50 баллов на мобайле - у вас есть конкретная работа, которую можно сделать сегодня, используя один из плагинов из этой статьи.

Эта статья основана на личном опыте автора и актуальна на момент публикации. Интерфейсы сервисов и алгоритмы поисковых систем регулярно меняются - рекомендую проверять актуальность инструкций на официальных ресурсах. Если у вас остались вопросы - задайте их в комментариях.

Список литературы

  1. WordPress.org - Optimization / Advanced Administration Handbook // WordPress Developer Resources
  2. Google for Developers - About PageSpeed Insights // developers.google.com
  3. Google / web.dev - Lazy load images and iframe elements // web.dev, 2023
  4. WordPress Codex - WordPress Optimization / WordPress Performance // codex.wordpress.org
Поделитесь Вашим мнением
Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Еще записи из этой же рубрики

Что будем искать? Например,Хостинг

Минуту внимания
Мы используем файлы cookies, чтобы обеспечивать правильную работу нашего веб-сайта, а также работу функций социальных сетей и анализа сетевого трафика.