Перейти к содержимому
EVI Solutions

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

Средне 20 мин Обновлено:

Краткий ответ

Белый экран (White Screen of Death) означает, что PHP-скрипт падает до вывода чего-либо, а ошибка скрыта. Включите отображение ошибок в `wp-config.php`, прочитайте сообщение, затем отключите плагины и переключите тему на стандартную. В большинстве случаев виновником является несовместимый плагин, тема или нехватка памяти PHP.

Как проявляется проблема

  • Сайт и админка показывают полностью пустую белую страницу
  • Вход в `/wp-admin` не отображает форму входа
  • Страница загружается, но нет никакого содержимого или сообщения об ошибке
  • В браузере статус 500 или 200 с пустым телом ответа
  • После обновления плагина или темы сайт перестал открываться

Частые причины

Фатальная ошибка PHP

Плагин или тема вызывает несуществующую функцию или несовместимую с версией PHP, поэтому выполнение останавливается до вывода страницы.

Нехватка памяти PHP

Когда PHP достигает `memory_limit`, скрипт прерывается без сообщения, а браузер показывает пустую страницу.

Неисправная тема после обновления

Частично обновлённая или несовместимая тема падает при загрузке, что затрагивает и фронтенд, и админку.

Повреждённые файлы ядра

Прерванное обновление WordPress или неудачная передача файлов оставляют неполные PHP-файлы.

Конфликт на уровне хостинга

Смена версии PHP или отключение обязательного модуля (например, `mbstring`) вызывает падение без видимого сообщения.

Пошаговое решение

  1. 1

    Сделайте резервную копию прежде всего

    Перед любыми изменениями скачайте копию файлов и базы через панель хостинга или плагин резервного копирования. Если нет доступа к админке, скачайте копию файлов через SFTP, а базу через phpMyAdmin или инструмент резервного копирования в cPanel. Это обеспечит возврат к предыдущему состоянию, если что-то пойдёт не так.

  2. 2

    Включите отображение ошибок

    Откройте wp-config.php через SFTP или файловый менеджер и временно установите define( 'WP_DEBUG', true ); и define( 'WP_DEBUG_DISPLAY', true );. Обновите сайт и прочитайте появившееся сообщение. Если ошибка всё ещё не видна, включите display_errors в php.ini или через панель хостинга.

  3. 3

    Посмотрите журнал ошибок

    Если отображение ошибок отключено на уровне сервера, проверьте error_log в корне сайта или в панели хостинга (раздел с логами). Последние строки обычно указывают файл и строку, где выполнение остановилось. Эти данные - самый быстрый путь к виновнику.

  4. 4

    Отключите плагины без админки

    Через SFTP переименуйте папку wp-content/plugins в plugins-off. Если сайт восстановился, проблема в плагине. Затем верните имя папки и поочерёдно переименовывайте папки плагинов, пока не найдёте тот, который роняет сайт.

  5. 5

    Переключите тему на стандартную

    Переименуйте папку активной темы в wp-content/themes, например tema-off. WordPress тогда автоматически переключится на стандартную тему, если она установлена. Если сайт восстановился, обновите тему или замените её совместимой версией.

  6. 6

    Увеличьте память PHP

    В wp-config.php добавьте define( 'WP_MEMORY_LIMIT', '256M' ); и, если хостинг позволяет, поднимите memory_limit в php.ini или в панели хостинга. Проверьте также, что версия PHP поддерживается вашей версией WordPress.

  7. 7

    Восстановите ядро, если файлы повреждены

    Из админки или через панель хостинга запустите повторное скачивание ядра, или вручную замените папки wp-admin и wp-includes и основные файлы в корне (кроме wp-config.php и wp-content) свежими файлами той же версии. Папку wp-content не трогайте, так как в ней темы, плагины и загруженные файлы.

  8. 8

    Отключите отображение ошибок в конце

    Когда сайт заработает, верните WP_DEBUG на false и удалите WP_DEBUG_DISPLAY, чтобы посетители не видели внутренние сообщения. Если нужно, чтобы ошибки продолжали записываться, вместо полного отключения оставьте WP_DEBUG включённым, а WP_DEBUG_DISPLAY выключенным и WP_DEBUG_LOG включённым, чтобы ошибки записывались в wp-content/debug.log.

Если ничего не помогает

Если белый экран сохраняется и после отключения всех плагинов и смены темы, проблема скорее всего ниже WordPress: неисправная конфигурация PHP, отсутствующий модуль, заполненный диск или повреждённая база. Проверьте в панели хостинга занятость диска и квоту, затем версию PHP и список включённых модулей. Если сайт был в режиме обслуживания, удалите файл .maintenance в корне. Когда и это не помогает, восстановите резервную копию с известным рабочим состоянием и затем постепенно применяйте обновления, одно за другим, с проверкой после каждого шага.

Как избежать повторения

  • Регулярно делайте резервные копии файлов и базы и тестируйте восстановление
  • Обновляйте плагины и тему на тестовой копии перед продакшеном
  • Держите PHP и WordPress на поддерживаемых версиях и следите за `debug.log`
  • Удаляйте неактивные плагины и темы, которые не используете

Когда лучше обратиться к специалисту

Если у вас нет доступа к файлам через SFTP, нет резервной копии или белый экран повторяется после каждого изменения, лучше вызвать IT-поддержку. Они могут проверить серверную конфигурацию и базу без риска необратимой потери данных.

Создание сайтов · Быстрые, SEO-оптимизированные многоязычные сайты

Частые вопросы

Означает ли белый экран, что сайт потерял данные?

Нет. База и файлы чаще всего нетронуты, так как речь идёт об ошибке выполнения PHP-кода. Данные могут потеряться только если предпринимаются рискованные изменения без резервной копии.

Могу ли я исправить сайт, если не могу войти в админку?

Можете, через SFTP или файловый менеджер на хостинге. Переименовав папки плагинов и темы, вы обходите админку и сразу видите, в них ли проблема.

Почему ошибка не видна на экране?

Большинство хостингов отключает отображение ошибок, чтобы посетители не видели внутренние детали. Поэтому сообщение появляется только когда вы включите `WP_DEBUG` или посмотрите `error_log`.

Поделиться
Не нашли решение?ИИ-помощник работает 24/7. Опишите проблему или отправьте скриншот ошибки и получите инструкцию для вашего случая.Спросить ИИ-помощника