Доступен — Локальные цифровые продукты
HCA · Studio
TR Контакты ↗
Заметка 05 · Производительность

Четыре вмешательства, которые реально ускоряют WordPress

Установка плагина скорости поднимает баллы на большинстве сайтов, но редко сокращает время загрузки так, как ожидается. Реальный выигрыш в четырёх местах: формат изображений, элемент LCP, сдвиг макета и сторонние запросы.

Фокус
Реальное время загрузки
Охват
WordPress + статика
Метрика
Core Web Vitals
Короткий ответ

Основной измеримый выигрыш в WordPress даёт четыре вмешательства: (1) серверная конвертация изображений в WebP — на большинстве сайтов крупнейшая статья; (2) объявление крупнейшего изображения первого экрана (элемента LCP) через preload и исключение его из ленивой загрузки; (3) устранение сдвига макета (CLS) заданием явных размеров изображениям и логотипу; (4) перенос сторонних запросов вроде Google Fonts на свой сервер. Установка плагина этого не заменяет.

Сначала измерение

До оптимизации нужно знать, что именно замедляет сайт, иначе часы уйдут не туда.

Практический способ: откройте вкладку «Сеть» в инструментах разработчика, отключите кэш и загрузите страницу. Затем ответьте на два вопроса:

  • Какой процент общего веса — изображения? На большинстве сайтов WordPress ответ выше 70%.
  • Какой самый крупный элемент виден на первом экране и когда он приходит? Это ваш элемент LCP.

1. Перевести изображения в WebP

Это крупнейший выигрыш почти на любом сайте и самый часто пропускаемый шаг.

Типичная папка загрузок WordPress годами разрастается неоптимизированными JPEG и PNG. В реальном случае папка изображений кофейни уменьшилась примерно со 147 МБ до 10 МБ — только за счёт смены формата, без видимой потери качества.

  • Существующие изображения конвертируются массово. Папка загрузок сканируется на сервере через Imagick или аналог, создаются копии WebP.
  • Новые загрузки конвертируются автоматически. Иначе папка снова разрастётся за несколько месяцев.

На что обратить внимание: не удаляйте оригиналы сразу, проверьте сохранение прозрачности у PNG и обязательно посмотрите на сайт глазами после конвертации. Чрезмерное сжатие стоит дороже сэкономленной секунды.

2. Предзагрузить элемент LCP

Largest Contentful Paint измеряет момент отрисовки крупнейшего элемента первого экрана. Обычно это hero-изображение, и проблема в том, что браузер узнаёт о нём только после загрузки и обработки CSS.

<link rel="preload" as="image"
      href="/uploads/2026/hero.webp"
      fetchpriority="high" />
  • Ленивая загрузка LCP-изображения. loading="lazy" на изображении первого экрана не улучшает LCP, а прямо ухудшает. Ленивая загрузка — только для изображений ниже сгиба.
  • Предзагрузка всего подряд. Preload — это подсказка о приоритете; если приоритет у всего, его нет ни у чего. Одного элемента на страницу достаточно, максимум двух.

Элемент LCP не одинаков на всех страницах: на главной это hero, на карточке товара — фото, в статье — блок текста. Если это текст, предзагружать нечего — работа переходит к шрифтам.

3. Устранить сдвиг макета

Cumulative Layout Shift измеряет «прыжки» контента при загрузке. С точки зрения пользователя это самое раздражающее поведение: строка, которую вы начали читать, уезжает, кнопка сдвигается.

Причина почти всегда одна: браузер заранее не знает, сколько места займёт элемент.

  • Изображения без размеров. У каждого <img> должны быть width и height: браузер выведет пропорцию и зарезервирует место.
  • Логотип в шапке. Его упускают из-за размера, но он стоит вверху и сдвигает всё под собой. На реальном сайте один только логотип без размеров вызывал заметный прыжок всей страницы.
  • Смена шрифта. Если запасной и основной шрифты разной ширины, текст переверстывается. font-display: swap и близкий по метрикам запасной набор это уменьшают.

4. Перенести шрифты к себе

Страница с Google Fonts подключается минимум к двум внешним серверам: fonts.googleapis.com за стилями и fonts.gstatic.com за файлами. Каждое новое соединение — это DNS-запрос, TCP-рукопожатие и TLS-согласование.

  1. Возьмите CSS, который отдаёт Google (откройте адрес в браузере).
  2. Скачайте все файлы woff2 и положите к себе.
  3. Перенесите правила @font-face в свой стиль дословно — сохраните строки unicode-range.
  4. Замените пути на свои и предзагрузите шрифты первого экрана.

Пропуск unicode-range — частая ошибка. Эти строки говорят браузеру, какой файл покрывает какой диапазон символов; без них браузер скачивает алфавиты, которые ему не нужны. Для кириллицы и турецкого это особенно важно: нужные диапазоны лежат в отдельных файлах, и без них буквы отрисуются запасным шрифтом.

Осторожно: не платите за скорость продажами

Самое опасное в оптимизации — улучшая измеряемое, сломать неизмеряемое.

Частый пример: плагин скорости откладывает весь JavaScript. Баллы растут, страница кажется быстрой — а блочное оформление WooCommerce перестаёт работать, и клиент видит «ваша корзина пуста». Подробности и решение — в отдельной заметке.

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

Итог

Порядок ясен: сначала WebP, затем предзагрузка элемента LCP и исключение его из ленивой загрузки, затем размеры у изображений, и в конце — перенос сторонних запросов к себе.

После этих четырёх вклад плагина скорости измерим, но невелик. Установленный до них, он в основном украшает баллы и мало меняет опыт.

Порядок приоритетов
1. Изображения
Серверная конвертация в WebP + автоконвертация новых загрузок
2. LCP
Предзагрузить крупное изображение первого экрана, исключить из ленивой загрузки
3. CLS
width/height у каждого img — включая логотип
4. Шрифты
Перенести к себе; сохранить unicode-range
Измерение
Вкладка «Сеть»: доля изображений в весе и какой элемент является LCP
Ловушка
Сплошной defer ломает платёжный сценарий — баллы вверх, продажи вниз
Проверка
Тестируйте сценарий, а не баллы: корзина → оформление → форма
Частые вопросы

Об оптимизации скорости.

Разве недостаточно установить плагин скорости?

Обычно нет. Плагины делают кэширование, сжатие и объединение — это полезно, но они не исправляют неоптимизированные изображения, составляющие большую часть веса, неверно помеченный элемент LCP и изображения без размеров. Установленный до этих четырёх шагов плагин в основном украшает баллы.

Портит ли конвертация в WebP качество?

При разумных настройках — незаметно. В реальной установке папка изображений уменьшилась примерно со 147 МБ до 10 МБ без видимой потери качества. Следите за тремя вещами: не удаляйте оригиналы сразу, проверьте прозрачность PNG и осмотрите сайт после конвертации.

Станет ли быстрее, если добавить ленивую загрузку LCP-изображению?

Нет, наоборот. loading="lazy" на изображении первого экрана заставляет браузер запросить его позже и напрямую ухудшает LCP. Ленивая загрузка верна только для изображений ниже сгиба; элемент LCP, напротив, следует предзагружать.

Стоит ли переносить шрифты вместо Google Fonts?

Да, это измеримый выигрыш: исчезают два внешних соединения. При переносе копируйте правила @font-face дословно и сохраняйте строки unicode-range — иначе браузер скачает лишние алфавиты, а нужные буквы могут отрисоваться запасным шрифтом.

Доступность и смета

Виден в локальном поиске.
Убедителен в продукте.