Web post
← К списку постов

HighLoad: WordPress & WooCommerce — особенности работы сайтов на высоких нагрузках

Опубликовано: 1 ноября 2025 г. в 20:22

Оригинал: https://wpcraft.ru/blog/highload-wordpress-woocommerce

Сайты про высокие нагрузки. Речь про WordPress & WooCommerce под высокой посещаемостью от 1 млн до +10 млн посетителей в день. Что делать? Кэширование страниц — от одного сервера до кластера…

Привет, друзья по WordPress! 😎 Ваш сайт начинает «тормозить» при наплыве посетителей?

Тысячи одновременных пользователей во время акций, вирусных постов или просто роста аудитории — это вызов!

Но есть супер-решение: кэширование страниц, которое превращает динамический WordPress в сверхбыстрый статический сайт.

Ключевой акцент сегодня:

  • Если у вас один сервер — используйте обычный файловый кэш страниц через плагин WP Super Cache. Это просто, бесплатно и работает локально на диске, без дополнительных сервисов. Идеально для старта!
  • Если кластер (несколько серверов) — переходите на кэш страниц через Redis. Централизованное хранение в памяти, синхронизированное для всех нод. Нет рассинхрона кэша — трафик растёт, скорость не падает!

Я добавлю максимум деталей по настройке: пошаговые инструкции, коды, скриншоты в уме (представьте 😄) и советы по тестированию. Всё для WP 6.6+ (на ноябрь 2025). Давайте сделаем ваш сайт молниеносным — TTFB <100 мс даже при 10k+ users!

Почему кэширование страниц спасает от highload?

  • Без кэша: Каждый визит стоит дорого — PHP-скрипты, 20–50 SQL-запросов к БД. Сервер «потеет» → TTFB 500+ мс, CPU 100%, сайт падает.
  • С кэшем: Готовая HTML-страница отдаётся мгновенно с веб-сервера (Nginx/Apache). Нагрузка уходит на 90%, все просто и быстро — посетители счастливы.
  • Обычный кэш (файлы): Для одного сервера — быстрое чтение с диска.
  • Redis-кэш: Для кластера — всё в RAM, доступно всем серверам. Плюс, легко масштабировать.

Если брать современный фронтенд типа NextJS & AstroJS — то они так и работают. Просто в WP это было давно, но мало кто про это знает.

Бонус: Добавьте CDN— кэш edge cache, глобальная скорость!

Вариант 1: Один сервер — WP Super Cache с обычным файловым кэшем

Подходит для простых виртуальных хостингов: (Beget, Sprinthost и т д). Трафик до 5000 посетителей в минуту. Более 1 000 000 посетителей в день. Хранение: страниц в /wp-content/cache/.

Подробная настройка шаг за шагом:

Установка плагина:

  • Зайдите в WP Dashboard → Плагины → Добавить новый.
  • Поиск: «WP Super Cache» (автор Automattic).
  • Установить → Активировать. (Занимает 1 минуту!)

Базовая активация (Easy Mode):

  • Перейдите в Настройки → WP Super Cache → вкладка «Easy».
  • Включите «Caching On» → «Update Status».
  • Готово! Плагин начнёт кэшировать страницы в файлах.

Продвинутый режим (Expert) для супер-скорости:

  • Вкладка «Advanced» → Поставьте галочку «Use mod_rewrite to serve cache files» (для Apache) или настройте вручную для Nginx.
  • Нажмите «Update Mod_Rewrite Rules» — плагин добавит правила в .htaccess (в корне WP)
  • Далее надо следовать инструкциям как написано — для apache & nginx разные настройки

Прелоад кэша (чтобы страницы были готовы заранее):

  • Вкладка «Preload» → «Preload all posts» → Установите интервал 720 минут (12 часов).
  • Нажмите «Refresh Cache» — плагин пройдётся по всем постам и создаст HTML-файлы.

Дополнительные настройки:

  • GZIP-сжатие: Advanced → «Compress pages» → Включить.
  • Исключения: Advanced → «Rejected URIs» → Добавьте /wp-admin/*, /cart/*, /checkout/* (для WooCommerce, чтобы корзина работала динамично).
  • CDN: Advanced → «CDN» → Введите URL (например, cdn.yoursite.com).

Тестирование:

  • Откройте сайт в инкогнито → F12 (DevTools) → Network → Заголовки: Ищите «X-WP-Super-Cache: Cache».
  • Команда в терминале: curl -I https://yoursite.com → «HIT» в комментариях.
  • Инструмент: GTmetrix или WebPageTest — TTFB <150 мс.

Эффект: На сервере с 1GB RAM — 1k RPS без лагов. Нагрузка CPU снижается ↓ с 90% до 15%!

Вариант 2: Кластер — Кэш страниц через Redis

Подходит для кластеров: Load Balancer + 2–10 серверов (Бегет, Яндекс Облако, Cloud.ru). Трафик 5k+ посетителей в минуту. Более 5 000 000 посетителей в день. Хранение: в Redis (RAM, централизованно).

Вот плагин: RunCloud Hub (включает Redis Full-Page Cache).

  • Где взять: Поиск в WP Dashboard: «RunCloud Hub».
  • Почему лучший для кластера: Полный page cache в твоём Redis (централизованно, синхрон для всех серверов). Работает с кластером Redis, WooCommerce, авто-пурдж. TTFB <40 мс, 100k+ users. Бесплатно!

Настройка в 4 шага (Redis уже есть!):

Установи плагин:

WP Dashboard → Плагины → Добавить «RunCloud Hub» → Активировать.

Подключи Redis в wp-config.php (на всех серверах кластера):

phpdefine('WP_CACHE', true);

define('WP_REDIS_HOST', 'ip-вашего-redis');

define('WP_REDIS_PORT', 6379);

define('WP_REDIS_PASSWORD', 'пароль-если-есть');

Включи в плагине

Настройки → RunCloud Hub → «Redis Full-Page Cache» → Включи.

  • Прелоад: Кнопка «Preload Cache».
  • Исключения: Добавь /cart/*, /checkout/* для Woo.
Тестируй

Открой сайт → DevTools → Headers: «X-RunCloud-SRCache: HIT». Flush: Кнопка «Purge Cache». Нагрузка: 1000 users — держит!

Готово! Кэш в Redis — одинаковый для всего кластера. Нет кода, UI в админке.

Сравнение в таблице

ПараметрОдин сервер (Файлы)Кластер (Redis)
ХранениеДиск (/cache)RAM (Redis)
СинхронизацияНе нужнаАвто
TTFB50–150 мс<50 мс
Нагрузка в минутуДо 5k users50k+ users
Время настройки15 мин1–2 часа
Стоимость$33$50–100/мес (Redis VPS)

Итог и roadmap

  1. Один сервер? WP Super Cache — включите Expert и прелоад.
  2. Кластер? Redis + кастом advanced-cache.php.
  3. Всегда: Тестируйте на staging, мониторьте New Relic или Kinsta APM.
  4. Проблемы? Комментируйте — помогу с вашим конфигом!

WP на таком setup выдержит Black Friday! Поделитесь трафиком в комментах. Лайк, репост — и до встречи в следующем посте про WordPress & WooCommerce highload! 🚀

Что думаете — один сервер или пора в кластер? 😊