Как исправить белый экран смерти на WordPress

Еще несколько минут назад ваш сайт на WordPress работал нормально, а сейчас внезапно получаете пустую белую страницу? К сожалению, такая ошибка делает сайт недоступным как для администратора, так и для ваших посетителей.

Такую ситуацию в вордпресс-сообществе принято называть «белый экран смерти». Термин звучит довольно сурово, однако решить проблему пустой страницы вместо сайта, скорее всего, вам удастся самостоятельно.

Белый экран смерти

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

Перед тем как приступить к поиску причины белого экрана вы должны определить, работает ли консоль админки на вашем сайте. Проверить это можно просто перейдя на адрес ваш-сайт/wp-admin. Если за этим адресом вместо пустой белой страницы вы получаете форму авторизации, скорее всего, на вашем сайте «неисправен» шаблон (тема) или какой-то из плагинов.

Перед любыми действиями сохраните полную резервную копию вашего сайта. На всякий случай…

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

пример ошибки белого экрана смерти на вордпресс

Однако, если сообщения на сайте нет, вы видите белый экран или отчет об ошибках вам не пришел, то искать и исправлять ошибку придется вручную.

Как исправить белый экран на WordPress

Иногда проблема белого экрана кроется в версии php.  Например, если у вас на хостинге стоит php 5.5, то попросите техподдержку включить более новую версию. Очень часто данная проблема возникает после переноса WordPress на другой хостинг. Происходит это именно из-за разных версий php.

Если вы видите пустую страницу, о которой мы говорили выше, то дальше мы ознакомим вас с наиболее частыми вариантами решения проблемы.

Включите режим отладки

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

В этом случае есть большая вероятность, что включение режима отладки поможет вам получить отчет об ошибке вместо белого экрана.

Чтобы включить данный режим вам необходимо внести изменения в файл wp-config.php. Сделать это можно с помощью FTP-клиента либо редактора файлов в панели хостинга.

Файл wp-config.php находиться в корне вашего сайта.

В файле вам нужно найти вот такую строку:

define( 'WP_DEBUG', false );

Вам необходимо заменить значение false на true, сохранить изменения и перезагрузить страницу вашего сайта.

Включаем режим отладки через wp-config.php

Если у вас такой строчки нет, вы можете смело добавить ее сами.

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

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

Выглядеть это может примерно так:

Какой-то текст ошибки /wp-content/plugins/cyr2lat/tags.php on line 13

Исходя из ошибки мы делаем вывод, что проблемой является строка 13 плагина под названием cyr2lat. Теперь вам нужно просто отключить данный плагин и обновить страницу сайта. После этого все должно нормально заработать. Если вы хотите сохранить данный плагин, то отключите его на время, пока разработчики не исправлять в нем проблему. Чтобы это произошло быстрее вы можете им сообщить об ошибке.

Отключить плагины

Вы установили новый, обновили старый или внесли изменения в активный плагин на WordPress? Да, очень часто конфликты в коде возникают между плагинами, поэтому исправить белый экран может помочь отключение проблемного плагина.

Однако есть проблема, как найти «сломанный» плагин и как его отключить, если при входе в админку вы получаете белый экран?

Дальше руководство разделиться на два пути: для тех, у кого есть доступ до консоли администратора и тех, кто имеет трудности с ее работой.

Можете зайти в админку?

Если у вас есть доступ к консоли, то отключить плагины будет немного проще.

  1. Заходим в админку вашего сайта адрес/wp-admin/.
  2. Переходим на страницу Плагины → Установленные.
  3. Выбираем все установленные плагины, в выпадающем списке выбираем пункт «Деактивировать» и нажимаем кнопку «Применить».
деактивация всех плагинов через консоль администратора WordPress
  1. Теперь зайдите на главную страницу сайта и проверьте его работоспособность.
  2. Сайт не работает. Если все еще висит белый экран, то проблема не в плагинах и эти шаги можете смело пропускать и искать ошибку в шаблоне.
  3. Сайт работает. Отлично, теперь нужно найти какой именно плагин «ломает» нам сайт.
  4. Для этого начинайте активировать плагины один за одним, но после каждой активации проверяйте состояние сайта.
  5. В итоге, у вас получиться так, что после активации определенного плагина проблема с белым экраном вернется. Это значит, что фатальная ошибка возникает именно в этом плагине.
  6. Обнаруженный проблемный плагин вы можете удалить и заменить его похожим. Либо написать в службу поддержки и ждать, когда с новым обновлением ошибку исправят.

