Нажали «Обновить», а вместо сайта белый экран или надпись «500 Internal Server Error». Не паникуйте: данные почти наверняка целы. Ошибка 500 значит, что сервер начал собирать страницу, споткнулся о сбой в коде и не смог её показать. Разберём, почему так бывает и как вернуть сайт.
Почему сайт ломается после обновления
Сайт на WordPress, 1С-Битрикс или другом движке собран из многих частей: сам движок, тема оформления, плагины, версия PHP на сервере. Обновление одной части может сломать её связь с остальными. Самые частые причины:
- Плагин или тема не совместимы с новой версией движка или PHP.
- Обновление прервалось на середине. Часть файлов новая, часть старая, и сайт не может собраться.
- Не хватает памяти. Новой версии нужно больше ресурсов, чем разрешено на хостинге.
- Хостинг сменил версию PHP. Старый код перестаёт работать на новой версии.
- Конфликт двух плагинов, которые по отдельности работают нормально.
- Ошибка в файле настроек сервера, например в .htaccess.
Сначала главное: не сделайте хуже
Первое желание обновить всё ещё раз или удалить подозрительный плагин. Не спешите:
- Сделайте копию сайта как есть: файлы и базу данных. Это можно сделать в панели хостинга. Копия нужна, чтобы при неудачной попытке вернуть сайт к текущему состоянию.
- Не запускайте обновления повторно. Если причина в несовместимости, повтор ничего не изменит.
- Не удаляйте папки и не переустанавливайте движок. Можно потерять настройки, заказы и загруженные файлы.
Где посмотреть настоящую причину
Белый экран ничего не говорит, но сервер записывает каждую ошибку в журнал. Его можно найти в панели хостинга. Обычно раздел называется «Журналы», «Логи» или «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 ₽. Оцениваем бесплатно и называем цену до начала работ.