Ошибка 500 Internal Server Error — одна из самых неприятных ошибок, с которой сталкиваются владельцы сайтов. В отличие от ошибки 404 или 403, она не сообщает, что именно пошло не так. Пользователь видит лишь сообщение о внутренней ошибке сервера, а владелец сайта остается без подсказок.

В этой статье вы узнаете:
- что означает ошибка HTTP 500;
- почему она возникает;
- как быстро определить источник проблемы;
- как пошагово исправить ошибку в WordPress;
- какие методы профилактики помогут избежать повторного появления ошибки.
Материал актуален для WordPress, а также подойдет владельцам сайтов на любом PHP-хостинге (Joomla, Drupal, OpenCart, Laravel и других CMS).
Что такое ошибка 500 Internal Server Error
Ошибка HTTP 500 Internal Server Error означает, что сервер получил запрос от браузера, однако не смог его обработать из-за внутренней ошибки.
Проще говоря:
- браузер работает;
- интернет-соединение работает;
- домен открывается;
- но сервер столкнулся с проблемой во время выполнения PHP-кода, обращения к базе данных или обработки запроса.
Типичные варианты отображения ошибки:
- 500 Internal Server Error
- HTTP ERROR 500
- Internal Server Error
- The server encountered an internal error
- Error 500
На некоторых хостингах пользователь может увидеть просто белый экран (White Screen of Death).
Как понять, что проблема именно на стороне сервера
Перед тем как приступать к исправлению, стоит убедиться, что проблема действительно относится к серверу.
Признаки:
- сайт открывался раньше;
- ошибка появилась внезапно;
- ошибка отображается только на одном сайте;
- другие сайты работают нормально;
- обновление страницы не помогает.
Если сайт недоступен только у вас, попробуйте:
- открыть его через мобильный интернет;
- воспользоваться VPN;
- проверить сайт через сервис Down For Everyone Or Just Me.
Что вызывает ошибку 500 Internal Server Error
Ошибка 500 может иметь десятки причин. Ниже перечислены практически все наиболее распространенные варианты.
1. Поврежденный файл .htaccess
Это самая распространенная причина ошибки.
Файл .htaccess управляет:
- ЧПУ (Permalinks);
- перенаправлениями;
- правилами безопасности;
- сжатием;
- кэшированием.
Если после установки плагина или ручного редактирования файл поврежден, сервер Apache перестает правильно обрабатывать запросы.
Признаки
- ошибка появилась после изменения настроек;
- сайт перестал открываться полностью;
- административная панель тоже недоступна.
2. Ошибка PHP
Любая критическая ошибка PHP вызывает HTTP 500.
Например:
- синтаксическая ошибка;
- несовместимая версия PHP;
- использование удаленной функции;
- конфликт библиотек.
Особенно часто проблема появляется после обновления WordPress или PHP.
3. Конфликт плагинов
Иногда один плагин начинает конфликтовать с другим.
Особенно часто это происходит после обновления:
- WooCommerce;
- Elementor;
- WPML;
- безопасности;
- кеширования.
Даже один несовместимый плагин способен полностью остановить сайт.
4. Конфликт темы оформления
После обновления темы разработчики могли использовать функции, отсутствующие в вашей версии PHP.
Либо:
- тема повреждена;
- удалены обязательные файлы;
- возник конфликт с Elementor.
5. Недостаток памяти PHP
WordPress активно использует память.
Если лимит памяти:
memory_limit = 128Mа сайт требует 256–512 МБ, появляется ошибка.
Особенно часто проблема возникает:
- в интернет-магазинах;
- на крупных блогах;
- при импорте товаров.
6. Повреждение ядра WordPress
Иногда файлы WordPress повреждаются:
- после неудачного обновления;
- из-за вирусов;
- после сбоя FTP;
- из-за ошибок диска.
7. Неверные права доступа
Наиболее распространенные права:
755 — папки
644 — файлыЕсли права выставлены неправильно, сервер блокирует выполнение файлов.
8. Ошибка базы данных
Причины:
- повреждение таблиц;
- превышение лимитов MySQL;
- нехватка места;
- ошибки соединения.
9. Вирусы и вредоносный код
Вредоносные скрипты способны:
- удалить файлы;
- изменить .htaccess;
- повредить PHP;
- внедрить бесконечные циклы.
После этого сервер начинает возвращать HTTP 500.
10. Ограничения хостинга
Некоторые тарифы имеют ограничения:
- CPU;
- RAM;
- процессы PHP;
- IOPS;
- inode.
После превышения лимитов сайт может начать выдавать ошибку.
11. Неправильная версия PHP
Например:
- тема требует PHP 8.2;
- сервер работает на PHP 7.3.
Или наоборот.
12. Ошибки после обновления WordPress
После автоматического обновления:
- не завершилась установка;
- обновились не все файлы;
- появились несовместимые плагины.
13. Ошибки CDN и Cloudflare
Иногда проблема возникает из-за:
- WAF;
- неправильных правил;
- кэширования;
- блокировки запросов.
14. Ошибки ModSecurity
Некоторые запросы WordPress блокируются системой безопасности сервера.
Особенно:
- REST API;
- AJAX;
- WooCommerce.
15. Превышение времени выполнения скрипта
Если PHP работает слишком долго:
max_execution_timeсервер завершает выполнение и возвращает HTTP 500.
Как определить точную причину ошибки
Перед исправлением рекомендуется выполнить диагностику.
Последовательность действий:
- Проверить журнал ошибок PHP.
- Проверить журнал Apache или Nginx.
- Включить режим отладки WordPress.
- Проверить последние изменения.
- Отключить плагины.
- Проверить тему.
- Проверить PHP.
Чек-лист: что делать в первые 5 минут после появления ошибки 500
Если сайт внезапно перестал открываться и показывает 500 Internal Server Error, не стоит сразу менять настройки или удалять файлы. Первые действия должны помочь определить масштаб проблемы и сохранить возможность быстрого восстановления.
Используйте следующий алгоритм:
1. Проверьте, доступен ли сайт только вам
Откройте сайт:
- с другого устройства;
- через мобильный интернет;
- через VPN;
- через сервис проверки доступности сайта.
2. Обновите страницу и очистите кэш
Попробуйте:
- нажать Ctrl + F5;
- очистить кэш браузера;
- очистить кэш CDN (например, Cloudflare);
- очистить кэш плагина WordPress.
3. Вспомните последние изменения на сайте
Ответьте на вопросы:
- Устанавливался ли новый плагин?
- Обновлялась ли тема?
- Обновлялся ли WordPress?
- Менялась ли версия PHP?
- Редактировался ли файл
functions.php? - Менялись ли настройки сервера?
4. Проверьте доступность административной панели WordPress
Попробуйте открыть:
https://ваш-сайт.ru/wp-adminВозможные варианты:
- Админка открывается — проблема может быть в конкретной странице или плагине.
- Админка тоже показывает ошибку 500 — вероятнее всего проблема связана с PHP, темой, плагинами или сервером.
5. Проверьте журнал ошибок
Откройте панель управления хостингом и найдите:
- Error Log;
- PHP Errors;
- Apache/Nginx Logs.
Ищите строки:
Fatal errorAllowed memory size exhaustedCall to undefined functionMaximum execution time exceeded
6. Включите режим отладки WordPress
В файле wp-config.php добавьте:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);После этого WordPress начнет записывать ошибки в:
wp-content/debug.log7. Проверьте свободное место на хостинге
Проверьте:
- свободное место;
- количество файлов (inode);
- лимиты тарифа.
8. Отключите последние изменения
Если ошибка появилась после обновления:
- отключите последний установленный плагин;
- верните предыдущую версию PHP;
- переключитесь на стандартную тему WordPress.
9. Проверьте статус хостинга
Проверьте:
- проводятся ли технические работы;
- нет ли аварии серверов;
- не превышены ли лимиты аккаунта.
10. Сделайте резервную копию перед изменениями
Перед серьезным исправлением:
- скачайте файлы сайта;
- сохраните базу данных;
- создайте резервную копию текущего состояния.
Как исправить ошибку 500 Internal Server Error в WordPress
Шаг 1. Очистите кэш браузера и CDN
Проверьте:
- браузер;
- Cloudflare;
- LiteSpeed Cache;
- WP Rocket.
Шаг 2. Проверьте файл .htaccess
- найдите
.htaccess; - переименуйте его в
.htaccess_old; - откройте сайт.
Если сайт заработал:
Настройки → Постоянные ссылки → Сохранить.
WordPress автоматически создаст новый файл.
Шаг 3. Включите режим отладки WordPress
В файле wp-config.php замените:
define('WP_DEBUG', false);на:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);После этого ошибки будут записываться в wp-content/debug.log
Шаг 4. Отключите все плагины
Переименуйте папку wp-content/plugins в plugins_old.
Если сайт заработал — проблема в одном из плагинов. Возвращайте их по одному.
Шаг 5. Переключитесь на стандартную тему
Переименуйте текущую тему в папке wp-content/themes.
WordPress автоматически активирует одну из тем Twenty Twenty.
Шаг 6. Увеличьте лимит памяти PHP
Добавьте в wp-config.php:
define('WP_MEMORY_LIMIT','512M');Шаг 7. Проверьте версию PHP
Большинство современных сайтов работают лучше всего на PHP 8.2–8.3.
Шаг 8. Восстановите файлы WordPress
Замените:
- wp-admin
- wp-includes
Шаг 9. Проверьте права доступа
Правильные права:
755 для каталогов
644 для файловШаг 10. Проверьте журналы ошибок
Практически любой хостинг хранит:
- PHP log;
- Apache log;
- Nginx log.
Шаг 11. Обратитесь в техническую поддержку хостинга
Что делать, если ошибка появилась после обновления WordPress
- очистите кэш;
- отключите плагины;
- переключитесь на стандартную тему;
- проверьте совместимость версии PHP;
- восстановите файлы ядра WordPress из свежего архива;
- при необходимости откатитесь к резервной копии.
Когда следует обращаться в техподдержку хостинга

