Краткий ответ: если появилась критическая ошибка WordPress, не переустанавливайте сайт и не удаляйте файлы наугад. Сначала сделайте копию файлов и базы, проверьте письмо режима восстановления, включите debug.log, найдите fatal error, временно отключите проблемный плагин или тему через FTP/SFTP, проверьте версию PHP, память, кеш и серверные логи.
Сообщение “На сайте произошла критическая ошибка” обычно означает, что PHP-ошибка остановила выполнение WordPress. Чаще всего причина в конфликте плагина, ошибке темы, несовместимой версии PHP, нехватке памяти, повреждённом обновлении или кастомном коде.
Если сайт полностью недоступен, не открывается wp-admin или ошибка появилась после обновления, сначала нужно восстановить контроль над сайтом. В аварийной ситуации может понадобиться срочная помощь WordPress.
Критическая ошибка WordPress появляется, когда код сайта вызывает fatal error. Это не обычное предупреждение и не мелкая ошибка верстки. В момент такой ошибки PHP останавливает выполнение скрипта, поэтому сайт может показать только системное сообщение или белый экран.
Типовые причины:
Если ошибка появилась сразу после обновления, полезно отдельно разобрать безопасный порядок действий из статьи обновление WordPress, темы и плагинов.
При критической ошибке главная задача — не ухудшить ситуацию. Не нужно сразу удалять WordPress, ставить новую тему, чистить базу или отключать все плагины без копии.
Диагностика должна идти от простого к рискованному. Сначала нужно получить текст ошибки, потом понять, какой файл, плагин или тема её вызывает.
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Ошибка появилась после обновления плагина | конфликт или несовместимость плагина | debug.log, папку плагина, changelog, версию PHP |
| Ошибка появилась после обновления темы | ошибка в шаблоне, functions.php, дочерней теме | активную тему, дочернюю тему, кастомные правки |
| Ошибка после смены PHP | старый код несовместим с новой версией PHP | версию PHP, устаревшие функции, debug.log |
| Не открывается wp-admin | fatal error в плагине, теме или security-настройках | FTP/SFTP, папку plugins, активную тему, error_log |
| Ошибка только на одной странице | шорткод, шаблон, виджет, блок, кастомное поле | конкретный шаблон, shortcode, page builder, ACF, PHP-сниппеты |
| Ошибка в WooCommerce | checkout, оплата, доставка, webhooks, сессии | WooCommerce logs, консоль браузера, wc-ajax, payment gateway |
| Ошибка появляется периодически | cron, кеш, лимит памяти, внешний API, нагрузка | server logs, cron events, PHP memory, slow queries |
Если в логе видно, что ошибка связана с конкретным плагином, полезно посмотреть разбор конфликтов плагинов WordPress.
Если не хотите рисковать сайтом и тратить время на эксперименты, можно оставить заявку. Я посмотрю задачу и предложу аккуратное решение.
Безопасное восстановление зависит от того, есть ли доступ к админке. Если wp-admin открывается, можно работать через режим восстановления или админку. Если админка недоступна, нужен FTP/SFTP, файловый менеджер хостинга или WP-CLI.
Важно: код ниже влияет на диагностику сайта. Перед изменением wp-config.php сделайте копию файла через FTP/SFTP или хостинг-панель. Не включайте вывод ошибок посетителям на рабочем сайте.
Куда вставлять: в файл wp-config.php, выше строки /* That’s all, stop editing! */. Этот код включает запись ошибок в debug.log, но не показывает их пользователям.
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
После этого проверьте файл:
/wp-content/debug.log
Если ошибка связана с нехваткой памяти, можно временно увеличить лимит. Это не лечит причину, но может помочь восстановить доступ для диагностики. Куда вставлять: в wp-config.php, выше строки /* That’s all, stop editing! */.
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '256M');
Важно: если хостинг ограничивает память на уровне сервера, эта настройка может не сработать. Если после увеличения лимита ошибка возвращается, нужно искать плагин, тему, запрос или процесс, который расходует память.
Если есть доступ к WP-CLI, можно проверить активные плагины и отключить конкретный проблемный плагин. Команды выполняются в терминале на сервере:
wp plugin list
wp plugin deactivate plugin-slug
wp theme list
wp theme activate twentytwentyfour
Важно: не отключайте все плагины на рабочем сайте без понимания последствий. Для WooCommerce это может повлиять на оплату, доставку, письма, корзину, checkout, CRM и статусы заказов.
После завершения диагностики отключите debug-режим:
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);
Если админка не открывается, плагин можно отключить через FTP/SFTP или файловый менеджер хостинга.
Лучше отключать конкретный плагин из лога, а не всю папку plugins. Отключение всех плагинов может сломать формы, WooCommerce, мультиязычность, личный кабинет, SEO-настройки и интеграции.
Если debug.log показывает ошибку в папке активной темы, проблема может быть в functions.php, шаблоне страницы, дочерней теме или кастомном коде.
Если правки были внесены прямо в основную тему, после обновления они могли конфликтовать с новой версией шаблонов.
Критическая ошибка WordPress и ошибка подключения к базе данных выглядят похоже для владельца сайта, но причины разные.
| Ошибка | Что обычно означает | Где искать причину |
|---|---|---|
| На сайте произошла критическая ошибка | fatal PHP error в плагине, теме, ядре или кастомном коде | debug.log, error_log, FTP/SFTP, плагины, тема, PHP |
| Ошибка подключения к базе данных | WordPress не может подключиться к MySQL/MariaDB | wp-config.php, DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, сервер MySQL |
| Белый экран | fatal error без вывода сообщения или проблема PHP | debug.log, error_log, memory limit, плагины, тема |
| Ошибка 500 | серверная ошибка, PHP, .htaccess, память, конфликт | логи хостинга, .htaccess, PHP, плагины, тема |
Если WordPress пишет именно об ошибке базы данных, лучше идти по отдельной инструкции: ошибка подключения к базе данных WordPress.
После правильного восстановления важно не только убрать сообщение об ошибке, но и понять, что именно сломало сайт.
Если WordPress отправил письмо администратору сайта, в нём может быть ссылка для входа в режим восстановления. Это позволяет зайти в админку и отключить проблемный плагин или тему без ручного FTP-доступа.
Иногда debug.log пустой, но ошибка записана в серверный error_log. Его можно найти в панели хостинга или запросить у поддержки хостинга.
Если сайт сломался после обновления и быстро найти причину не получается, безопаснее восстановить файлы и базу из резервной копии, а затем повторить обновление на staging-копии.
Если ошибка появилась после переключения PHP, временно верните предыдущую версию и проверьте несовместимый плагин или тему. После этого лучше обновить код, а не навсегда оставлять старую PHP-версию.
Если перед ошибкой добавлялся код в functions.php, плагин сниппетов или кастомный плагин, начните с него. Одна лишняя скобка, неверное имя функции или вызов несуществующего класса может полностью остановить сайт.
Если критическая ошибка повторяется, нужно искать не только последний плагин, а всю цепочку: код, сервер, память, cron, кеш, WooCommerce и внешние интеграции.
| Что видно в логе | Что это может значить | Что делать |
|---|---|---|
| Allowed memory size exhausted | не хватает PHP-памяти или есть тяжёлый процесс | временно увеличить memory limit, найти тяжёлый плагин или запрос |
| Call to undefined function | код вызывает функцию, которая не подключена или удалена | проверить плагин, тему, порядок загрузки, версию зависимости |
| Class not found | не найден класс плагина, темы или библиотеки | проверить обновление, автозагрузку, удалённые файлы |
| Parse error | синтаксическая ошибка PHP | проверить последний изменённый файл, скобки, кавычки, точку с запятой |
| Cannot redeclare function | функция объявлена дважды | найти дубли в теме, дочерней теме, сниппетах или плагинах |
| Maximum execution time exceeded | скрипт выполняется слишком долго | проверить импорт, cron, API, тяжёлые циклы, базу данных |
| Fatal error в папке plugins | проблема в конкретном плагине | отключить плагин, обновить, заменить или исправить конфликт |
| Fatal error в папке themes | проблема в теме или дочерней теме | переключить тему, проверить functions.php и шаблоны |
Когда сайт снова открылся, работа ещё не закончена. Нужно убедиться, что ошибка не оставила вторичные проблемы.
Это означает, что на сайте произошла fatal PHP error, из-за которой WordPress не смог продолжить загрузку страницы. Причина чаще всего находится в плагине, теме, кастомном коде, версии PHP, памяти или серверной настройке.
Сделайте копию файлов и базы, проверьте почту администратора, включите debug.log, посмотрите error_log на хостинге и найдите файл, который вызывает fatal error.
Да. Можно использовать FTP/SFTP, файловый менеджер хостинга, phpMyAdmin, server logs или WP-CLI. Чаще всего через FTP временно отключают проблемный плагин или тему.
Плагин мог стать несовместимым с текущей версией WordPress, PHP, темой или другим плагином. Также обновление могло пройти не полностью или изменить важную функцию.
WordPress может отправить письмо с деталями ошибки и ссылкой на режим восстановления. Если SMTP не настроен, письмо может не прийти или попасть в спам.
Проверьте, правильно ли включён WP_DEBUG_LOG, есть ли права на запись в wp-content, не блокирует ли хостинг создание файла, а также посмотрите server error_log в панели хостинга.
Можно временно, если ошибка связана с нехваткой памяти. Но это не всегда решает причину. Если память расходует тяжёлый плагин, импорт, cron или плохой запрос к базе, проблему нужно искать глубже.
Только если нет другого способа найти причину. Лучше сначала смотреть debug.log и отключать конкретный плагин. Массовое отключение может повлиять на формы, WooCommerce, SEO, мультиязычность и интеграции.
В debug.log путь к ошибке будет вести в папку активной темы или дочерней темы. Также ошибка может появиться после изменения functions.php, шаблона страницы или обновления темы.
Не включайте его повторно на рабочем сайте. Проверьте версию плагина, совместимость с PHP, конфликт с другими плагинами и логи. Иногда лучше заменить плагин или исправить конфликт на тестовой копии.
Критическая ошибка WordPress — это не повод сразу переустанавливать сайт. В большинстве случаев нужно найти fatal error через debug.log или server logs, определить проблемный плагин, тему, PHP-версию, память или кастомный код и восстановить сайт аккуратно.
Безопасный порядок такой: backup, диагностика, лог ошибки, отключение конкретного проблемного компонента, проверка сайта, исправление причины и повторная проверка форм, админки, WooCommerce, SEO-файлов и логов.
Рекомендуем услугу: срочная помощь WordPress
Об авторе