Работоспособность сайта
Ошибка 500 на сайте: как найти причину и исправить
Код 500 означает, что запрос дошёл до сервера, но тот не смог собрать страницу. Браузер здесь ни при чём: искать нужно в журнале приложения, настройках PHP, базе данных или коде.
Что мы измерили на живых сайтах
2 сентября мы заново открыли 507 адресов из карт 109 сайтов. Код 200 вернули 473 адреса, код 404 вернули 32 адреса, а код 500 встретился на 2 адресах из двух разных карт.
Опрос сделан прямыми GET-запросами к равномерной выборке адресов из sitemap.xml 2 сентября 2026 года. Выборка не случайная: это сайты, которые проверяли мы, в основном малый и средний бизнес на WordPress и Битриксе. Цифры описывают этот корпус, а не весь рунет.
Почему малая доля не делает ошибку маловажной
Пятьсотых мало на уровне всего корпуса, потому что полностью лежащий сайт быстро замечают. Опаснее одиночная страница: форма, корзина, карточка товара или раздел цен. Главная при этом открывается, мониторинг показывает зелёный статус, а заявка упирается в ошибку.
Для поискового робота результат тот же: он не получает содержимое и не может обновить адрес. Если сбой повторяется, переобход не лечит его, а только ещё раз фиксирует отказ сервера.
Как проверить самому
Сначала запросите код ответа без загрузки всей страницы:
Проверьте не только один URL из сообщения клиента. Откройте ссылки из меню, формы, корзину, оформление заказа и несколько адресов из sitemap.xml. Для плавающей ошибки повторите запрос десять раз и отдельно в момент обычной нагрузки.
Где искать причину
| Признак | Что проверять первым |
|---|---|
| Сбой появился после обновления | журнал приложения, совместимость темы и плагина, откат последней правки |
| Падает только одна страница | данные этой записи, шаблон, запросы к базе и подключаемый виджет |
| Ошибка появляется под нагрузкой | лимит процессов, память, медленные запросы и внешний сервис |
| В админке работает, снаружи нет | кеш, правила защиты, права файлов и различия ролей |
| Вместо страницы пустой ответ | журнал прокси и приложения, тайм-аут до PHP или базы |
Не включайте показ подробной ошибки посетителям на рабочем сайте: путь к файлам и текст запроса помогают атакующему. Подробность нужна в закрытом журнале, а человеку достаточно нейтральной страницы сбоя.
Порядок исправления
- Зафиксировать точный URL, время, пользователя и действие перед ошибкой.
- Найти запись за это время в журналах nginx, приложения, PHP и базы.
- Сделать резервную копию и воспроизвести проблему на копии, если правка рискованная.
- Исправить одну подтверждённую причину, не менять сразу кеш, плагины и сервер.
- Повторить исходный запрос и пройти связанные страницы тем же способом.
Сколько стоит исправление
Ошибка 500 входит в пакет работоспособности: типовая вилка для WordPress от 9 000 ₽ до 19 000 ₽ за пакет целиком. Цена зависит не от кода 500, а от причины и числа затронутых страниц. Состав и границы работы описаны на странице исправления технических ошибок.
Источники и нормы
Собственные цифры выше получены замерами Фиксометра. Определения, пороги и правила сверены с первичными документами:
- RFC 9110: 500 Internal Server Error. Стандартное значение кода ответа 500.
- Google Search Central: HTTP and network errors. Как ошибки 5xx влияют на скорость обхода и сохранение URL в индексе Google.
- WordPress Developer Resources: Debugging in WordPress. Официальный порядок включения журнала ошибок WordPress без вывода ошибок посетителю.
Частые вопросы
Ошибка 500 опаснее 404?
Да, если отвечает важная существующая страница. 404 честно говорит, что адреса нет, а 500 означает, что сервер не смог собрать то, что должно работать.
Почему после обновления страницы всё открывается?
Сбой может зависеть от нагрузки, кеша, конкретного пользователя или одного запроса к базе. Один успешный ответ не отменяет предыдущий 500, поэтому нужен журнал и повторяемый сценарий.
Можно просто увеличить память PHP?
Иногда это снимет симптом, но не причину. Если память съедает бесконечный запрос или конфликт плагинов, лимит снова закончится. Сначала нужна точная запись из журнала.
Поисковик удалит страницу сразу?
Нет. Один временный сбой обычно не решает судьбу адреса, но повторяющиеся 5xx мешают обходу и обновлению страницы. Чем важнее URL, тем быстрее стоит устранить причину.
Как проверить, что исправили?
Повторить тот же запрос несколько раз, проверить журнал на отсутствие новой записи и пройти связанные страницы. Для плавающего сбоя добавить мониторинг кода ответа.
Проверьте свой сайт
Проверка обходит не только главную и показывает адреса, которые отвечают 5xx, не завершают запрос или ведут на сломанную страницу. После отчёта можно исправить технические ошибки сайта разово или вести их через ежемесячную поддержку.