Сложность в том, что ошибка 500 слишком общая. Она может быть вызвана .htaccess, PHP, плагинами WordPress, правами доступа, перегрузкой сервера, ошибками в коде или неправильной конфигурацией хостинга. Ниже — полное решение шаг за шагом.
Quick Fix
- Перезагрузите страницу и очистите кэш браузера.
- Проверьте, не временно ли лежит сайт или сервер.
- Посмотрите логи ошибок на сервере.
- Переименуйте файл
.htaccessи создайте новый. - Отключите плагины и тему, если сайт на WordPress.
- Проверьте права доступа к файлам и папкам.
- Проверьте версию PHP и лимит памяти.
- Свяжитесь с хостингом, если ошибка появилась на стороне сервера.
Что значит 500 Internal Server Error
500 Internal Server Error означает, что сервер получил запрос, но не смог его выполнить из-за внутренней ошибки. В отличие от 404, где проблема в отсутствии страницы, ошибка 500 говорит о сбое именно на стороне сервера.
Для пользователя это выглядит как поломка сайта. Для владельца сайта — это сигнал, что нужно проверять логи, конфигурацию, код, плагины и серверные параметры.
Как выглядит ошибка 500
В зависимости от сервера, CMS и хостинга она может показываться по-разному:
- 500 Internal Server Error
- HTTP Error 500
- This page isn’t working
- The server encountered an internal error
- There has been a critical error on this website
Иногда сервер не показывает подробностей из соображений безопасности. Поэтому главный источник правды — это server logs.
Основные причины 500 Internal Server Error
1. Ошибка в файле .htaccess
Очень частая причина. Один неправильный rewrite rule, лишний символ, конфликт с серверной конфигурацией или плагином — и сайт начинает отдавать 500.
2. Ошибка в PHP-коде
Fatal error, синтаксическая ошибка, конфликт функции, несовместимость версий PHP или несуществующий include могут привести к internal server error.
3. Конфликт плагинов или темы WordPress
После обновления плагина, темы или самой WordPress ошибка 500 появляется очень часто. Особенно это касается тяжёлых security plugins, cache plugins и page builders.
4. Неправильные права доступа
Если файлы и папки имеют неверные permissions, сервер может не иметь права прочитать или выполнить их. Это тоже приводит к 500.
5. Недостаток памяти PHP
Если скрипт упирается в memory_limit, выполнение обрывается. Иногда вместо явной ошибки пользователь видит именно 500 Internal Server Error.
6. Перегрузка сервера
Если серверу не хватает CPU, RAM, PHP workers или ресурсов аккаунта на хостинге, часть запросов может падать с ошибкой 500.
7. Неправильная версия PHP
После смены версии PHP часть старого кода или плагинов может перестать работать. Это классическая причина ошибки 500 после миграции или обновления хостинга.
8. Повреждённые системные файлы сайта
Неполное обновление CMS, битые файлы, сломанный upload или неудачное восстановление из бэкапа тоже могут привести к ошибке.
9. Проблемы на стороне хостинга
Иногда причина вообще не в сайте, а в сервере, PHP-FPM, Apache, Nginx, LiteSpeed, ModSecurity или временном сбое на хостинге.
10. Неправильная конфигурация CGI, FastCGI или PHP-FPM
На VPS и выделенных серверах ошибка 500 нередко связана с backend-процессами, сокетами, таймаутами или некорректной серверной конфигурацией.
500 Internal Server Error — полное решение пошагово
1. Обновите страницу и проверьте, ошибка ли это временная
Иногда это кратковременный сбой сервера. Нажмите Ctrl+F5, откройте страницу в другом браузере или через мобильный интернет.
Если ошибка исчезла, возможно, это был временный серверный сбой или кэш.
2. Проверьте логи ошибок
Это самый важный шаг. Без логов можно тратить много времени вслепую. Проверьте:
error_log- Apache error log
- Nginx error log
- PHP error log
- логи в панели хостинга
Ищите fatal error, memory exhausted, permission denied, malformed .htaccess, upstream errors и другие явные подсказки.
3. Проверьте файл .htaccess
Переименуйте .htaccess, например в .htaccess_old, и проверьте сайт. Если ошибка исчезла, значит проблема была в нём.
После этого можно создать новый стандартный файл .htaccess через WordPress или вручную.
4. Отключите плагины WordPress
Если сайт на WordPress и админка не открывается, зайдите через FTP или файловый менеджер и переименуйте папку:
wp-content/plugins
Например, в plugins-disabled. Это временно отключит все плагины. Если сайт заработал, проблема в одном из них.
5. Переключите тему на стандартную
Если дело не в плагинах, временно отключите активную тему и включите стандартную тему WordPress. Ошибка 500 иногда вызывается именно темой или её functions.php.
6. Проверьте права доступа
Стандартно папки обычно должны иметь права 755, а файлы — 644. Слишком жёсткие или слишком открытые permissions могут ломать работу сайта.
Особенно внимательно проверьте:
- корень сайта;
index.php;.htaccess;wp-config.php;- папки
wp-admin,wp-includes,wp-content.
7. Увеличьте PHP memory_limit
Если проблема в нехватке памяти, увеличьте лимит. Например, через wp-config.php:
define('WP_MEMORY_LIMIT', '256M');
Либо через настройки PHP в панели хостинга.
8. Проверьте версию PHP
Если ошибка появилась после обновления PHP, попробуйте временно переключиться на другую версию. Старые плагины и темы могут не работать на новых версиях PHP.
Если наоборот сайт старый, иногда помогает переход на более старую версию для диагностики.
9. Переустановите ядро CMS
Если повреждены системные файлы, загрузите заново чистые файлы WordPress, Joomla, Drupal или другой CMS без перезаписи пользовательского контента.
10. Проверьте wp-config.php и другие конфиги
Одна ошибка в конфигурационном файле может полностью сломать сайт. Проверьте синтаксис, лишние символы, дублирование констант и неправильные include.
11. Включите отладку WordPress
Если это WordPress, включите debug mode, чтобы получить больше деталей:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
После этого ошибки будут записываться в лог, а не только показываться как общая ошибка 500.
12. Проверьте серверные лимиты и ресурсы
На хостинге посмотрите, не упирается ли сайт в CPU, RAM, I/O, inode, PHP workers или entry processes. При перегрузке 500 ошибка может появляться периодически.
13. Отключите ModSecurity или firewall для теста
Иногда слишком жёсткие правила безопасности режут нормальные запросы и вызывают internal server error. Временное отключение ModSecurity помогает быстро понять, в этом ли причина.
14. Очистите кэш
Если вы используете кэширование на уровне CMS, плагина, сервера, CDN или Cloudflare, очистите кэш после исправления ошибок. Иногда 500 уже устранена, но старая ошибка остаётся в кэше.
15. Свяжитесь с хостингом
Если у вас нет доступа к логам или ошибка явно серверная, пишите в поддержку хостинга. Часто они видят точную причину по системным логам быстрее, чем владелец сайта.
Как исправить 500 Internal Server Error в WordPress
- Проверить и переименовать
.htaccess. - Отключить все плагины.
- Переключить тему на стандартную.
- Увеличить лимит памяти PHP.
- Включить WP_DEBUG.
- Переустановить ядро WordPress.
- Проверить версию PHP.
- Проверить права доступа.
Для WordPress это самый рабочий маршрут диагностики.
Как исправить 500 Internal Server Error на VPS или сервере
Если у вас VPS, сначала проверяйте:
- Nginx и Apache config;
- PHP-FPM status;
- сокеты и порты;
- systemctl status сервисов;
- логи backend-процессов;
- доступное место на диске;
- нагрузку по CPU и RAM.
На VPS ошибка 500 часто глубже, чем просто .htaccess или плагин.
Если 500 ошибка появляется только иногда
Плавающая ошибка обычно говорит о перегрузке, нехватке ресурсов, конфликте кэша, лимитах PHP workers, проблемах с базой данных или нестабильном плагине.
Если ошибка не постоянная, особенно важно смотреть логи в момент сбоя.
Если 500 ошибка только в админке
Тогда чаще всего виноваты плагины, права доступа, лимит памяти, несовместимость PHP или проблема в конкретном admin hook. Для WordPress это довольно типичный сценарий.
Если 500 ошибка после миграции сайта
После переноса сайта нужно в первую очередь проверить:
- версию PHP;
- модули сервера;
- пути к файлам;
- кодировку .htaccess;
- права доступа;
- настройки базы данных;
- совместимость темы и плагинов.
Чего не стоит делать
- Не менять сразу всё подряд без логов.
- Не удалять плагины и тему без бэкапа.
- Не оставлять включённый WP_DEBUG на рабочем сайте надолго.
- Не ставить права 777 на всё подряд.
- Не игнорировать ошибки хостинга и системные логи.
Как не допустить 500 Internal Server Error в будущем
- Делайте бэкапы перед обновлениями.
- Тестируйте плагины и темы перед установкой на живой сайт.
- Следите за версией PHP и совместимостью.
- Не перегружайте сайт тяжёлыми модулями.
- Регулярно проверяйте server logs.
- Обновляйте CMS, плагины и серверное ПО вовремя.
FAQ
Что означает 500 Internal Server Error?
Это означает, что сервер столкнулся с внутренней ошибкой и не смог обработать запрос пользователя.
500 ошибка — это проблема сайта или хостинга?
Может быть и то, и другое. Иногда причина в плагине, коде или .htaccess, а иногда — в сервере, PHP-FPM или хостинге.
Что проверять первым делом?
Сначала логи ошибок. Это самый быстрый способ понять реальную причину.
Может ли .htaccess вызывать 500 ошибку?
Да, очень часто. Это одна из самых распространённых причин.
Поможет ли отключение плагинов WordPress?
Да. Если проблема в конфликте плагинов, это часто сразу возвращает сайт к жизни.
