Если сайт временно недоступен из-за реконструкции — 503 Service Unavailable с заголовком Retry-After. Это единственный правильный ответ.
Что означают коды
- 503 + Retry-After: «Сайт временно недоступен, приходите через N часов». Поисковик сохраняет страницы в индексе и возвращается позже
- 200 с заглушкой: поисковик проиндексирует заглушку «Сайт на реконструкции» вместо вашего контента. Позиции упадут
- 302: временный редирект — может запутать поисковик, особенно если затянется
- 404/410: страницы вылетят из индекса. Восстановление займёт недели
Максимальный срок 503 без последствий — до 2-3 дней. Если реконструкция дольше, лучше делать по частям, не выключая сайт целиком.
Подробнее о кодах
- 503 + Retry-After: лучший вариант. Говорит роботу «приходи через N часов». Google не деиндексирует
- 200 с заглушкой: приемлемо для краткосрочных работ (часы). Но робот может проиндексировать заглушку
- 302: допустимо, но не идеально — Google может начать ранжировать страницу-заглушку
- 404/410: НИКОГДА не используйте при реконструкции — Google начнёт удалять страницы из индекса
Максимальное время простоя без последствий для SEO: 2–3 дня с кодом 503. Если работы дольше — настройте maintenance mode, который возвращает 503 обычным пользователям, но пропускает Googlebot к рабочей версии.
Дополню практическими рекомендациями:
При использовании 503 кода обязательно проверьте его через инструменты вебмастера (Google Search Console, Яндекс.Вебмастер). Убедитесь, что боты видят именно этот статус, а не 200 OK из-за кеширования или ошибок конфигурации сервера. Для тестов подойдут curl -I или сервисы типа httpstatus.io. Если реконструкция затягивается, добавьте в Retry-After реалистичный срок (например, Retry-After: 86400 для 24 часов) — это снизит риск частых проверок ботом.
Важно: даже с 503 поисковики могут периодически запрашивать главную страницу. Если на сервере есть критически важные для SEO страницы (каталоги, статьи), можно временно закрыть их от индексации через noindex в метатегах или X-Robots-Tag: noindex в заголовках. Но не злоупотребляйте — это резервный вариант. Основной инструмент остаётся 503 + чёткий тайминг.
Пример для Apache/Nginx:
# Nginx
error_page 503 /maintenance.html;
location = /maintenance.html {
internal;
return 503 "Service Temporarily Unavailable";
add_header Retry-After 3600;
}