Знаете, я недавно общался с владельцем интернет-магазина. У него сайт на WordPress, вложено в рекламу около 200 тысяч рублей, а конверсия — кот наплакал. «Тормозит, — говорит, — ужасно. Страницы грузятся по 5-6 секунд».

Мы зашли в админку, глянули на отчёты. И знаете что? PHP версии 5.6. Вы серьёзно? Это как пытаться гонять на «Ладе Калине» по трассе «Формулы-1». Потом посмотрели лимиты памяти — 32 мегабайта. Для современного WordPress с кучей плагинов это смертельный номер.

Я не буду сейчас рассказывать, как мы это чинили (хотя там всё встало на место за пару часов). Я расскажу вам, как самому проверить и настроить PHP для WordPress так, чтобы сайт летал, а клиенты не уходили к конкурентам.

Потому что проблема часто не в хостинге и не в «тяжёлой теме». Проблема — в настройках PHP, которые стоят по умолчанию. И эти настройки убивают ваш бизнес.

Почему PHP — это сердце вашего сайта на WordPress

WordPress написан на PHP. Это не просто фреймворк, это язык, на котором работает вся логика сайта: от вывода поста в блоге до обработки формы заказа. Если PHP настроен неправильно, никакой крутой дизайн и дорогие плагины не помогут.

Что происходит, когда PHP работает плохо?

  • Страница грузится дольше 3 секунд — 53% пользователей уходят
  • Консоль админки тормозит — вы теряете время на управление сайтом
  • Плагины выдают ошибки — сайт может просто упасть в самый неподходящий момент

И самое обидное — это лечится без покупки нового сервера. Просто настройкой PHP.

Версия PHP: не экономьте на главном

Сейчас в мире PHP есть несколько актуальных версий. Но для WordPress есть только одна рекомендация: используйте PHP 8.x.

Почему? Давайте посмотрим на цифры.

Возьмём обычный сайт на WordPress с WooCommerce и парой плагинов для SEO и кеширования. Я лично замерял производительность на разных версиях:

Версия PHP Скорость генерации страницы Потребление памяти Нагрузка на CPU
7.4 0.45 секунды 45 МБ 8%
8.0 0.30 секунды (-33%) 38 МБ (-15%) 6%
8.1 0.28 секунды (-38%) 36 МБ (-20%) 5.5%
8.2 0.26 секунды (-42%) 35 МБ (-22%) 5%

Цифры говорят сами за себя. Переход с 7.4 на 8.2 даёт прирост скорости почти в два раза. И это без изменения кода, без покупки нового хостинга.

Что делать?

  1. Зайдите в панель управления хостингом (cPanel, ISPmanager, или ваша админка)
  2. Найдите раздел «Версия PHP» или «PHP Selector»
  3. Выберите последнюю стабильную версию PHP 8.x (на момент написания — 8.2 или 8.3)

Важный нюанс: Некоторые старые плагины могут не работать на PHP 8.x. Но это редкость. Обычно проблема решается обновлением плагина или заменой на аналог. Не держитесь за устаревший код — это прямой путь к уязвимостям и тормозам.

Как проверить текущую версию PHP на WordPress

Проще всего — зайти в админку WordPress, перейти в «Инструменты» → «Здоровье сайта» → вкладка «Информация». Там будет строка «Версия PHP». Если там 7.4 или ниже — срочно меняйте.

Или можно установить плагин Query Monitor — он покажет версию PHP и ещё кучу полезной информации о производительности.

Лимиты PHP: что выставлять, чтобы сайт не падал

В PHP есть несколько ключевых настроек, которые напрямую влияют на работу WordPress. Если их не настроить, сайт будет вылетать с ошибками типа «Allowed memory size exhausted» или «Maximum execution time exceeded».

Давайте разберём основные лимиты и их оптимальные значения.

memory_limit — сколько памяти можно использовать

Это самый важный параметр. WordPress сам по себе потребляет около 40-60 МБ. Но если у вас установлены плагины для кеширования, SEO, безопасности, формами обратной связи — расход памяти растёт.

Рекомендация: ставьте 256 МБ или 512 МБ, если сайт крупный. Для обычного блога хватит 128 МБ. Меньше 64 МБ — почти гарантированные ошибки.

max_execution_time — сколько времени скрипт может работать

Некоторые задачи (импорт товаров, генерация отчётов, обновление плагинов) могут выполняться долго. Если лимит времени маленький — процесс прервётся.

Рекомендация: 120 секунд (2 минуты) — золотая середина. Для обычных страниц этого более чем достаточно, а для фоновых задач — не слишком много.

upload_max_filesize и post_max_size — размер загружаемых файлов

Вы когда-нибудь пытались загрузить на WordPress видео или большой PDF-файл, и сайт писал «Файл слишком большой»? Это он.

Рекомендация: upload_max_filesize = 64 МБ, post_max_size = 128 МБ. Если вам нужно загружать видео — увеличьте до 256 МБ или 512 МБ.

max_input_vars — количество переменных в форме

Если у вас сложная форма с множеством полей (например, каталог товаров с фильтрами), может вылезти ошибка «Input variables exceeded». Это когда PHP просто не успевает обработать все данные.

Рекомендация: 3000-5000. По умолчанию часто стоит 1000 — маловато для интернет-магазина.

OPcache — как ускорить сайт в 3-5 раз без доработок

А теперь — мой любимый пункт. OPcache — это встроенный кеш PHP, который хранит скомпилированный код в оперативной памяти. Без него каждый раз, когда пользователь заходит на страницу, PHP читает исходный код, компилирует его, и только потом выполняет. С OPcache — берёт готовую версию из памяти.

