Как отладить ошибку 500 Internal Server Error в WordPress

Что такое ошибка 500 Internal Server Error и почему она возникает в WordPress

Ошибка 500 Internal Server Error — одна из самых распространённых и в то же время самых неприятных проблем при работе с WordPress. Эта ошибка говорит, что сервер столкнулся с внутренней проблемой, из-за которой не может обработать запрос. При этом браузер обычно показывает просто "500 Internal Server Error" без подробностей.

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

Важно понимать, что ошибка 500 — это не ошибка WordPress как CMS, а ошибка сервера, на котором размещён сайт. Но благодаря инструментам WordPress и некоторым трюкам можно быстро локализовать источник проблемы и устранить его.

Основные причины ошибки 500 и как их проверить

Проблемы с файлом .htaccess

Файл .htaccess отвечает за правила перенаправлений и некоторые настройки сервера Apache. Часто ошибка 500 возникает из-за неправильных правил в этом файле. Чтобы проверить, связана ли ошибка с .htaccess, выполните следующие шаги:

  • Подключитесь к серверу через FTP или файловый менеджер хостинга.
  • Переименуйте файл .htaccess в .htaccess_backup.
  • Попробуйте заново загрузить страницу сайта.

Если ошибка пропала, значит проблема была именно в .htaccess. Чтобы восстановить корректный файл, перейдите в админку WordPress в раздел "Настройки" > "Постоянные ссылки" и просто нажмите «Сохранить изменения» — WordPress автоматически создаст новый .htaccess с правильными правилами.

Перегрузка PHP-лимитов

Иногда сервер не справляется с нагрузкой или превышены лимиты по памяти PHP, что приводит к ошибке 500. Чтобы проверить, хватает ли памяти, добавьте в корень сайта или в файл wp-config.php следующий код:

define('WP_MEMORY_LIMIT', '256M');

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

Ошибки в плагинах и темах

Одна из самых частых причин — несовместимость или сбой в плагинах или активной теме. Для диагностики:

  • Отключите все плагины, переименовав папку wp-content/plugins через FTP, например в plugins_off.
  • Если сайт заработал, значит проблема в одном из плагинов. Переименуйте папку обратно и поочерёдно активируйте плагины через админку, выявляя проблемный.
  • Если отключение плагинов не помогло, попробуйте переключиться на стандартную тему WordPress, например Twenty Twenty-Three.

Как включить подробный вывод ошибок для отладки в WordPress

Для выявления точной причины ошибки полезно включить режим отладки WordPress. Откройте файл wp-config.php и добавьте или измените следующие строки:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

Это позволит записывать ошибки в файл журнала wp-content/debug.log, не показывая их пользователям на сайте. Просмотрите этот файл, чтобы увидеть конкретные ошибки и линии кода, вызывающие сбой.

Полезные плагины для диагностики и устранения ошибки 500

Существует несколько плагинов, которые помогут упростить диагностику и исправление ошибок:

  • Health Check & Troubleshooting — позволяет временно отключать плагины и темы только для текущего пользователя, не влияя на посетителей сайта. Очень удобно для выявления конфликтов.
  • WP Debugging — автоматизирует включение режима отладки и запись логов.
  • Query Monitor — выводит подробную информацию об ошибках PHP, запросах к базе данных, HTTP-запросах и многом другом.

Пример функции для автоматического создания резервной копии .htaccess перед изменениями (wpkey)

Если вы разрабатываете плагин или тему и хотите обезопасить изменения в .htaccess, можно использовать такую функцию:

function wpkey_backup_htaccess() {
    $htaccess_file = ABSPATH . '.htaccess';
    if (file_exists($htaccess_file)) {
        $backup_file = ABSPATH . '.htaccess_backup_' . date('Ymd_His');
        copy($htaccess_file, $backup_file);
    }
}

Вызывать wpkey_backup_htaccess() перед тем, как вносить изменения в файл, чтобы всегда иметь возможность быстро вернуть рабочую версию.

Дополнительные рекомендации по предотвращению ошибки 500

Чтобы минимизировать риски появления ошибки 500 в будущем, следуйте простым правилам:

  • Регулярно обновляйте WordPress, темы и плагины, чтобы использовать исправления и улучшения.
  • Проверяйте совместимость плагинов и тем при обновлениях.
  • Не устанавливайте слишком много плагинов — удаляйте неиспользуемые.
  • Используйте надежный хостинг с подходящими параметрами PHP и достаточной памятью.
  • Настройте мониторинг ошибок и регулярно проверяйте логи сервера.
WooCommerce: автоматизация отмены и возврата заказов
23.04.2026
Как запустить WordPress без PHP: практическое руководство по Headless CMS
21.03.2026
Как добавить пользовательские поля в формы WordPress
04.11.2025
Как отложить публикацию постов в WordPress
01.01.2026
WooCommerce: автоматическое изменение статуса заказа при отсутствии оплаты
16.05.2026

Ресурс в разработке, скоро здесь будет сайт по вордпресс