Краткий ответ: ошибка 500 WordPress означает внутренний сбой на сервере. Чтобы восстановить сайт, сначала сделайте копию файлов и базы, включите debug.log, проверьте .htaccess, отключите плагины через FTP, временно смените тему, проверьте PHP memory limit, версию PHP, права файлов, кеш и error_log хостинга.
Ошибка 500 Internal Server Error — это общий ответ сервера, когда запрос дошёл до сайта, но сервер не смог его выполнить из-за внутренней проблемы. MDN описывает HTTP 500 как универсальный ответ для ситуации, когда сервер столкнулся с неожиданным условием и не может подобрать более точный 5xx-код. :contentReference[oaicite:1]{index=1}
В WordPress такая ошибка чаще всего связана не с одной конкретной причиной, а с конфликтом кода, сервера, плагинов, темы или настроек. Поэтому неправильный путь — сразу переустанавливать WordPress или удалять файлы. Правильный путь — найти точный файл и строку ошибки через логи.
Чаще всего ошибка 500 появляется после:
Если сайт вместо ошибки 500 показывает пустую страницу, это близкая проблема. В таком случае полезно дополнительно посмотреть материал про белый экран WordPress, потому что диагностика через debug.log, FTP, плагины и тему будет похожей.
Это внутренняя ошибка сервера. WordPress или серверный PHP-код не смог выполнить запрос, но браузер не получил точное объяснение причины.
Сначала проверьте error_log хостинга и wp-content/debug.log. Потом временно отключите плагины, проверьте .htaccess, тему, PHP memory limit и версию PHP.
Да. Через FTP, файловый менеджер хостинга или SSH можно отключить плагины, сменить тему, восстановить .htaccess, включить debug.log и проверить файлы сайта.
Ошибка 500 опасна тем, что она не всегда показывает текст ошибки в браузере. Но почти всегда причина фиксируется в логах.
В debug.log или error_log чаще всего видны такие ошибки:
WordPress официально рекомендует использовать WP_DEBUG и WP_DEBUG_LOG для записи ошибок в лог, а не для публичного вывода ошибок посетителям. :contentReference[oaicite:2]{index=2}
Исправлять ошибку 500 нужно по шагам: от самых частых и безопасных причин к более глубоким. Так проще вернуть сайт и не повредить данные.
На Apache и некоторых хостингах .htaccess управляет постоянными ссылками, редиректами, правилами кеша, доступом и частью серверного поведения. WordPress использует .htaccess для обработки красивых постоянных ссылок, а официальный справочник WordPress прямо указывает, что этот файл можно восстановить при повреждении. :contentReference[oaicite:3]{index=3}
Через FTP или файловый менеджер откройте корень сайта и найдите файл:
/.htaccess
Переименуйте его временно:
.htaccess_old
После этого откройте сайт. Если ошибка 500 исчезла, причина была в .htaccess. Затем зайдите в админку WordPress → Настройки → Постоянные ссылки → Сохранить. WordPress создаст новый файл правил.
Если админка не открывается, зайдите в:
/wp-content/plugins/
Переименуйте папку plugins:
plugins_disabled
Если сайт заработал, проблема в одном из плагинов. Верните папке старое имя:
plugins
Дальше отключайте плагины по одному, переименовывая папки внутри plugins. Так можно найти конкретный плагин, который вызывает 500.
Если плагины не виноваты, проверьте активную тему. Ошибка может быть в functions.php, шаблоне темы, кастомном shortcode, подключении файла или несовместимости с новой версией PHP.
Путь:
/wp-content/themes/
Переименуйте папку активной темы:
active-theme_disabled
WordPress попробует переключиться на стандартную тему, если она установлена. Лучше всегда держать одну стандартную тему WordPress в папке themes для аварийной проверки.
Если в логе есть “Allowed memory size exhausted”, сайту не хватает памяти PHP. В документации WordPress указано, что WP_MEMORY_LIMIT задаёт максимальный объём памяти, который может использовать PHP, и это полезно при ошибках нехватки памяти. :contentReference[oaicite:4]{index=4}
Но важно понимать: если хостинг ограничивает память на уровне сервера, настройка в wp-config.php может не помочь. Тогда нужно менять лимит в панели хостинга или обращаться в поддержку.
Ошибка 500 часто появляется после смены PHP 7.4 на PHP 8.x или после обновления хостинга. Старый плагин, тема или кастомный код может использовать устаревшие функции.
Что сделать:
Неправильные права могут вызывать 500, особенно после переноса сайта, распаковки архива или ручного копирования файлов.
| Что проверить | Частое значение | Комментарий |
|---|---|---|
| Папки | 755 | Обычно достаточно для чтения и выполнения каталогов. |
| Файлы | 644 | Обычно подходит для PHP, CSS, JS и изображений. |
| wp-config.php | 600 или 640 | Зависит от настроек сервера. |
Не ставьте права 777 на весь сайт. Это небезопасно и может создать новые проблемы.
Если причина уже исправлена, но сайт всё равно показывает 500, проверьте кеш.
Иногда сайт работает нормально, но отдельная страница, AJAX-запрос, форма или админское действие получает 500. Виновником может быть ModSecurity, WAF, security-плагин или правило хостинга.
Признаки:
Важно: код ниже влияет на диагностику, доступ к сайту, память PHP, правила сервера и работу WordPress. Перед изменениями сделайте копию wp-config.php, .htaccess, файлов сайта и базы данных. Не оставляйте публичный вывод ошибок включённым на рабочем сайте.
Куда вставлять: в файл wp-config.php, выше строки “That’s all, stop editing”.
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
После этого проверьте файл:
/wp-content/debug.log
После исправления ошибки отключите режим отладки:
define( 'WP_DEBUG', false );
Куда вставлять: wp-config.php, выше строки “That’s all, stop editing”.
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
Если после этого ошибка не исчезла, проверьте серверный memory_limit в панели хостинга или php.ini.
Куда вставлять: файл .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
Куда выполнять: SSH в корне сайта.
wp plugin deactivate --all
Потом включайте плагины по одному:
wp plugin activate nazvanie-plagina
Куда выполнять: SSH в корне сайта.
wp theme list
Переключиться на стандартную тему:
wp theme activate twentytwentyfive
Перед выполнением проверьте, что такая тема установлена в wp-content/themes.
Куда выполнять: SSH на сервере.
php -l wp-config.php
Если команда покажет syntax error, нужно исправить строку, которую она укажет.
Куда выполнять: SSH на сервере. Пример для functions.php активной темы.
php -l wp-content/themes/active-theme/functions.php
Замените active-theme на реальное название папки вашей темы.
После правильного исправления сайт должен открываться без 500, админка должна работать, а в debug.log не должно появляться новых критических ошибок.
Проверьте не только главную страницу. Ошибка 500 может появляться точечно:
Если сайт восстановился после отключения плагина, не включайте его сразу обратно. Сначала проверьте совместимость, обновления, логи и альтернативы.
Ошибка 500 может быть связана с базой данных, если повреждены таблицы, неверные доступы в wp-config.php или MySQL/MariaDB недоступна.
Проверьте:
Иногда сайт открывается, но отдельные действия дают 500. Например, сохранение записи, работа редактора, фильтры, формы, корзина WooCommerce или загрузка файлов.
В Chrome DevTools откройте Network и проверьте запросы:
/wp-admin/admin-ajax.php
/wp-json/
Если именно они возвращают 500, причина может быть в конкретном hook, плагине, security-правиле или PHP-ошибке внутри обработчика.
Если 500 появляется периодически, проблема может запускаться cron-задачей: импортом, рассылкой, резервным копированием, синхронизацией, задачей WooCommerce Action Scheduler или обработкой очереди.
Проверьте cron-события через WP-CLI:
wp cron event list
Когда на хостинге заканчивается место, WordPress может перестать писать кеш, логи, сессии и временные файлы. Это может давать ошибку 500 или похожие сбои.
Если 500 появился без обновлений и без ваших действий, проверьте сайт на вредоносный код. Подозрительные признаки: неизвестные PHP-файлы, странные include, eval, base64_decode, непонятные cron-задачи, изменённый .htaccess.
Если повреждены файлы ядра, можно заменить папки wp-admin и wp-includes свежими файлами той же версии WordPress. Не заменяйте wp-content и wp-config.php без понимания, потому что там находятся тема, плагины, загрузки и настройки сайта.
Плагины лучше сначала отключать переименованием папок. Удаление может стереть файлы, настройки или усложнить откат.
Без логов восстановление превращается в угадывание. Один точный PHP Fatal error часто сразу показывает проблемный файл и строку.
Если причина в теме, плагине, .htaccess или PHP-версии, замена ядра не поможет. Иногда она добавляет новые проблемы.
Это может временно скрыть проблему доступа, но создаёт риск безопасности. Нужно исправлять владельца файлов и корректные права, а не открывать всё на запись.
Публичный вывод ошибок может показать посетителям пути к файлам, названия плагинов и внутреннюю структуру сайта. На рабочем сайте ошибки лучше писать в debug.log.
Ручное удаление записей из базы может повредить настройки, заказы, пользователей, товары или SEO-данные. Перед любыми SQL-правками нужен backup.
Возможная причина: .htaccess, критическая PHP-ошибка, плагин, тема, версия PHP, memory limit, серверный сбой.
Что делать: проверить error_log, включить debug.log, временно переименовать .htaccess, отключить плагины, проверить тему и PHP.
Возможная причина: админский плагин, dashboard widget, конфликт редактора, нехватка памяти, security-плагин.
Что делать: отключить плагины через FTP, проверить debug.log, увеличить memory limit, проверить cookies и кеш браузера.
Возможная причина: новая версия плагина конфликтует с темой, PHP или другим плагином.
Что делать: переименовать папку плагина, вернуть сайт, проверить логи, откатить плагин или заменить конфликтующий код.
Возможная причина: неправильный RewriteRule, конфликт редиректов, ошибка синтаксиса, правило кеша или безопасности.
Что делать: переименовать .htaccess, создать стандартный файл WordPress, затем добавлять правила по одному.
Возможная причина: ModSecurity, REST API, Gutenberg, конструктор страниц, security-плагин, PHP-ошибка в метабоксах.
Что делать: открыть Network в браузере, найти запрос с 500, проверить error_log, временно отключить security-правила только после проверки.
Возможная причина: права папки uploads, лимит размера файла, нехватка памяти, проблема ImageMagick/GD, блокировка сервера.
Что делать: проверить wp-content/uploads, права файлов, PHP upload_max_filesize, post_max_size, memory_limit и логи сервера.
Возможная причина: cron, backup, импорт, перегрузка CPU/RAM, нехватка места, долгий SQL-запрос, WooCommerce-задачи.
Что делать: сверить время ошибки с логами, проверить cron, Action Scheduler, нагрузку сервера и свободное место на диске.
Это внутренняя ошибка сервера, при которой WordPress или серверный PHP-код не смог обработать запрос. Браузер видит общий код 500, но точная причина обычно находится в логах.
Может быть и то, и другое. Часто причина в плагине, теме, .htaccess или PHP-коде. Но также возможны проблемы хостинга: память, права, серверные правила, база данных, PHP-FPM или ModSecurity.
Используйте FTP, файловый менеджер хостинга или SSH. Через них можно переименовать папку plugins, проверить тему, восстановить .htaccess и включить debug.log.
Обновление могло вызвать конфликт плагина, темы, PHP-версии или кастомного кода. Нужно смотреть debug.log и отключать последние обновлённые компоненты.
Можно, если сайт нужно срочно вернуть. Но после восстановления всё равно нужно найти причину, иначе ошибка может повториться при следующем обновлении или нагрузке.
Возможные причины: код вставлен не туда, нет прав на запись в wp-content, ошибка происходит до загрузки WordPress или хостинг пишет ошибки только в серверный error_log.
Да. Неправильные правила редиректов, кеша, доступа или безопасности могут полностью сломать сайт. Для проверки файл можно временно переименовать.
Да. Особенно если кеш-плагин меняет .htaccess, объединяет скрипты, включает агрессивный page cache или конфликтует с серверным кешем.
Проверьте shortcode, шаблон страницы, блоки конструктора, PHP-код, AJAX-запросы, REST API и плагины, которые работают только на этой странице.
Да, если в логах есть серверные ошибки, ModSecurity, проблемы PHP-FPM, превышение лимитов, нехватка памяти, недоступность базы или нет доступа к error_log.
Если WordPress показывает ошибку 500, лучше не исправлять сайт вслепую. Важно найти точную причину в логах, восстановить доступ и убрать проблему так, чтобы она не повторилась после обновлений.
Ошибка 500 WordPress почти всегда решается, если не действовать наугад. Сначала нужно сохранить копию сайта, затем включить логи, проверить .htaccess, плагины, тему, PHP, память, права файлов и кеш.
Самый быстрый путь к восстановлению — найти точную ошибку в debug.log или error_log. Самый опасный путь — удалять плагины, менять файлы ядра и чистить базу без backup.
Если действовать по шагам, можно восстановить сайт, сохранить данные и убрать реальную причину ошибки, а не только временно скрыть проблему.
Об авторе