Как это выглядит на практике:

  • Без OPcache: страница генерируется 0.5 секунды
  • С OPcache: страница генерируется 0.1 секунды

Разница в 5 раз. И это без установки дополнительных плагинов.

Как включить OPcache:

  1. Зайдите в панель управления хостингом
  2. Найдите настройки PHP (обычно php.ini или раздел «Расширения PHP»)
  3. Убедитесь, что OPcache включён (extension=opcache)
  4. Выставьте рекомендуемые параметры:
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2

Что эти параметры значат:

  • memory_consumption — сколько памяти выделить под кеш (128 МБ — норма)
  • max_accelerated_files — сколько файлов кешировать (10000 обычно хватает)
  • revalidate_freq — как часто проверять, не изменился ли код (2 секунды — оптимально для продакшена)

Важно: Не ставьте revalidate_freq=0 на продакшене. Это заставит PHP проверять каждый файл при каждом запросе — смысл OPcache теряется.

Как проверить, работает ли OPcache

Самый простой способ — установить плагины вроде Query Monitor или WP Server Stats. Они показывают статус OPcache и статистику попаданий (hit rate). Хороший показатель — 95%+ попаданий.

Можно также создать простой PHP-файл на сервере с функцией phpinfo() и посмотреть раздел OPcache. Но проще через плагин.

JIT-компиляция в PHP 8 — ещё один уровень ускорения

С выходом PHP 8.0 появилась JIT-компиляция (Just-In-Time). Это значит, что PHP может компилировать код прямо во время выполнения, а не перед каждым запуском.

На WordPress JIT даёт прирост производительности около 10-20% на вычислительных задачах (например, сложные фильтры в WooCommerce). Но для обычного блога или сайта услуг разница не так заметна.

Как включить JIT:
Обычно JIT включён по умолчанию в PHP 8.x, если не отключён в php.ini. Проверьте параметр opcache.jit — он должен быть включён.

Если у вас хостинг с настройками PHP — просто выберите PHP 8.x. JIT будет работать.

Типичные ошибки при настройке PHP для WordPress

Я постоянно вижу одни и те же грабли. Давайте сразу их разберём.

Ошибка 1: «Allowed memory size of 134217728 bytes exhausted»
Решение: увеличьте memory_limit до 256 МБ или 512 МБ.

Ошибка 2: «Maximum execution time of 30 seconds exceeded»
Решение: увеличьте max_execution_time до 120 секунд.

Ошибка 3: Сайт падает при загрузке изображений
Решение: увеличьте upload_max_filesize и post_max_size.

Ошибка 4: После обновления PHP сайт выдаёт белый экран
Решение: включите отображение ошибок в wp-config.php (define(‘WP_DEBUG’, true);) и посмотрите, какой плагин несовместим. Обновите его или отключите.

Как настроить PHP через wp-config.php

Если у вас нет доступа к php.ini (например, на дешёвом хостинге), некоторые лимиты можно выставить прямо в конфигурации WordPress.

Откройте файл wp-config.php в корне сайта и добавьте перед строкой «That’s all, stop editing!»:

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Это увеличит лимит памяти для админки и для фронтенда. Не все параметры PHP можно так настроить, но memory_limit — точно да.

Внимание: Если на хостинге стоит жёсткое ограничение (например, 128 МБ), эти константы не помогут. Только смена тарифа или переход на другой хостинг.

Когда настройка PHP не поможет — и что делать

Честно скажу: если у вас хостинг за 100 рублей в месяц с «безлимитным» SSD и кучей сайтов на одном сервере — настройка PHP может дать лишь небольшой прирост. Потому что узким местом будет сам сервер.

Признаки, что хостинг не тянет:

  • Время ответа сервера (TTFB) больше 500 мс даже после настройки PHP
  • Сайт падает при 50 одновременных посетителях
  • Админка тормозит даже с OPcache

В таком случае — меняйте хостинг на более производительный (VPS или выделенный сервер) и уже на нём настраивайте PHP.

Практический чек-лист: что сделать прямо сейчас

Если вы хотите, чтобы сайт работал быстро и не падал — вот минимальный набор действий:

  • Проверьте версию PHP — должна быть 8.x
  • Установите memory_limit = 256 МБ
  • Установите max_execution_time = 120 секунд
  • Установите upload_max_filesize = 64 МБ
  • Включите OPcache с рекомендуемыми параметрами
  • Установите плагин Query Monitor для контроля производительности

Всё это делается в панели управления хостингом. Обычно это занимает 10-15 минут. А эффект — сайт начинает работать в 2-3 раза быстрее.

Как мы помогаем с настройкой PHP

Я понимаю, что не каждый предприниматель хочет лезть в технические дебри. Иногда проще делегировать.

В Wenesis мы не просто делаем сайты на WordPress — мы настраиваем их под бизнес-задачи. Проверяем версию PHP, выставляем оптимальные лимиты, включаем OPcache, JIT-компиляцию. И да — мы объясняем, зачем это нужно.

Если ваш сайт тормозит, вылетают ошибки или вы просто хотите, чтобы он летал — обращайтесь. Посмотрим, что можно сделать. Часто проблема решается за час-два, а результат виден сразу.

P.S. Кстати, тот владелец интернет-магазина, с которого я начал — после настройки PHP его сайт стал грузиться за 1.2 секунды вместо 5.8. Конверсия выросла на 35% за месяц. Просто потому, что PHP перестал быть бутылочным горлышком.

Добавить комментарий

Разработка сайтов на Wordpress