Иногда бывает, что причиной пустой страницы стает конфликт в скриптах двух разных плагинов. Поэтому вы можете снова отключить все плагины и активировать только тот, который выявился проблемным. Если сайт перестал работать – делаем вывод, что виной тому именно этот кривой плагин. Если же сайт остался в рабочем состоянии, то действительно, присутствует конфликт между плагинами. Теперь вы должны по очереди включать остальные плагины и смотреть за статусом сайта. Таким образом вы выявите еще один проблемный плагин. Что это даст? Теперь у вас есть выбор, какой из плагинов вам более необходим, а какой вы можете временно отключить.

Не можете зайти в админку?

В случае, если вы при попытке зайти в консоль администратора wordpress также получаете пустую страницу, тогда плагины необходимо отключить другим способом.

  1. Вам нужно зайти в папку с вашим сайтом через Менеджер файлов (в аккаунте вашего хостинга) либо подключиться через FTP-клиент.
  2. Открываем папку wp-content.
  3. Теперь директорию plugins вам нужно переименовать, можете назвать ее plugins_old.
  4. Теперь движок WordPress не знает про существование plugins_old, а так как плагинов по старому адресу он не найдет, то все плагины становятся отключенными.
  5. Переходим на сайт и проверяем, помогло ли это.
  6. Сайт не работает. Переименуйте папку обратно, на правильно название plugins и ищите проблему в темах.
  7. Сайт работает. Это хорошо, значит проблема в каком-то из плагинов.
  8. Переименуйте папку с плагинами в исходный вариант и откройте wp_content/plugins.
  9. Здесь вы видите каталог папок, каждая из которых представляет собой какой-то плагин. Вам нужно поочерёдно переименовать каждый плагин. Например, если у вас есть папка cyr2lat, то назовите ее cyr2lat_2 или cyr2lat_old.
  10. После каждого переименования проверяйте не заработал ли ваш сайт.
  11. Если после отключения какого-то плагина сайт стал загружаться, то проблема решена!

Измените тему сайта

Установка новой, или обновление уже активной темы также может создать конфликт с WordPress. Если ваш сайт перестал работать сразу после того, как вы обновили вордпресс, то тоже есть большая вероятность, что именно тема является виновником.

Вам нужно временно заменить свой шаблон на тему по умолчанию.

Можете зайти в админку?

Очень хорошо, если консоль администратора у вас работает нормально.

  1. Зайдите в админку адрес_сайта/wp-admin/ и перейдите в раздел Внешний вид → Темы.
  2. Активируйте любую другую, желательно стандартную, тему WordPress. Если вы стандартные темы удалили, то временно установите, например, Twenty Twenty.
белый экран смерти – смените активную тема WordPress
  1. Если после активации стандартного шаблона сайт заработал – увы, виновником проблемы является используемая тема. Если это премиум-шаблон, то можете написать автору и дождаться ее обновления, которое уберет ошибку. Однако если это обычная бесплатная тема, которая уже давно не обновлялась, то лучшим вариантом будет поиск нового шаблона.

Не можете зайти в админку?

Это займет чуть больше времени, но ничего сложно не будет.

  1. Через Менеджер файлов вашего хостинга либо через FTP-клиент вам необходимо зайти в папку wp-content/themes и убедиться, что кроме используемой темы там есть еще какая-то.
  2. Если в директории есть только одна папка с вашей темой, то вам необходимо скачать стандартный шаблон, например Twenty Thirteen и залить его в папку wp-content/themes.
  3. Теперь в панели управления вашего хостинга необходимо найти раздел по работе с базами данных и перейти в phpMyAdmin. Обычно это вот такая иконка:
логотип phpmyadmin
  1. Дальше необходимо открыть базу данных вашего сайта и в списке таблиц выбрать wp_options.
белый экран меняем активную тему через phpmyadmin
  1. Далее, чтобы было проще, вот здесь выбираем 500.
