Maintenance mode завис: как вытащить сайт из бесконечного режима обслуживания
Автор: Александр, технический специалист WordPress
Дата публикации: 5 июня 2026
Последнее обновление: 5 июня 2026
Когда вы заходите на сайт и видите сообщение «Briefly unavailable for scheduled maintenance. Check back in a minute», это значит, что WordPress обновляет ядро, плагины или тему. Обычно режим обслуживания длится несколько секунд и выключается автоматически. Но что делать, если сайт завис в этом состоянии на часы или дни?
Почему WordPress зависает в режиме обслуживания
WordPress создаёт специальный файл .maintenance в корневой директории сайта перед началом обновления. После завершения обновления этот файл удаляется. Зависание происходит, когда обновление прерывается — например, из-за тайм-аута PHP, обрыва соединения с сервером или ошибки в плагине во время обновления.
Файл .maintenance остаётся, а механизма автоматической очистки по таймеру у WordPress нет. Сайт продолжает показывать заглушку даже после того, как технически всё уже завершилось.
Как проверить, что виноват именно .maintenance
Самый простой способ — подключиться к серверу по FTP/SFTP или через файловый менеджер хостинга и заглянуть в корневую директорию сайта (туда, где лежат wp-config.php, index.php, wp-content). Если вы видите файл .maintenance — вот он, виновник.
Проверить через SSH:
ls -la /var/www/site.ru/ | grep maintenance
Если файл есть — выводится строка вида:
-rw-r--r-- 1 user user 46 Jun 5 12:30 .maintenance
Решение 1: удалить .maintenance вручную (самое простое)
Это базовый и безопасный способ, который подходит для 90% случаев.
Через FTP/SFTP:
1. Подключитесь к серверу любым FTP-клиентом (FileZilla, Total Commander и т.д.)
2. Перейдите в корень сайта
3. Найдите файл .maintenance
4. Удалите его (правый клик → Delete)
Через SSH (если доступен):
rm /var/www/site.ru/.maintenance
Через файловый менеджер хостинга:
1. Зайдите в панель управления хостингом (ISPmanager, cPanel, DirectAdmin)
2. Откройте файловый менеджер
3. Найдите .maintenance в корне сайта
4. Удалите
После удаления обновите страницу — сайт снова должен работать.
Решение 2: через wp-admin, если он ещё доступен
Иногда админ-панель WordPress продолжает работать, хотя фронтенд показывает заглушку. Зайдите в /wp-admin/ и попробуйте выполнить обновление повторно через Панель управления → Обновления. WordPress сам удалит .maintenance перед началом нового обновления.
Если эта страница не открывается — переходите к Решению 1.
Решение 3: автоматический тайм-аут на уровне сервера
На некоторых хостингах можно настроить автоматическое удаление .maintenance через задачу cron. Это профилактическая мера, чтобы проблема не повторилась.
Добавьте задачу в cron на сервере:
*/5 * * * * cd /var/www/site.ru && test -f .maintenance && find .maintenance -mmin +5 -delete
Эта команда каждые 5 минут проверяет: есть ли .maintenance, и если файл старше 5 минут — удаляет его. Подставьте свой путь к сайту.
Почему это не должно происходить часто
Если режим обслуживания зависает регулярно — проблема глубже:
- Слишком маленький тайм-аут PHP — проверьте
max_execution_timeв php.ini. Должен быть не меньше 120 секунд для обновлений. - Медленный сервер — отклик MySQL может превышать допустимое время ожидания. Проверьте производительность базы данных.
- Конфликт плагинов — отключайте плагины по одному, чтобы найти тот, который срывает обновление.
- Недостаточно памяти PHP — значение
memory_limitдолжно быть не ниже 128M, а лучше 256M.
# Проверка настроек PHP из командной строки
php -i | grep -E 'max_execution_time|memory_limit'
Профилактика
- Обновляйте сайт вручную в часы низкой нагрузки, а не доверяйте автоматическим обновлениям
- Держите бекап перед любым крупным обновлением
- Используйте staging-копию для тестирования обновлений до применения на боевом сайте
- Настройте мониторинг — сервисы вроде UptimeRobot или Better Uptime заметят проблему раньше посетителей
Что делать, если удаление .maintenance не помогло
Если после удаления .maintenance сайт всё ещё не работает, проверьте:
- Кэш браузера и CDN — очистите кэш или откройте сайт в режиме инкогнито
- Логи ошибок PHP — включите
WP_DEBUGвwp-config.php, чтобы увидеть реальную ошибку:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Файл wp-content/debug.log покажет, что именно пошло не так.
- Файл .maintenance мог быть восстановлен веб-приложением — проверьте, не пересоздаёт ли его какой-то плагин безопасности или кэширования.
Краткий итог
- Режим обслуживания WordPress управляется файлом
.maintenanceв корне сайта - Зависание — всегда следствие прерванного обновления (тайм-аут, ошибка плагина)
- Лечение в 90% случаев — удаление
.maintenanceчерез FTP, SSH или файловый менеджер - Если ситуация повторяется — проверьте тайм-ауты PHP и наличие конфликтующих плагинов