Большинство ошибок 500 в WordPress можно устранить самостоятельно, однако существуют ситуации, когда проблема находится на уровне сервера и требует вмешательства специалистов хостинга.
Обратитесь в поддержку, если:
1. Ошибка появилась без каких-либо изменений
Если:
- сайт работал несколько часов назад;
- никаких обновлений не выполнялось;
- настройки не менялись;
возможная причина:
- сбой сервера;
- проблемы PHP-FPM;
- перегрузка сервера;
- авария базы данных.
2. Сервер превышает лимиты ресурсов
Хостинг может ограничивать:
- процессорное время CPU;
- оперативную память;
- количество процессов PHP;
- количество одновременных запросов.
Признаки:
- сайт периодически открывается;
- ошибка появляется при высокой нагрузке;
- в логах есть сообщения о превышении лимитов.
3. В логах указаны серверные ошибки
Например:
PHP-FPM failed
Apache internal error
Nginx upstream error
Database connection failed
Permission deniedТакие ошибки часто невозможно исправить без доступа администратора сервера.
4. Не работает даже простой HTML-файл
Создайте файл:
test.htmlс обычным текстом.
Если даже он не открывается и сервер возвращает 500, проблема практически наверняка находится на стороне хостинга.
5. Возникают ошибки после смены версии PHP
Если после переключения PHP:
- сайт не запускается;
- нет доступа к настройкам;
- сервер выдает критические ошибки;
попросите поддержку проверить совместимость конфигурации.
6. Есть подозрение на блокировку ModSecurity или WAF
Системы безопасности сервера могут блокировать:
- AJAX-запросы WordPress;
- REST API;
- загрузку файлов;
- работу WooCommerce.
В этом случае только администратор сервера может посмотреть правила блокировки.
7. Повреждены системные файлы сервера
Если проблема связана с:
- Apache;
- Nginx;
- PHP;
- MySQL;
- настройками виртуального хоста,
исправление возможно только на стороне провайдера.
8. Нет доступа к журналам ошибок
Некоторые недорогие хостинги скрывают серверные логи.
Без них диагностика превращается в угадывание.
Попросите поддержку предоставить:
- PHP error log;
- Apache/Nginx error log;
- информацию о превышении лимитов.
9. Сайт заражен, но очистка не помогает
Если после удаления вредоносного кода ошибка сохраняется, возможно:
- изменены системные настройки;
- повреждены права доступа;
- сервер заблокировал аккаунт.
10. Ошибка сохраняется после восстановления резервной копии
Если даже чистая резервная копия показывает HTTP 500, проблема может быть:
- в серверной конфигурации;
- версии PHP;
- настройках базы данных;
- ограничениях аккаунта.
Что написать в поддержку хостинга
Чтобы получить быстрый ответ, не пишите просто:
«Сайт не работает, ошибка 500».
Лучше отправить:
Здравствуйте.
На сайте возникает ошибка HTTP 500 Internal Server Error.
URL сайта:
Дата и время появления ошибки:
Последние изменения перед появлением ошибки:
Версия PHP:
CMS: WordPress
Пожалуйста, проверьте:
- error log сервера;
- PHP-FPM;
- превышение лимитов аккаунта;
- блокировки ModSecurity/WAF.
Спасибо.Такой запрос значительно ускоряет диагностику.
Как предотвратить появление ошибки 500 в будущем
Чтобы свести риск к минимуму:
- регулярно создавайте резервные копии сайта;
- обновляйте WordPress, темы и плагины только после тестирования;
- используйте совместимые версии PHP;
- не устанавливайте плагины из непроверенных источников;
- контролируйте использование ресурсов хостинга;
- периодически проверяйте сайт на наличие вредоносного кода;
- ведите журнал изменений, чтобы быстро определить источник проблемы.
FAQ
Ошибка 500 Internal Server Error не указывает на конкретную неисправность, но почти всегда связана с проблемами в конфигурации сервера, PHP, теме, плагинах или самом WordPress. Последовательная диагностика — от проверки файла .htaccess и режима отладки до анализа журналов ошибок — позволяет быстро локализовать источник проблемы и восстановить работоспособность сайта.
Чтобы подобные ситуации не приводили к длительным простоям, важно регулярно делать резервные копии, следить за совместимостью версий PHP, тестировать обновления на копии сайта и использовать надежный хостинг с доступом к логам и качественной технической поддержкой.
Источники
При подготовке статьи использовались официальные руководства WordPress, документация веб-серверов Apache и Nginx, документация PHP, спецификации HTTP, а также материалы Cloudflare и панели управления хостингом. Эти источники содержат актуальные рекомендации по диагностике и устранению ошибки 500 Internal Server Error.
- WordPress Support — Debugging in WordPress
https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/ - WordPress Support — Common WordPress Errors
https://wordpress.org/documentation/article/common-wordpress-errors/ - WordPress Support — FAQ Troubleshooting
https://wordpress.org/documentation/article/faq-troubleshooting/ - PHP Manual — Error Handling
https://www.php.net/manual/en/book.errorfunc.php - PHP Manual — Runtime Configuration (
memory_limit,max_execution_time)
https://www.php.net/manual/en/ini.core.php - Apache HTTP Server Documentation — .htaccess Files
https://httpd.apache.org/docs/current/howto/htaccess.html - Apache HTTP Server Documentation — HTTP Status Codes
https://httpd.apache.org/docs/current/mod/core.html - Nginx Documentation — Logging
https://nginx.org/en/docs/debugging_log.html - RFC 9110 — HTTP Semantics (HTTP Status Codes)
https://www.rfc-editor.org/rfc/rfc9110 - Cloudflare Support — Error 500: Internal Server Error
https://developers.cloudflare.com/support/troubleshooting/http-status-codes/cloudflare-5xx-errors/error-500/ - cPanel Documentation — Errors and Error Logs
https://docs.cpanel.net/ - Plesk Documentation — PHP Settings and Logs
https://docs.plesk.com/





















Комментарии к записи: 0