Белый экран на самом деле является хорошей новостью
Когда WordPress показывает пустую белую страницу — иногда это называют Белым экраном смерти (WSOD) — это кажется катастрофой. Но почти всегда это можно исправить менее чем за 30 минут. Белый экран просто означает, что PHP аварийно завершил работу до того, как смог что-то отобразить. Причина почти всегда одна из пяти.
Шаг 1: Проверьте, проблема на фронтенде или в админке
Перейдите на yoursite.com/wp-admin.
- Админка загружается нормально → проблема в вашей теме
- Админка тоже пустая → это плагин или критическая ошибка PHP
- Админка показывает сообщение об ошибке → отлично, у вас есть с чем работать
Шаг 2: Включите режим отладки
WordPress скрывает ошибки по умолчанию. Откройте wp-config.php (в корне вашего сайта) и добавьте эти строки перед строкой "That's all, stop editing!":
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Теперь перезагрузите страницу с белым экраном. Затем проверьте wp-content/debug.log на наличие фактической ошибки.
Шаг 3: Самые распространенные причины
Причина 1: Конфликт плагинов
Временно переименуйте папку плагинов через FTP или файловый менеджер:
/wp-content/plugins → /wp-content/plugins-disabled
Перезагрузите сайт. Если он восстановился, значит у вас конфликт плагинов. Включайте плагины один за другим, чтобы найти тот, который ломает сайт.
Причина 2: Ошибка темы
Переключитесь на стандартную тему (Twenty Twenty-Three) через базу данных или FTP — переименуйте папку вашей активной темы:
/wp-content/themes/your-theme → /wp-content/themes/your-theme-broken
WordPress перейдет на тему по умолчанию.
Причина 3: Лимит памяти PHP
Добавьте это в wp-config.php:
define('WP_MEMORY_LIMIT', '256M');
Или добавьте это в .htaccess:
php_value memory_limit 256M
Причина 4: Поврежденные файлы ядра
Повторно загрузите чистые файлы ядра WordPress (скачайте с wordpress.org). Не трогайте wp-content или wp-config.php.
Причина 5: Несовместимость версии PHP
Ваш хост обновил PHP, и ваша тема или плагины несовместимы. Проверьте панель управления хостингом — попробуйте временно вернуться к предыдущей версии PHP.
Что вам скажет журнал отладки
Распространенные шаблоны ошибок:
| Ошибка | Причина |
|---|---|
Call to undefined function |
Плагин или тема вызывает удаленную функцию |
Allowed memory size exhausted |
Слишком малый лимит памяти |
Parse error: syntax error |
Кто-то редактировал PHP-файл и сломал синтаксис |
Class not found |
Отсутствует зависимость плагина или проблема с порядком загрузки |
Fatal error: Uncaught TypeError |
Проблема совместимости с PHP 8 |
Если ничего из этого не помогло
Если вы выполнили все шаги, но белый экран остался, журнал отладки (wp-content/debug.log) покажет точный файл и номер строки ошибки. Вот как действовать дальше самостоятельно:
- Откройте
debug.logи найдите строку, начинающуюся сPHP Fatal error. Там будет указан файл и строка (например,/wp-content/plugins/example-plugin/index.php на строке 42). - Если ошибка указывает на плагин — временно отключите этот плагин (через папку
plugins-disabledили через базу данных). Если на тему — переключитесь на стандартную тему. - Если ошибка связана с PHP 8 (например,
Uncaught TypeErrorилиDeprecated), попробуйте понизить версию PHP через панель хостинга (например, до 7.4). - Если проблема в базе данных (например,
Table '...' doesn't exist), войдите в phpMyAdmin, выберите базу данных и выполнитеCHECK TABLEдля всех таблиц; если найдутся ошибки, воспользуйтесьREPAIR TABLE.
Обычно этого достаточно, чтобы локализовать и исправить причину.
Если вы попробовали шаги выше и все еще не получилось (или не хотите делать это сами) — вот тогда мы можем помочь. Мы диагностируем и исправим ошибку. Получить помощь.