Ошибки

Белый экран и ошибка 500 после обновления: как вернуть сайт

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

Обновлено 5 мин чтенияИнженеры VECTRA

Нажали «Обновить», а вместо сайта белый экран или надпись «500 Internal Server Error». Не паникуйте: данные почти наверняка целы. Ошибка 500 значит, что сервер начал собирать страницу, споткнулся о сбой в коде и не смог её показать. Разберём, почему так бывает и как вернуть сайт.

Почему сайт ломается после обновления

Сайт на WordPress, 1С-Битрикс или другом движке собран из многих частей: сам движок, тема оформления, плагины, версия PHP на сервере. Обновление одной части может сломать её связь с остальными. Самые частые причины:

  • Плагин или тема не совместимы с новой версией движка или PHP.
  • Обновление прервалось на середине. Часть файлов новая, часть старая, и сайт не может собраться.
  • Не хватает памяти. Новой версии нужно больше ресурсов, чем разрешено на хостинге.
  • Хостинг сменил версию PHP. Старый код перестаёт работать на новой версии.
  • Конфликт двух плагинов, которые по отдельности работают нормально.
  • Ошибка в файле настроек сервера, например в .htaccess.

Сначала главное: не сделайте хуже

Первое желание обновить всё ещё раз или удалить подозрительный плагин. Не спешите:

  1. Сделайте копию сайта как есть: файлы и базу данных. Это можно сделать в панели хостинга. Копия нужна, чтобы при неудачной попытке вернуть сайт к текущему состоянию.
  2. Не запускайте обновления повторно. Если причина в несовместимости, повтор ничего не изменит.
  3. Не удаляйте папки и не переустанавливайте движок. Можно потерять настройки, заказы и загруженные файлы.

Где посмотреть настоящую причину

Белый экран ничего не говорит, но сервер записывает каждую ошибку в журнал. Его можно найти в панели хостинга. Обычно раздел называется «Журналы», «Логи» или «error.log».

Ищите строку со временем, когда сломался сайт. Обычно в ней написано «Fatal error» и путь к файлу. Путь и подсказывает виновника. Например, если в нём есть /wp-content/plugins/название-плагина/, дело в этом плагине.

В WordPress журнал можно включить и самому. В файле wp-config.php есть настройка WP_DEBUG. Её включают вместе с записью в файл WP_DEBUG_LOG, а показ ошибок на экране оставляют выключенным, чтобы посетители не видели подробностей. После поиска причины журнал нужно снова выключить.

Как вернуть сайт

Способ зависит от того, что нашлось в журнале.

Виноват плагин

Через файловый менеджер хостинга переименуйте папку плагина, например plugin в plugin-off. WordPress перестанет его загружать, и сайт, скорее всего, откроется. Затем найдите совместимую версию или замену плагину.

Виновата тема

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

Сменилась версия PHP

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

Обновление прервалось

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

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

В журнале будет «Allowed memory size exhausted». Лимит памяти обычно поднимают в настройках PHP в панели хостинга. Если памяти не хватает постоянно, ищите плагин, который её съедает.

Ничего не помогает

Тогда остаётся резервная копия. Перед восстановлением сохраните текущее состояние и выясните, что пропадёт: заказы, заявки, новые страницы. Если сайт интернет-магазин, потерянные заказы лучше перенести вручную.

Не хочется копаться в файлах?

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

Как обновлять сайт без поломок

  • Делайте копию перед каждым обновлением. Многие хостинги делают её одной кнопкой.
  • Обновляйте по одному. Если после обновления плагина что-то сломалось, сразу понятно, кто виноват.
  • Пробуйте на копии сайта. Тестовая копия на поддомене позволяет проверить обновление до того, как его увидят клиенты.
  • Проверяйте главное после обновления: главную страницу, корзину или форму заявки, вход в админку.
  • Не обновляйтесь вечером в пятницу. Если что-то сломается, лучше, чтобы на связи были люди, которые смогут починить.

Когда лучше позвать специалиста

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

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

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

Почему белый экран, а не сообщение об ошибке?

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

Можно ли просто откатить обновление?

Да, если есть свежая резервная копия или старая версия плагина. Но сначала сохраните текущее состояние сайта: при откате пропадут заказы, заявки и правки, сделанные после создания копии.

Ошибка 500 появляется не всегда, а иногда. Что это?

Обычно сайту не хватает памяти или времени на тяжёлых страницах и в часы наплыва посетителей. Бывает, что ломается одна конкретная страница или задача по расписанию. Сверьте время ошибок в журнале с тем, что происходило на сайте.

Сколько стоит исправить ошибку 500?

Чаще всего такую ошибку исправляют за час-два. Исправление ошибок у нас стоит от 3 000 ₽. Оцениваем бесплатно и называем цену до начала работ.

Связь

Напишите, что случилось

Ответим в течение 15 минут, оценим бесплатно и назовём цену до начала работ. Опишите проблему как удобно: текстом, голосовым сообщением или скриншотом.