Код 503 Service Unavailable означає, що сервер тимчасово не може обробити запит. На відміну від 500, це зазвичай не помилка в коді, а нестача ресурсів або навмисне відключення сайту.
Найчастіші причини
Режим обслуговування
CMS під час оновлення переводить сайт у режим обслуговування і віддає 503. У WordPress це повідомлення «Briefly unavailable for scheduled maintenance» — див. окрему статтю. Перевірте також плагіни режиму «Скоро відкриття» і правила в .htaccess, які можуть повертати 503.
Вичерпано ліміт процесів
Кожен тариф має обмеження на кількість одночасних процесів PHP. Коли сайт отримує сплеск відвідувачів або ботів, нові запити отримують 503. Що робити:
- Увімкніть кешування сторінок (для WordPress — LiteSpeed Cache, WP Super Cache або аналог).
- Перевірте журнал доступу: часто навантаження створюють боти, що сканують
wp-login.phpабоxmlrpc.php. Заблокуйте їх. - Якщо навантаження реальне — перейдіть на більший тариф або VPS.
Переповнений пул PHP-FPM (VPS)
У журналі PHP-FPM з'являється запис server reached pm.max_children setting. Збільште pm.max_children у налаштуваннях пулу з урахуванням пам'яті: в середньому один процес PHP займає 40–80 МБ.
Служба зупинена
Якщо бекенд не запущений, частина конфігурацій віддає 503 замість 502. Перевірте стан служб на VPS:
systemctl status nginx php8.3-fpm mysql
Як не втратити позиції в пошуку
Короткочасна 503 не шкодить SEO: пошукові системи розуміють, що сайт тимчасово недоступний, і повертаються пізніше. Якщо ви навмисно закриваєте сайт на обслуговування, віддавайте саме 503 (а не 200 зі сторінкою-заглушкою) і додайте заголовок Retry-After.