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

Белый экран и ошибка 500 в WordPress: как найти причину

WordPress · 29.09.2026

Белый экран без единой надписи или ошибка 500 при открытии сайта на WordPress означают одно: PHP упал ещё до того, как успел отдать HTML браузеру. Разбираем, как за 15 минут найти причину и вернуть сайт в рабочее состояние, не переустанавливая WordPress с нуля.

Что означает белый экран и ошибка 500 в WordPress

«Белый экран смерти» (White Screen of Death) появляется, когда PHP-скрипт завершился с фатальной ошибкой, а вывод ошибок на экран выключен — так настроено по умолчанию на боевых серверах. Ошибка 500 Internal Server Error — по сути то же самое, только сообщение формирует веб-сервер, а не сам WordPress.

Причины у обеих проблем почти всегда одни: конфликт плагина или темы после обновления, нехватка памяти PHP, повреждённый файл .htaccess или синтаксическая ошибка в коде после ручного редактирования functions.php. Первый шаг — включить логирование и посмотреть реальный текст ошибки, а не гадать.

Как включить журнал ошибок в wp-config.php

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

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

После этого WordPress перестанет показывать ошибку на экране посетителям, но запишет весь стек вызовов в файл wp-content/debug.log. Посмотреть последние строки лога можно командой:

# Показать последние 50 строк лога ошибок
tail -n 50 wp-content/debug.log

Ищите строку с PHP Fatal error — в ней указан файл и номер строки, где произошёл сбой. Обычно это путь внутри wp-content/plugins/ или wp-content/themes/.

Как найти виновника среди плагинов и тем

Если лог указывает на конкретный плагин — переименуйте его папку через FTP или файловый менеджер панели, например plugin-name в plugin-name-off. WordPress увидит, что файл плагина пропал, и автоматически отключит его без доступа к админке.

Быстрее сделать то же самое через WP-CLI, если он подключён на сервере:

# Отключить все плагины разом
wp plugin deactivate --all

# Включать плагины по одному, проверяя сайт после каждого
wp plugin activate plugin-name

Про остальные команды управления плагинами и темами из терминала — в статье WP-CLI: управление WordPress из командной строки. Если после отключения всех плагинов сайт заработал, проблема в одном из них — включайте по очереди, пока ошибка не вернётся.

Если дело не в плагинах, переключите тему на стандартную:

wp theme activate twentytwentyfour

Ошибка 500 из-за нехватки памяти PHP

Строка Allowed memory size of 134217728 bytes exhausted в логе означает, что скрипту не хватило лимита memory_limit. Значение 134217728 байт — это 128 МБ, стандартный лимит на многих тарифах. Поднять его можно в трёх местах, по порядку приоритета:

ФайлСтрокаКогда применять
wp-config.phpdefine( 'WP_MEMORY_LIMIT', '256M' );работает почти всегда, приоритет
.htaccessphp_value memory_limit 256Mтолько если PHP работает как модуль Apache
php.ini / панель хостингаmemory_limit = 256Mесли есть доступ к настройкам PHP в панели

256 МБ хватает большинству сайтов на WooCommerce и с тяжёлыми конструкторами страниц. Если после увеличения лимита ошибка не ушла, дело не в памяти, а в бесконечном цикле или рекурсии в коде плагина.

Проблемы с .htaccess и правами доступа

Ошибка 500 без записи в debug.log почти всегда означает повреждённый .htaccess. Переименуйте файл во что-то вроде .htaccess-old и зайдите на сайт заново:

# Временно отключить .htaccess
mv .htaccess .htaccess-old

Если сайт открылся, создайте новый файл, зайдя в админке в раздел «Настройки → Постоянные ссылки» и нажав «Сохранить изменения» — WordPress пересоздаст правила автоматически. Второй частый виновник — неверные права доступа. Правильные значения для WordPress:

# Права на папки — 755, на файлы — 644
find /var/www/site/public_html -type d -exec chmod 755 {} \;
find /var/www/site/public_html -type f -exec chmod 644 {} \;

Чек-лист диагностики белого экрана

Перед тем как звать техподдержку хостинга, пройдите по пунктам:

  • Включили WP_DEBUG_LOG и посмотрели wp-content/debug.log.
  • Отключили все плагины через FTP или WP-CLI и проверили сайт заново.
  • Переключили тему на стандартную (Twenty Twenty-Four).
  • Подняли memory_limit до 256М в wp-config.php.
  • Проверили .htaccess и права доступа 755/644.

Если делали резервную копию перед последним обновлением — часто быстрее откатиться, чем искать причину вручную; порядок восстановления описан в статье WordPress бэкап: UpdraftPlus и ручной метод. А чтобы белый экран не появлялся после каждого обновления плагинов, настройте безопасный процесс — он расписан в статье Безопасное обновление WordPress: порядок действий и откат.

← Назад в базу знаний Задать вопрос поддержке