Вместо сайта пустая белая страница, ни ошибки, ни подсказки. В сообществе это называют «белым экраном смерти». Звучит страшно, но суть простая: PHP упал на фатальной ошибке, а вывод ошибок отключён, поэтому вы видите пустоту. Наша задача – заставить сайт сказать, что сломалось.
Где обычно возникает
- после установки или обновления плагина;
- после правки functions.php или файлов темы;
- после переноса сайта на другой хостинг или смены версии PHP;
- иногда только на одной странице или только в админке.
Заставляем сайт заговорить
В wp-config.php включите журнал ошибок:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Откройте сайт снова и загляните в wp-content/debug.log. Последняя запись покажет файл и строку, где остановилось выполнение. Теперь у вас не белый экран, а конкретная улика.
Что чаще всего находят
| Сообщение в журнале | Что делать |
|---|---|
| Allowed memory size exhausted | Увеличить лимит памяти, найти прожорливый плагин. |
| Call to undefined function | Проверить, не пропал ли файл или плагин, от которого зависит код. |
| Parse error | Откатить последнюю правку в коде. |
| Maximum execution time exceeded | Код работает слишком долго: тяжёлый импорт или зависший запрос. |
Если журнал не помог
Отключите плагины
Переименуйте папку wp-content/plugins, потом верните и включайте по одному. Виноватый найдётся быстро.
Переключите тему
Переименуйте папку активной темы: WordPress возьмёт стандартную. Если сайт ожил, проблема в теме.
Проверьте последние правки
Если недавно правили functions.php или вставляли код, ошибка в нём. Лишний тег закрытия PHP или пробел в конце файла тоже может дать пустой экран.
Проверьте память и версию PHP
Увеличьте WP_MEMORY_LIMIT до 256M и убедитесь, что версия PHP подходит вашим плагинам и теме.
Белый экран только на одной странице
Если сайт в целом работает, а одна страница пуста, причина в её содержимом: шорткод, обращение к внешнему сервису, очень тяжёлый блок. Откройте страницу в редакторе и убирайте блоки и шорткоды по одному, пока она не оживёт.
Белый экран, критическая ошибка и 500: в чём разница
| Что вы видите | Что это значит | С чего начать |
|---|---|---|
| Пустая белая страница | фатальная ошибка, вывод ошибок отключён | включить журнал ошибок |
| «На сайте возникла критическая ошибка» | то же, но WordPress показывает сообщение | письмо с режимом восстановления |
| Ошибка 500 | сервер не смог выполнить запрос | журнал ошибок сервера, .htaccess |
Белый экран после обновления WordPress
Обновление ядра иногда ломает старые плагины и темы, которые не рассчитаны на новую версию. Проверьте, не обновился ли PHP вместе с WordPress, и посмотрите журнал. Часто помогает обновить или заменить конкретный плагин. Если не получается, откатите ядро из резервной копии, а проблемный компонент разберите на копии сайта.
Белый экран после смены темы
Новая тема может требовать плагинов, которых нет, или другую версию PHP. Вернитесь на прежнюю тему через переименование папки новой и посмотрите в журнале, чего не хватило.
Чтобы не повторилось
Правьте файлы темы и плагинов только на копии сайта. Для своих правок используйте дочернюю тему, чтобы обновление не затирало код. И делайте резервную копию перед обновлениями. Если сайт важен и ждать некогда, услуга «Правки и ремонт сайта на WordPress» решает такие случаи в день обращения. Похожая ситуация разобрана в статье «Критическая ошибка WordPress».