К основному содержимому

Ускорение WordPress: кэш, изображения и CDN

Хостинг и cPanel · 15.09.2025 · 4 мин чтения
Иллюстрация к статье «Ускорение WordPress: кэш, изображения и CDN»

Медленный WordPress теряет посетителей и позиции в Google. Быстрый сайт начинается с NVMe-хостинга и правильной настройки кэширования.

1. Кэширование страниц

Установите плагин кэширования — это самое важное улучшение:

  • WP Rocket — лучший (платный, $59/год). Включает всё из коробки
  • LiteSpeed Cache — бесплатный, идеально на LiteSpeed-серверах
  • W3 Total Cache — бесплатный, гибкая настройка

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

# Конвертация в WebP через плагин:
# ShortPixel, Imagify, или WebP Express

# Или через командную строку:
sudo apt install webp
cwebp -q 85 image.jpg -o image.webp

Дополнительно:

  • Установите плагин Smush или ShortPixel для сжатия без потери качества
  • Добавьте атрибут loading="lazy" — WP 5.5+ делает это автоматически
  • Используйте правильные размеры: не загружайте 4000px для миниатюры 300px

3. Минификация CSS и JS

В WP Rocket: включите Minify CSS files и Minify JavaScript files.

Бесплатная альтернатива — плагин Autoptimize.

4. Cloudflare CDN (бесплатно)

  1. Зарегистрируйтесь на cloudflare.com
  2. Добавьте домен → Cloudflare выдаст NS-серверы
  3. Замените NS в настройках домена у регистратора
  4. Включите Caching → Caching Level: Standard

5. PHP 8.2 вместо 7.4

В cPanel → Версии PHP переключите на PHP 8.2. Прирост производительности — до 30%.

Результаты оптимизации

До оптимизацииПосле оптимизации
LCP: 4.8sLCP: 1.2s
PageSpeed: 42PageSpeed: 91
Размер страницы: 3.2 MBРазмер страницы: 0.8 MB
✅ На хостинге ZevsHost Pro (NVMe SSD) WordPress работает в 3× быстрее по сравнению с обычным SSD-хостингом. TTFB менее 100ms.

Частые ошибки при ускорении WordPress

Агрессивная оптимизация без понимания причины чаще ломает сайт, чем ускоряет его. Разберём типичные ошибки.

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /wp-includes/class-wp-image-editor-imagick.php on line 226

Эта ошибка появляется при массовой регенерации миниатюр или конвертации в WebP через wp media regenerate либо плагин ShortPixel: PHP упирается в лимит memory_limit (обычно 256 МБ на хостинге), обрабатывая крупные исходники. Решение — поднять лимит в php.ini до 512M на время конвертации или обрабатывать изображения партиями по 50–100 файлов.

Invalid command 'AddOutputFilterByType', perhaps misspelled or defined by a module not included in the server configuration

Такая запись в логах Apache означает, что модуль mod_deflate не подключён на сервере, а правило в .htaccess уже добавлено. Без <IfModule mod_deflate.c> сайт упадёт с 500-й ошибкой сразу после сохранения файла — оборачивайте директивы сжатия в проверку модуля, как в примере выше.

Сравнение кэширующих плагинов

ПлагинСтоимостьНастройкаКэш на LiteSpeedСложность
WP Rocket$59/годАвтоматическаяНетНизкая
LiteSpeed CacheБесплатноЧастичнаяДаСредняя
W3 Total CacheБесплатноРучнаяНетВысокая

LiteSpeed Cache даёт максимум только на серверах с веб-сервером LiteSpeed — на Apache или Nginx часть функций (например, ESI) недоступна, и разница с W3 Total Cache стирается.

Когда ускорение не даст эффекта

Кэш страниц не спасает интернет-магазин на WooCommerce: страницы корзины, оформления заказа и личного кабинета всегда динамические и не кэшируются полностью — для них нужен объектный кэш вроде Redis для WordPress, а не только плагин кэширования страниц. Если TTFB выше 600 мс уже на пустой странице без плагинов — проблема не в WordPress, а в перегруженном тарифе хостинга или медленном диске; кэш ускорит повторные визиты, но не решит первопричину. Плагины-конструкторы страниц (Elementor, Divi) добавляют собственный CSS/JS на каждый запрос — минификация уменьшит размер файлов, но не количество запросов к серверу.

Как проверить результат

Одного PageSpeed Insights недостаточно — он показывает Lab Data (один прогон) и Field Data (реальные визиты за 28 дней), которые могут расходиться. Проверяйте оба показателя и TTFB напрямую:

curl -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://example.com/
curl -I https://example.com/ | grep -i "cache\|content-encoding"

В заголовках ищите Content-Encoding: gzip или br и признаки кэша (X-Cache: HIT, cf-cache-status: HIT). Если после включения плагина заголовки не изменились — кэш не активировался, проверьте конфликт с другим плагином кэширования или настройками Cloudflare.

На тарифах с общим процессором соседние сайты создают периодические скачки нагрузки, которые кэш страниц не сглаживает, — здесь помогает переход на тариф с гарантированными ресурсами, а не ещё один плагин. Итог по порядку действий: сначала устраняют первопричину замедления (тяжёлые плагины, устаревшая версия PHP, отсутствие кэша вообще), и только затем подключают CDN и минификацию — в обратном порядке эффект будет заметно слабее и держаться недолго.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке