Краткий ответ: критическая ошибка WordPress чаще всего означает PHP Fatal error в плагине, теме, файле functions.php, mu-plugin или несовместимой версии PHP. Сначала сделайте резервную копию, проверьте письмо администратора WordPress, включите debug.log, отключите плагины через FTP, временно смените тему и посмотрите error_log на хостинге.
Сообщение «На сайте произошла критическая ошибка» появляется, когда WordPress не может нормально выполнить PHP-код. Это не одна конкретная ошибка, а общий экран защиты, который скрывает технические детали от посетителей.
В реальной работе чаще всего причина находится в одном из этих мест:
Если ошибка появилась сразу после обновления, сначала проверьте материал что делать, если сайт WordPress сломался после обновления. Там логика похожая: не обновлять всё подряд, а найти точный источник сбоя.
Главная ошибка владельцев сайта — пытаться исправлять критическую ошибку вслепую. Правильнее сначала получить текст PHP-ошибки. Обычно в нём сразу видно файл, строку и причину.
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Критическая ошибка на всём сайте | Фатальная PHP-ошибка в плагине, теме или ядре | debug.log, error_log, последние обновления |
| Ошибка только в админке | Плагин, admin hook, редактор, REST API, admin-ajax.php | Console, Network, debug.log, плагины оптимизации |
| Ошибка только на одной странице | Шорткод, шаблон, блок Gutenberg, виджет, кастомный код | контент страницы, шаблон, functions.php |
| Ошибка после включения плагина | Конфликт или несовместимость плагина | папку wp-content/plugins и лог ошибки |
| Ошибка после смены PHP | Старый код не поддерживает новую версию PHP | PHP version, deprecated/removed functions |
| Письмо WordPress не пришло | Не работает почта сайта или неверный email администратора | debug.log и error_log хостинга |
Безопасный порядок восстановления такой: backup, debug.log, отключение конфликтующих плагинов, проверка темы, PHP, памяти и серверных логов.
Перед правками сохраните файлы сайта и базу данных. Если админка не открывается, backup можно сделать через панель хостинга, FTP, phpMyAdmin или SSH.
WordPress может отправить администратору письмо со ссылкой на режим восстановления. Если письмо пришло, перейдите по ссылке и отключите проблемный плагин или тему из админки.
Если письма нет, не ждите его. На многих сайтах почта не настроена, письмо попадает в спам или email администратора уже неактуален.
debug.log нужен, чтобы увидеть точную PHP-ошибку. Обычно там будет путь к файлу и строка, например:
PHP Fatal error: Uncaught Error: Call to undefined function example_function()
in /wp-content/plugins/example-plugin/example-plugin.php on line 125
В этом примере причина не в WordPress целиком, а в конкретном плагине.
Если нет доступа к админке, откройте FTP или файловый менеджер хостинга:
Так вы найдёте конкретный плагин, который вызывает критическую ошибку.
Если отключение плагинов не помогло, проверьте тему. Через FTP откройте:
/wp-content/themes/
Переименуйте папку активной темы. Если на сайте установлена стандартная тема WordPress, система попробует переключиться на неё.
Если после этого ошибка исчезла, проблема в теме: functions.php, шаблоне, устаревшей функции, конфликте с PHP или несовместимости с новой версией WordPress.
Критическая ошибка часто появляется после смены версии PHP на хостинге. Например, старый плагин может работать на PHP 7.4, но ломаться на PHP 8.2 или PHP 8.3.
Проверьте в панели хостинга:
Если критическая ошибка выглядит как ошибка 500, дополнительно используйте инструкцию Ошибка 500 WordPress: причины и способы исправления.
Важно: код ниже влияет на диагностику сайта и доступ к ошибкам. Перед изменением wp-config.php и .htaccess сделайте копию файлов. Не включайте вывод ошибок на экран на рабочем сайте.
Куда вставлять: wp-config.php, перед строкой /* That’s all, stop editing! Happy publishing. */.
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. Это не исправляет плохой код, но помогает, если ошибка связана с нехваткой памяти.
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
Куда запускать: SSH в корневой папке WordPress.
wp plugin deactivate --all
Перед выполнением убедитесь, что стандартная тема установлена.
wp theme list
wp theme activate twentytwentyfour
wp core version
wp --info
Куда запускать: SSH. Вместо пути укажите файл, который указан в debug.log.
php -l wp-content/themes/your-theme/functions.php
Куда вставлять: файл .htaccess в корне сайта. Перед заменой сохраните старый .htaccess.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
После правильной диагностики вы должны получить не просто рабочий сайт, а понятную причину сбоя.
Хороший результат выглядит так:
Если ошибка была из-за белого экрана без текста, дополнительно проверьте статью Белый экран WordPress: что делать и как восстановить сайт.
Обычное отключение папки plugins не затрагивает обязательные плагины. Они находятся здесь:
/wp-content/mu-plugins/
Если debug.log указывает на файл из mu-plugins, временно переименуйте конкретный файл и проверьте сайт.
Кеш редко сам создаёт PHP Fatal error, но может показывать старое состояние сайта после исправления. Очистите:
Если критическая ошибка появилась на сайте с WooCommerce, не отключайте платёжные плагины наугад в рабочее время. Сначала сделайте backup и проверьте debug.log. Ошибка может влиять на корзину, оформление заказа, оплату, email-заказы и личный кабинет.
Иногда сайт открывается, но критическая ошибка появляется при выполнении cron-задачи, импорта, синхронизации, отправки email или генерации отчёта. В debug.log тогда будет путь к конкретному плагину или кастомной функции.
Если перед ошибкой добавляли PHP snippet, код в functions.php или правку дочерней темы, начните с этого места. Частые ошибки:
Если ошибка появилась без обновлений и без правок, проверьте сайт на вредоносный код. Особенно если в файлах появились неизвестные include, base64, eval, странные редиректы или новые администраторы.
Не удаляйте папки плагинов и темы сразу. Сначала переименуйте их. Так можно быстро вернуть сайт назад.
На хостинге может быть несколько копий сайта: live, staging, old, backup. Перед правками проверьте домен, путь к public_html и базу данных в wp-config.php.
На рабочем сайте нельзя показывать PHP-ошибки посетителям. Используйте запись в debug.log, а не вывод на экран.
Если сайт уже сломан, массовое обновление может добавить новые ошибки. Сначала найдите текущую причину, затем обновляйте по одному.
debug.log WordPress показывает не всё. Некоторые ошибки видны только в логах хостинга: PHP-FPM, ModSecurity, память, права файлов, лимиты сервера.
Это значит, что WordPress столкнулся с фатальной PHP-ошибкой и не может нормально загрузить сайт или отдельную страницу.
Сделайте backup, включите debug.log, отключите плагины через FTP, проверьте тему, PHP version, memory limit и error_log хостинга.
Причину нужно искать в письме администратора WordPress, файле /wp-content/debug.log и серверном error_log на хостинге.
Используйте FTP или файловый менеджер хостинга. Переименуйте папку plugins, проверьте тему и включите debug.log через wp-config.php.
Потому что во время выполнения PHP-кода возникла фатальная ошибка. WordPress скрывает технические детали и показывает общее сообщение, чтобы не раскрывать внутреннюю информацию сайта.
Не всегда. Часто причина в плагине, теме или кастомном коде. Но хостинг тоже может быть причиной, если не хватает памяти, изменилась версия PHP, заполнен диск или сработал серверный firewall.
Письмо может не прийти из-за неработающей отправки почты, неправильного email администратора, спам-фильтра или ограничений хостинга. В таком случае используйте debug.log и error_log.
Если причина в плагине, иногда достаточно отключить его через FTP. Если ошибка в теме, PHP-коде, базе данных, WooCommerce или кастомном функционале, лучше делать диагностику аккуратно, чтобы не сломать сайт сильнее.
Проверьте, правильно ли добавлены константы в wp-config.php, есть ли права на запись в wp-content, и откройте серверный error_log на хостинге.
Да, если нужен быстрый откат. Но после восстановления всё равно нужно понять причину. Иначе ошибка может вернуться после повторного обновления плагина, темы или PHP.
Причина может быть в cron-задаче, импорте, кешировании, нехватке памяти, редком запросе, конкретной странице или действии пользователя. В таких случаях особенно важны debug.log и серверные логи.
Если сайт показывает критическую ошибку, не открывается админка или debug.log указывает на непонятный PHP-файл, лучше сначала провести диагностику, а не удалять плагины наугад.
Критическая ошибка WordPress — это не приговор сайту, а сигнал, что нужно найти фатальную PHP-ошибку. Самый надёжный порядок действий: backup, debug.log, проверка письма администратора, отключение плагинов через FTP, проверка темы, PHP, памяти и логов хостинга. Так можно восстановить сайт и понять настоящую причину, а не просто временно скрыть проблему.
Об авторе