Белый экран смерти WordPress: 7 проверенных способов исправить ошибку

Вы заходите на свой сайт, а вместо привычного интерфейса видите абсолютно пустую белую страницу? Без сообщений об ошибке, без кода, без намека на проблему. Поздравляем, вы столкнулись с классическим белым экраном смерти WordPress (White Screen of Death или WSOD).

Эта ошибка пугает новичков, но на практике она решается в 90% случаев за 10–15 минут. В этом руководстве мы разберем 7 конкретных причин и способы их устранения — от самых частых до более сложных.

Почему возникает белый экран?

Белый экран означает, что PHP-скрипт перестал выполняться, но не вывел сообщение об ошибке. Чаще всего это происходит из-за:

  • Конфликта плагинов или темы
  • Нехватки оперативной памяти (memory_limit)
  • Синтаксической ошибки в коде
  • Поврежденного файла .htaccess
  • Проблем с базой данных

⚠️ Важно: Перед любыми действиями сделайте резервную копию сайта!

Способ 1: Отключение плагинов через FTP (самая частая причина)

Около 60% случаев WSOD вызваны конфликтом плагинов. Поскольку админка недоступна, отключаем их через файловый менеджер.

Пошаговая инструкция:

  1. Подключитесь к сайту через FTP (FileZilla) или файловый менеджер хостинга
  2. Перейдите в папку /wp-content/
  3. Переименуйте папку plugins в plugins_old
  4. Обновите сайт в браузере

Если сайт заработал: проблема точно в плагине. Верните имя папки обратно и переименовывайте каждую подпапку плагина по одной, пока не найдете виновника.

# Структура папок для поиска проблемного плагина
/wp-content/plugins/
├── akismet/          ← переименуйте в akismet_off
├── elementor/        ← затем этот
├── woocommerce/      ← затем этот
└── ...

Способ 2: Смена темы на стандартную

Если отключение плагинов не помогло, возможно, проблема в активной теме.

  1. Через FTP перейдите в /wp-content/themes/
  2. Переименуйте папку вашей активной темы (например, my-thememy-theme_off)
  3. WordPress автоматически активирует стандартную тему (Twenty Twenty-Five)
  4. Проверьте сайт

Если сайт ожил: обновите или замените вашу тему. Проверьте, совместима ли она с текущей версией WordPress и PHP.

Способ 3: Увеличение лимита памяти PHP

Тяжелые плагины и темы могут превышать выделенный лимит памяти. По умолчанию WordPress выделяет 40MB, чего часто недостаточно.

Добавьте этот код в wp-config.php:

// Добавьте ПЕРЕД строкой "That's all, stop editing!"
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' ); // Для админки

Также проверьте настройки на хостинге — иногда лимит устанавливается на уровне сервера и не может быть изменен через wp-config.php.

Способ 4: Включение режима отладки WP_DEBUG

Белый экран молчит, но режим отладки заставит WordPress показать реальную ошибку.

// В файле wp-config.php найдите:
define( 'WP_DEBUG', false );

// Замените на:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );      // Логирует ошибки в файл
define( 'WP_DEBUG_DISPLAY', true );  // Показывает ошибки на экране
@ini_set( 'display_errors', 1 );

После включения обновите страницу — вы увидите конкретное сообщение об ошибке с указанием файла и строки. Не забудьте отключить debug после решения проблемы!

Способ 5: Проверка файла .htaccess

Поврежденный .htaccess может полностью блокировать доступ к сайту.

  1. Через FTP переименуйте .htaccess в .htaccess_backup
  2. Проверьте сайт
  3. Если заработал — создайте новый .htaccess через Настройки → Постоянные ссылки → Сохранить

Способ 6: Исправление проблем с базой данных

Поврежденные таблицы БД также вызывают WSOD.

Быстрое решение через wp-config.php:

// Добавьте временно:
define( 'WP_ALLOW_REPAIR', true );

Затем перейдите по адресу: https://custom-code.ru/wp-admin/maint/repair.php

Нажмите «Исправить базу данных». После завершения обязательно удалите эту строку из конфига!

Способ 7: Проверка синтаксиса PHP-кода

Если вы недавно редактировали functions.php или другой PHP-файл, возможно, допустили синтаксическую ошибку.

Проверьте последние измененные файлы через FTP. Частые ошибки:

  • Пропущенная точка с запятой ;
  • Незакрытые скобки { } или ( )
  • Некорректная кодировка файла (должна быть UTF-8 без BOM)

Как предотвратить белый экран в будущем

  • Всегда делайте бэкапы перед обновлениями
  • Тестируйте новые плагины на staging-копии
  • Обновляйте WordPress, темы и плагины регулярно
  • Используйте мониторинг доступности (UptimeRobot)
  • Не редактируйте функции напрямую — используйте дочернюю тему

Что делать, если ничего не помогло?

Влияние ресурсов хостинга

Если на сервере перегружен CPU/RAM или произошёл аппаратный сбой, сайт может падать без видимых причин в коде. Проверьте статус-страницу хостера, метрики нагрузки в панели управления или напишите в поддержку с просьбой проверить логи сервера.

Белый экран только в админке

Если фронтенд работает, а /wp-admin/ показывает WSOD, проблема почти всегда в плагине, влияющем на бэкенд. Примените Способ 1, но фокусируйтесь на плагинах безопасности, кэширования и оптимизации админки.

Диагностика производительности после фикса

Если после устранения белого экрана сайт стал работать медленнее, вероятно, один из плагинов вызывает утечку памяти или избыточные запросы к БД. Установите Query Monitor и проверьте вкладку «Queries by Component» и «Memory Usage».

Если вы используете Docker для WordPress и контейнер падает с кодом 137, читайте наше полное руководство по устранению OOMKilled.

Оставить комментарий