EL-Script

General IT knowledge base

Белый экран WordPress без ошибки: причины и решение

Белый экран WordPress: причины, быстрая диагностика, безопасные проверки и порядок действий без лишнего риска.

Коротко: Белый экран WordPress чаще всего вызван фатальной ошибкой PHP, которая подавляется настройками сервера. Чтобы увидеть текст ошибки, включите режим отладки в файле wp-config.php. Затем поочередно отключайте плагины, переключайтесь на стандартную тему, увеличивайте лимит памяти, проверяйте .htaccess и загружайте свежие файлы ядра. После каждого действия очищайте кеш браузера и проверяйте результат.

Когда WordPress показывает белый экран без какого-либо сообщения об ошибке, это может поставить в тупик даже опытного пользователя. Такое явление называют «белый экран смерти» (WSOD), и оно сигнализирует о критической PHP-ошибке, которая прерывает выполнение скрипта до того, как будет выведено содержимое. В отличие от ошибки с кодом 500, здесь сервер может возвращать статус 200, а экран остается пустым.

Что понадобится

  • Доступ к файловой системе сайта (FTP, SFTP или файловый менеджер хостинга)
  • Возможность редактировать файлы wp-config.php, .htaccess
  • Доступ к журналу ошибок сервера (error_log) или панели хостинга
  • Резервная копия сайта на случай отката изменений (рекомендуется)

Что такое белый экран смерти (WSOD) в WordPress

White screen of death (WSOD) в WordPress — это полное отсутствие вывода на экране при обращении к сайту. Чаще всего страница полностью белая, без признаков работы, а в админ-панели может наблюдаться такая же ситуация. Ошибка вызвана остановкой PHP-скрипта на этапе обработки из-за фатальной ошибки (например, несовместимости функций, нехватки памяти).

В отличие от привычной ошибки 500 Internal Server Error, белый экран может возвращать HTTP-статус 200, поэтому сервер не сигнализирует о неполадке. «Белый экран» нередко проявляется только в панели администратора или на внешней части сайта — это сужает круг поиска.

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

Почему WordPress показывает белый экран без текста ошибки

WordPress по умолчанию скрывает подробности фатальных ошибок PHP, чтобы не раскрывать техническую информацию посетителям. Если в настройках сервера отключён вывод ошибок (display_errors = Off), а WordPress не настроен на ведение логов, вы видите абсолютно пустую страницу. Это стандартная мера безопасности, но она усложняет диагностику.

  • Истощение доступного PHP-лимита памяти (часто виновник — ресурсоёмкий плагин)
  • Несовместимость плагина или темы с текущей версией PHP/WordPress
  • Синтаксическая ошибка или лишний пробел в конце файла functions.php или плагина
  • Повреждённый или некорректно изменённый файл .htaccess
  • Файлы ядра WordPress загружены не полностью или повреждены
  • Наличие BOM-символов в редактируемых PHP-файлах (особенно functions.php)

Включаем вывод ошибок через WP_DEBUG и логи

Первый шаг к решению — увидеть, на что именно жалуется PHP. Для этого нужно активировать режим отладки WordPress и принудительно включить отображение ошибок на экране, а также запись в лог-файл. Это безопасно делать на проблемном сайте, так как после диагностики режим нужно будет отключать. Изменения вносятся через FTP или файловый менеджер хостинга.

  1. Откройте файл wp-config.php в корне сайта.
  2. Найдите строку define( 'WP_DEBUG', false ); или добавьте её, если отсутствует.
  3. Измените false на true. Чуть ниже добавьте (или раскомментируйте) строки: define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', true );
  4. Сохраните файл и загрузите обратно, перезапишите оригинал.
  5. Теперь при обновлении страницы, где был белый экран, вы должны увидеть текст ошибки. Если экран по-прежнему пуст, ошибка может возникать до загрузки WordPress — проверьте логи сервера.

Важно: Не оставляйте вывод ошибок (WP_DEBUG_DISPLAY) включённым на рабочем сайте надолго — это снижает безопасность.

Ищем причину в журнале ошибок сервера

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

  1. Подключитесь к сайту по FTP/SFTP.
  2. Ищите файл error_log в корневом каталоге, а также в папках /wp-content/, /wp-admin/. В некоторых конфигурациях логи находятся за пределами public_html.
  3. Скачайте файл и откройте в текстовом редакторе. Прокрутите до последних строк, соответствующих времени возникновения белого экрана.
  4. Если файла нет, проверьте в панели хостинга раздел «Журналы ошибок» или «Статистика PHP» — там можно включить запись логов.

Важно: На shared-хостингах может действовать ограничение объёма лога, поэтому ошибка могла быть зафиксирована, но позже затёрта новыми записями.

Поочерёдное отключение плагинов и переключение на стандартную тему

Самая распространённая причина белого экрана — конфликт плагинов или темы. Так как войти в админку при полном WSOD невозможно, отключать расширения придётся через файловую систему. Для этого временно переименуйте папку плагинов, войдите в админку и проверьте активацию вручную.

  1. Через FTP перейдите в папку /wp-content/.
  2. Переименуйте папку plugins в plugins_disabled (или любое другое имя) — это деактивирует все плагины.
  3. Попробуйте войти в админку. Если белый экран исчез, значит, проблема в одном из плагинов.
  4. Восстановите исходное имя папки plugins. Затем переименовывайте папки отдельных плагинов по очереди, чтобы найти виновный.
  5. Если
AI-инструмент

Проверить ошибку WordPress

Введите ошибку WordPress, PHP, плагина, темы, REST API или кратко опишите проблему сайта.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *