500 ошибка WordPress: почему она молчит и как заставить её говорить
Есть ошибки, которые всё объясняют сами. «Пароль неверный», «файл не найден», «нет соединения с базой» — всё понятно с первой строки. А 500 ошибка не говорит ничего. Она сообщает лишь одно: что-то пошло не так, но что именно — неизвестно. Это не халатность разработчиков, а осознанное решение. И если понять его логику, становится проще найти причину.
Почему ошибка молчит
Внутренняя ошибка сервера возникает тогда, когда программа не смогла выполнить код до конца. В этот момент сервер точно знает, что произошло: в каком файле, в какой строке, с какими данными. Он мог бы показать вам всё это на экране.
Но не показывает. Причина в безопасности. Подробный текст ошибки раскрывает внутреннее устройство сайта: пути к файлам, версии библиотек, фрагменты кода, иногда — данные из базы. Злоумышленнику этого достаточно, чтобы найти слабое место и использовать его. Поэтому сервер предпочитает молчать, а информацию приберегает для того, кто знает, куда смотреть.
Именно из-за этой логики первые шаги по диагностике 500 ошибки выглядят не как «поиск неисправности», а как «разговор с молчащим свидетелем»: сначала нужно создать условия, при которых он заговорит.
Где сервер всё-таки проговорится
Информация о причине существует. Её просто нужно извлечь из тех мест, где она хранится. Есть три источника, работающие в порядке возрастания сложности.
Первый — логи хостинга. Туда сервер записывает всё, что произошло, включая текст ошибки с указанием файла и строки. Это самый надёжный путь: логи ведутся всегда, независимо от настроек сайта. Обычно доступ к ним есть в панели управления хостингом, а если непонятно, где искать, поддержка подскажет или вышлет выдержку.
Второй — режим отладки WordPress. В файле настроек есть специальная константа, которая заставляет систему показывать подробности ошибки прямо на странице. Включать её на рабочем сайте нельзя — это та же уязвимость, о которой говорилось выше. Но на время диагностики, особенно если сайт и так лежит, — самый быстрый способ увидеть причину.
Третий — режим восстановления. Если ошибку вызвал конкретный плагин или тема, WordPress сам покажет страницу восстановления и назовёт виновника. Иногда эта информация видна прямо в письме, которое приходит администратору.
Что делать, когда причина стала известна
Получив текст ошибки, вы уже прошли половину пути. Дальше действия зависят от того, на что указал сервер.
- Конкретный плагин. Самый частый случай. Отключите его через файловую систему или админку, сайт оживёт. Дальше — либо откат до предыдущей версии, либо поиск замены.
- Тема или дочерняя тема. Переключитесь на стандартную тему, чтобы сайт заработал, и разбирайтесь с кодом отдельно.
- Нехватка памяти. В тексте будет упоминание о лимите. Решается увеличением лимита на хостинге или удалением тяжёлого модуля.
- Повреждённый файл ядра WordPress. Самая неприятная категория. Здесь надёжнее переустановить ядро поверх существующей установки — файлы контента и настройки не пострадают.
Важное правило: изменения вносите по одному и после каждого проверяйте сайт. Если сделать несколько правок сразу, вы не поймёте, какая помогла.
Если даже логи молчат
Так бывает. Иногда 500-я возвращается на уровне сервера — до того, как код вообще начал выполняться. В этом случае в логах будет только запись о факте ошибки без подробностей. Возможные причины — превышены лимиты хостинга, сбой в конфигурации сервера, повреждён файл с настройками подключения к базе.
Что делать в такой ситуации:
- Проверьте, работает ли админка и другие страницы — иногда ломается не весь сайт, а конкретный участок;
- Свяжитесь с поддержкой хостинга и попросите более подробные логи — у них есть доступ к серверным записям;
- Проверьте файл настроек — не менялся ли он недавно, нет ли в нём случайных символов;
- Убедитесь, что на хостинге не менялась версия PHP — это частая причина внезапных 500-х.
Почему важно не гадать
Популярный подход — начать отключать всё подряд: плагины, тему, код — и смотреть, что поможет. Проблема в том, что при таком методе можно случайно сломать то, что работало. И потерять время на диагностику того, что и так было в порядке.
Правильнее сначала получить текст ошибки, а потом уже действовать. Это экономит час-два и не оставляет следов в виде отключённых модулей и изменённых настроек, о которых потом никто не помнит.
Что это значит на практике
500 ошибка WordPress — не хаос, а сообщение, у которого просто нет текста на экране. Смысл этого сообщения хранится в логах, в режиме отладки и в информации от хостинга. Задача — не угадывать, а извлечь информацию и действовать по ней.
Мы разбираем такие ошибки регулярно и в большинстве случаев находим причину за первые полчаса — потому что начинаем с правильного места. Если сайт выдаёт 500-ю и непонятно, в какую сторону смотреть, — оставьте заявку на сайте. Посмотрим логи, назовём причину и починим. Без перебора вариантов и без риска сломать работающее.
