Вы заходите на свой сайт, а вместо привычного интерфейса видите абсолютно пустую белую страницу? Без сообщений об ошибке, без кода, без намека на проблему. Поздравляем, вы столкнулись с классическим белым экраном смерти WordPress (White Screen of Death или WSOD).
Эта ошибка пугает новичков, но на практике она решается в 90% случаев за 10–15 минут. В этом руководстве мы разберем 7 конкретных причин и способы их устранения — от самых частых до более сложных.
Почему возникает белый экран?
Белый экран означает, что PHP-скрипт перестал выполняться, но не вывел сообщение об ошибке. Чаще всего это происходит из-за:
- Конфликта плагинов или темы
- Нехватки оперативной памяти (memory_limit)
- Синтаксической ошибки в коде
- Поврежденного файла .htaccess
- Проблем с базой данных
⚠️ Важно: Перед любыми действиями сделайте резервную копию сайта!
Способ 1: Отключение плагинов через FTP (самая частая причина)
Около 60% случаев WSOD вызваны конфликтом плагинов. Поскольку админка недоступна, отключаем их через файловый менеджер.
Пошаговая инструкция:
- Подключитесь к сайту через FTP (FileZilla) или файловый менеджер хостинга
- Перейдите в папку
/wp-content/ - Переименуйте папку
pluginsвplugins_old - Обновите сайт в браузере
Если сайт заработал: проблема точно в плагине. Верните имя папки обратно и переименовывайте каждую подпапку плагина по одной, пока не найдете виновника.
# Структура папок для поиска проблемного плагина
/wp-content/plugins/
├── akismet/ ← переименуйте в akismet_off
├── elementor/ ← затем этот
├── woocommerce/ ← затем этот
└── ...
Способ 2: Смена темы на стандартную
Если отключение плагинов не помогло, возможно, проблема в активной теме.
- Через FTP перейдите в
/wp-content/themes/ - Переименуйте папку вашей активной темы (например,
my-theme→my-theme_off) - WordPress автоматически активирует стандартную тему (Twenty Twenty-Five)
- Проверьте сайт
Если сайт ожил: обновите или замените вашу тему. Проверьте, совместима ли она с текущей версией 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 может полностью блокировать доступ к сайту.
- Через FTP переименуйте
.htaccessв.htaccess_backup - Проверьте сайт
- Если заработал — создайте новый .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.