Ошибки 500, 502, 503, 504: что они значат и кто виноват
Все ошибки, которые начинаются с пятёрки, означают одно: сервер получил запрос, но не смог его нормально обработать. 500 — упал код самого сайта, 502 — одна часть сервера не получила ответа от другой, 503 — сервер перегружен или временно отключён, 504 — операция шла слишком долго, и сервер перестал ждать. По коду можно понять, кому писать — разработчику или хостеру. Ниже — сводная таблица, разбор каждого кода, порядок поиска причины и влияние таких ошибок на поиск.
Пятисотые ошибки выглядят одинаково пугающе: белая страница, короткий английский текст и цифры. Для владельца сайта все они звучат как «всё сломалось». На деле каждый код указывает в свою сторону.
Что такое ошибки 5xx и чем они отличаются от 4xx
На каждый запрос браузера сервер отвечает трёхзначным кодом. 200 — всё в порядке, страница отдана. Коды, начинающиеся с тройки, — перенаправления. С четвёрки — ошибка на стороне запроса: страницы нет (404) или доступ запрещён (403). С пятёрки — ошибка на стороне сервера: запрос правильный, но выполнить его не получилось.
Разница практическая. 404 означает, что сломана ссылка или удалена страница, а сайт в целом работает — об этом у нас есть отдельная статья про страницу 404. Пятисотая означает, что сломано что-то в работе сайта или сервера, и посетитель ничего с этим сделать не может. Если же сайт не отвечает вообще и браузер не показывает никакого кода, причина в другом — в домене, DNS или сертификате; для этого случая есть порядок проверки в статье «Сайт не открывается: что делать».
Ошибки 500, 502, 503, 504: сводная таблица
| Код | Что значит | Кто обычно виноват | Что делать |
|---|---|---|---|
| 500 Internal Server Error | Код сайта завершился с ошибкой | Сайт: обновление, правка настроек, нехватка памяти | Вспомнить последние изменения, посмотреть лог ошибок, писать разработчику |
| 502 Bad Gateway | Веб-сервер не получил ответа от обработчика сайта | Хостинг или нехватка ресурсов тарифа | Подождать минуту, проверить нагрузку, писать хостеру |
| 503 Service Unavailable | Сервер временно не принимает запросы | Лимиты тарифа, перегрузка, режим обслуживания | Проверить уведомления о лимитах и режим обслуживания |
| 504 Gateway Timeout | Обработчик работал слишком долго, сервер перестал ждать | Сайт: тяжёлая операция или медленный запрос к базе | Найти долгую операцию, ускорить или вынести в фон — к разработчику |
Деление на «сайт» и «хостинг» условное: одна и та же ошибка может появиться по обеим причинам. Таблица показывает, с чего разумнее начинать.
Ошибка 500 Internal Server Error — сломался сам сайт
Самая частая. Сервер жив, но код сайта упал с ошибкой. Типичные причины: обновили плагин или тему — и что-то не совместимо; кто-то правил файл конфигурации и оставил лишний символ; закончилась квота памяти на хостинге; истёк срок действия лицензии на платный модуль.
- Обновление. Новая версия плагина, темы или самой системы несовместима с остальным. Сюда же относится смена версии PHP в панели хостинга: старый код на новой версии может не запуститься.
- Ошибка в настройках. Лишний символ в файле конфигурации или неверное правило в
.htaccess— файле настроек веб-сервера, который лежит в папке сайта. - Нехватка памяти. Скрипту выделен лимит, и тяжёлая страница в него не укладывается.
- Права на файлы. После переноса или ручной загрузки файлов сервер не может прочитать или выполнить нужный файл.
- Недоступна база данных. Сменили пароль, база переполнена или остановилась — часть систем в этом случае показывает именно 500.
Верный признак: ошибка появилась сразу после того, как кто-то что-то менял. У нас классика жанра — клиент нажал «обновить всё» в WordPress в пятницу вечером. Если у вас есть тестовая копия сайта, такие вещи ловятся до боевого сервера.
Кому писать: разработчику. Хостер здесь обычно не при чём и максимум покажет строчку из лога ошибок.
Ошибка 502 Bad Gateway — сервер не дождался ответа от соседа
На современном хостинге запрос проходит через цепочку: сначала быстрый веб-сервер, потом обработчик PHP, потом база данных. 502 означает, что первое звено обратилось ко второму, а оно не ответило или ответило ерундой. Чаще всего это перегруженный или упавший PHP-процесс.
Причины: резкий рост трафика, тяжёлый скрипт, который съел все ресурсы, или неполадки у самого хостера. Если 502 появляется периодически на пару минут и уходит сама — это почти всегда нехватка ресурсов тарифа. Если сайт работает через CDN или сервис защиты от атак, 502 может показывать уже он: это значит, что до вашего сервера не достучался сам посредник.
Кому писать: сначала хостеру. Если он отвечает «на нашей стороне всё в порядке», то разработчику с просьбой посмотреть, что грузит сервер.
Ошибка 503 Service Unavailable — сервер временно не принимает
Сервер честно говорит: сейчас не могу. Либо он перегружен, либо на нём идут работы, либо сайт превысил лимиты тарифа и хостер его придушил. На виртуальном хостинге 503 очень часто означает именно это: вы упёрлись в потолок процессорного времени или одновременных запросов.
Ещё один вариант — сайт сам показывает 503 во время обновления или в режиме обслуживания. У WordPress есть такой режим, и иногда он «залипает», если обновление прервалось: в корневой папке сайта остаётся служебный файл .maintenance, и пока его не удалить, посетители видят сообщение о техническом обслуживании.
Кому писать: если ошибка стабильная — разработчику проверить режим обслуживания. Если плавающая — хостеру, спросить про лимиты. Часто в этот момент выясняется, что пора на тариф выше или на VPS. Признаки того, что сайт вырос из тарифа, мы собрали в статье о том, когда переезжать с хостинга на VPS.
Ошибка 504 Gateway Timeout — ждали, но не дождались
Похожа на 502, но здесь обработчик не молчал — он просто работал слишком долго, и веб-сервер сдался по таймауту. Типичный сценарий: тяжёлый отчёт в админке, выгрузка каталога в 1С, импорт тысяч товаров, медленный запрос к базе данных. Бывает и внешняя причина: сайт ждёт ответа от стороннего сервиса — платёжной системы, службы доставки, CRM, — а тот завис.
Один наш клиент получал 504 каждое утро ровно в 9:00 — в это время запускался обмен с 1С, и на слабом тарифе он блокировал всё остальное. Перенесли обмен на ночь и разбили на части — ошибка ушла.
Кому писать: разработчику. Задача — найти медленную операцию и либо ускорить её, либо вынести в фон. Просьба к хостеру «увеличьте таймаут» лечит симптом: страница перестанет падать, но так и будет открываться по минуте.
Как найти причину: порядок действий
- Зафиксируйте, что именно происходит: код ошибки, адрес страницы, время. Проверьте, падает весь сайт или только отдельные разделы — например, только админка или только каталог.
- Убедитесь, что ошибку видите не только вы. Наш инструмент проверки доступности сайта покажет код ответа, который сервер отдаёт снаружи.
- Вспомните, что менялось за последние часы: обновления, новые плагины, правки файлов, смена версии PHP, запуск рекламы или рассылки.
- Откройте панель хостинга и посмотрите графики нагрузки, уведомления о превышении лимитов и свободное место на диске.
- Найдите в панели журнал ошибок — обычно раздел называется «Логи» или «Журналы». Последние строки в нём на момент сбоя чаще всего прямо называют файл и причину.
- Если виновато свежее изменение — откатите его: отключите последний плагин, верните прежнюю версию PHP, восстановите файл из резервной копии.
- Если причина не очевидна, отправьте разработчику или хостеру собранное: код, время, страницу, строку из лога и список изменений.
Ошибка появляется время от времени: что это значит
Постоянная ошибка неприятна, но понятна. Сложнее, когда сайт падает на пару минут и оживает сам. Здесь помогает расписание: когда именно это происходит.
| Когда появляется | Вероятная причина | Что проверить |
|---|---|---|
| В одно и то же время каждый день | Задача по расписанию: обмен с 1С, импорт, резервное копирование | Список заданий планировщика и время их запуска |
| В часы пиковой посещаемости | Не хватает ресурсов тарифа | Графики нагрузки и лимиты в панели хостинга |
| После запуска рекламы или рассылки | Всплеск посетителей без кэширования страниц | Включён ли кэш, выдержит ли тариф пик |
| Только на отдельных страницах | Тяжёлый запрос к базе или ошибка в конкретном модуле | Лог ошибок и медленные запросы |
| Хаотично, без связи с посещаемостью | Боты и парсеры, проблемы у хостера, сбои оборудования | Логи запросов и страницу статуса хостера |
Короткие падения легко пропустить: вы открываете сайт, а он уже работает. Чтобы видеть картину целиком, нужен внешний мониторинг сайта, который проверяет его каждую минуту и записывает время и код каждой ошибки.
Как ошибки 5xx влияют на поиск и рекламу
Разовая ошибка на несколько минут поисковому продвижению не вредит: робот придёт позже и получит нормальную страницу. Проблемы начинаются, когда ошибки регулярные. Робот, который раз за разом получает 5xx, начинает обходить сайт реже, а страницы, недоступные долгое время, могут выпасть из поиска. Сколько именно для этого нужно времени, поисковики не раскрывают.
Следить за этим стоит в Яндекс Вебмастере: в отчётах об обходе видно, какие коды ответа получал робот, а в диагностике появляется предупреждение, если сайт отвечал ошибками. Какие разделы смотреть регулярно, описано в статье о том, что проверять в Яндекс Вебмастере.
Один случай, когда 503 — правильный ответ: плановые работы. Если сайт нужно закрыть на час, заглушка с кодом 503 сообщает роботу, что это временно и нужно зайти позже. Заглушка с кодом 200 хуже: робот может принять её за новое содержимое страниц.
С рекламой проще и больнее: каждый клик, который привёл на страницу с ошибкой, оплачен впустую. Если сайт лежит дольше нескольких минут, кампании стоит поставить на паузу.
Частые ошибки владельцев сайта
- Обновляют всё разом на боевом сайте. Если после этого появилась 500, непонятно, какое из десяти обновлений её вызвало. Обновляйте по одному и сначала на тестовой копии.
- Лечат перезагрузкой. Перезапуск сервера снимает симптом на час, а причина остаётся. Если без перезагрузки не обойтись — сначала сохраните логи.
- Покупают тариф дороже, не посмотрев логи. Больше ресурсов не исправит ошибку в коде и не ускорит запрос, который выполняется минуту.
- Пишут «ничего не работает». Без кода ошибки, времени и адреса страницы поддержка начнёт с уточняющих вопросов, и час уйдёт на переписку.
- Привыкают. «Иногда падает, потом само проходит» — это не норма, а проблема, которая вырастет вместе с посещаемостью.
Что можно сделать самому до ответа специалиста
- Обновить страницу через минуту: кратковременные 502 и 503 часто проходят сами.
- Вспомнить, что менялось за последний час: обновления, новые плагины, правки файлов.
- Зайти в панель хостинга и посмотреть график нагрузки и уведомления о лимитах.
- Проверить свободное место на диске.
- Сделать скриншот с текстом ошибки и временем — для тикета.
- Поставить рекламу на паузу, если сайт недоступен дольше нескольких минут.
Коротко
500 — ошибка в коде или настройках сайта, идите к разработчику. 502 и 503 — чаще ресурсы и хостинг: проверьте лимиты и спросите хостера. 504 — слишком долгая операция, её ищет разработчик. В любом случае фиксируйте код, время и страницу, вспоминайте последние изменения и смотрите лог ошибок — в нём ответ обычно написан прямым текстом.
Если пятисотые ошибки стали регулярными гостями, это не «такое бывает». Это сигнал, что либо сайт давно не обслуживали, либо он вырос из своего хостинга. Мы в CasperLab начинаем с диагностики: смотрим логи, нагрузку и код — и говорим честно, что именно нужно: починить сайт или сменить площадку. Во втором случае поможем подобрать тариф хостинга под реальную нагрузку.
Подобрать хостинг в CasperLab
Поможем подобрать решение под вашу задачу и рассчитаем стоимость без обязательств.
Подобрать хостинг