база данных выбираем 500 строк для отображения
  1. После загрузки всех строк нажимаем в браузере сочетание кнопок Ctrl+F. У вас появилась строка поиска куда вставляем слово template.
  2. И так, вас автоматически перекинуло к двум строчкам, которые необходимо отредактировать, а именно template и stylesheet.
изменяем активную тему WordPress через базу данных
  1. Возле каждой этой строчки нажмите кнопку Редактировать (или Изменить) и, как показано на скриншоте, в большое поле вставить twentythirteen и нажать кнопку «Вперед».
замена значения активной темы WordPress при белом экране смерти
  1. После того, как вы указали название новой темы в обеих строчках (template и stylesheet) нужно проверить состояние сайта.
  2. Если сайт работает – проблема с темой. Ее необходимо заменить либо обновить. Если же сайт так и не загрузился, то переходим к следующим шагам.

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

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

Иногда после переноса WordPress мы имеем эту ошибку. Причина проста – в предыдущего хостера были больше лимиты.

Поэтому вам нужно увеличить лимит памяти.

Редактируем wp-config.php

Задать новые лимиты можно через файл wp-config.php.

  1. С помощью редактора файлов на хостинге, либо через FTP-клиент, в главной директории вашего сайта найдите файл wp-config.php.
  2. Теперь его необходимо открыть и просто добавить строчку:
define('WP_MEMORY_LIMIT', '64M');
  1. Чтобы правильно вставить данный код, поместите его сразу после <?php.
белый экран изменяем лимит памяти
  1. Сохраняем изменения в файле и пробуем зайти на сайт.
  2. Если он заработал – отлично, новые лимиты нам помогли, если нет – стоит искать проблему в другом месте либо попробовать другой способ увеличения лимитов.

Редактируем .htaccess

Если предыдущий способ вам не помог, то, к счастью, у нас есть еще несколько вариантов. Один из них  – файл .htaccess.

  1. Файл .htaccess находиться в корневой папке вашего сайта и нам его нужно отредактировать. Как вы уже поняли, вам нужно снова с помощью биллинга хостинга либо через FTP-клиент зайти в папку из сайтом.
  2. Если такого файла нет, то вам необходимо создать .htaccess самим.
  3. С помощью редактора открываем его и добавляем строчку:
php_value memory_limit 64M
  1. Смотрим на сайт, если он не «ожил», тогда двигаемся дальше.

Редактируем php.ini

Если у вас все еще не решилась проблема с нехваткой памяти, то можно попробовать еще следующее:

  1. Вам необходимо узнать, где находиться файл php.ini (у разных операционных системах место хранения разное).
  2. Для этого создаем на компьютере, или прямо на хостинге, файл с названием, например, 2.php и вставляем в него следующий код
<?php
phpinfo();
?>
  1. Сохраняем его и закидываем в главную директорию вашего сайта.
  2. Теперь в адресной строке браузера набираем ваш_сайт/2.php и получаем всю информацию о системе хостинга, в том числе и место хранение файла php.ini. Правда хостинг провайдеры не всегда дают к нему доступ.
узнаем где находиться файл php.ini
  1. Если у вас доступ есть, то необходимо в файл добавить строчку:
memory_limit = 64M
  1. Снова проверяем сайт. Если по-прежнему вы видите пустую страницу, тогда пробуем последний вариант.

Проверьте права доступа к файлам

Как правило неправильные права доступа на файлы и паки не приводят к проблемам с белым экраном смерти. Однако кто знает, что у вас сейчас за обстоятельства.

Для WordPress есть три простых правила:

  • файлы должны иметь 664 или 644
  • папки должны иметь 775 или 755
  • файл wp-config.php должен иметь 660, 600 или 644

Но, я бы не рекомендовал вам вообще обращать внимание на права к файлам и папкам. Дело в том, что с вероятностью 99% они не имеют никакого отношения к белому экрану. Поэтому просто ознакомитесь с моими рекомендациями напоследок.

В итоге мы имеем ряд вещей, которые могут быть причиной белого экрана, но, к счастью, ситуация зачастую не так страшна, как кажется. Простая проверка плагинов и темы должна устранить проблему, а включение режима отладки должно наверняка пролить свет на проблему.

Также вы всегда можете восстановить сайт с резервной копии или обратиться за помощью к службе поддержки.

Также читают...

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here

- Advertisement -

Последние статьи