Краткий ответ: Ошибка 500 значит, что PHP упал или веб-сервер наткнулся на сломанную конфигурацию. Сначала прочитайте настоящую ошибку — лог PHP-FPM или wp-content/debug.log с включённым WP_DEBUG_LOG — а затем примените привычные лекарства: деактивируйте сбойный плагин/тему, поднимите память или почините сломанный .htaccess/server block.
Обзор
«HTTP 500» — это симптом, а не диагноз: фатальные ошибки PHP, исчерпанная память, синтаксическая ошибка после неудачного обновления и неправильная конфигурация веб-сервера носят одну маску. Самый быстрый маршрут — всегда лог; угадывать плагины по одному — медленный путь. На VPS у вас полный доступ к логам — пользуйтесь.
Что нужно иметь
- SSH-доступ — когда wp-admin лежит, WP-CLI всё равно работает.
- Расположение логов:
/var/log/nginx/error.log,/var/log/php8.3-fpm.log. - Недавний бэкап — вдруг откат быстрее ремонта.
Пошаговая инструкция
- Включите логирование WordPress (wp-config.php, над строкой «stop editing»):
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); - Воспроизведите ошибку и прочитайте последние строки:
tail -n 50 wp-content/debug.log sudo tail -n 50 /var/log/nginx/error.log - Фатальная ошибка называет плагин/тему: деактивируйте без wp-admin:
sudo -u www-data wp plugin deactivate broken-plugin # or all at once: sudo -u www-data wp plugin deactivate --all sudo -u www-data wp theme activate twentytwentyfour - «Allowed memory size exhausted»: поднимите
memory_limitв php.ini (иWP_MEMORY_LIMITв wp-config) — см. тюнинг PHP. - Ошибка только на части URL (Apache): перегенерируйте
.htaccessпересохранением permalinks; на Nginx проверьтеnginx -t. - Всё ещё глухо? Откатите последнее изменение (обновление, новый плагин, правка конфига) из бэкапа — ошибка началась, когда что-то изменилось.
Типичные проблемы
- Пустой debug.log: падение происходит до загрузки WordPress — оно в логе PHP-FPM.
- 500 только в wp-admin: классика исчерпанной памяти или конфликт чисто админского плагина.
- Эпизодические 500 под нагрузкой: это не баг кода — исчерпание FPM-пула; см. размер pm.max_children.
Когда обращаться в поддержку
Если сбоит сама платформа (диск заполнен на уровне хоста, VPS не отвечает), откройте тикет. Для ошибок приложения прикладывайте точные строки логов, если просите совета — само по себе «показывает 500» не диагностируется.
Частые вопросы
Где искать настоящую ошибку за страницей 500?
В логах: wp-content/debug.log после включения WP_DEBUG_LOG, плюс логи ошибок PHP-FPM и веб-сервера в /var/log — последние строки называют сбойный файл и плагин.
Как выключить плагин, когда wp-admin лежит?
Через SSH с помощью WP-CLI: wp plugin deactivate plugin-name (или --all). Переименование папки плагина в wp-content/plugins даёт тот же эффект, если WP-CLI недоступен.
Почему ошибки 500 появляются только при всплесках трафика?
Это ёмкость, а не код: пул PHP-FPM исчерпывает воркеры, и запросы падают по таймауту. Добавьте страничное кеширование и переразмерьте pm.max_children — или увеличьте план.
Похожие статьи
- Как починить белый экран WordPress (WSOD)
- Как оптимизировать PHP для WordPress
- Как настроить бэкапы WordPress
- Как защитить WordPress на VPS
Нужна помощь? Связаться с поддержкой Cloud2Y →
