Ключевое действие должно пережить отказ необязательных сервисов.
Модель отказа
Ограничение редко выглядит как полное отсутствие сети
У пользователя может открываться ваш домен, но не CDN, шрифт, аналитика, карта, капча, API или платежный виджет. Возможны высокий RTT, потери пакетов, сброс соединения и разные результаты у операторов.
Поэтому проверка «главная вернула 200 по Wi‑Fi» недостаточна. Разделите продукт на критичный путь — контакты, статус, заказ, вход, обращение — и необязательные улучшения. Для каждой внешней зависимости определите поведение при timeout и отказе.
Техническая подготовка и соответствие общим критериям могут повысить доступность и готовность ресурса, но не гарантируют включение в какой-либо разрешённый перечень и не заменяют решение уполномоченных органов.
Зависимости
Критический путь держите в одном контролируемом контуре
- HTML, основной CSS, логотип, иконки и ключевой шрифт доступны с вашего домена.
- Форма отправляется на российский endpoint без обязательного внешнего JS.
- Капча имеет серверную деградацию или альтернативный канал.
- Контакты и реквизиты есть обычным текстом, а не только на карте.
- Видео не блокирует чтение и имеет постер/расшифровку.
- Аналитика, чат и реклама не мешают основному действию при отказе.
Не делайте SPA‑оболочку единственным способом увидеть критичную информацию. Серверный HTML с прогрессивным улучшением быстрее показывает содержание и переживает частичный отказ JavaScript.
Слабая сеть
Снизьте вес первого экрана и число соединений
Каждый новый домен требует DNS, соединения и TLS. На плохой сети задержки складываются. Оставьте на первом экране только критичный CSS, один-два шрифта WOFF2, адаптивное изображение и небольшой JS.
| Ресурс | Бюджет-ориентир | Действие |
|---|---|---|
| HTML | Достаточно мал для быстрого первого ответа | Сжатие, без огромных inline JSON |
| Критичный CSS | Десятки, а не сотни килобайт | Удаление неиспользуемого, defer вторичного |
| Изображение hero | Под размер устройства | AVIF/WebP, width/height, srcset |
| JavaScript | Минимум до интерактивности | defer, разбивка, отказ от дубликатов |
Это не жёсткие нормативы: измеряйте на профиле Fast/Slow 3G, с потерями и холодным кэшем. Важны LCP, INP, ошибки и успешность ключевой операции.
Деградация
Каждый внешний сбой должен иметь понятный запасной путь
Используйте короткие timeout, AbortController и понятные состояния. Не держите интерфейс в вечном loader. Если поиск недоступен — покажите популярные разделы; если карта не загрузилась — адрес и телефон; если чат недоступен — форму или SMS; если платёж не подтвердился — статус «проверяем», а не повторное списание.
Service Worker может кешировать оболочку и справочные страницы, но не должен выдавать устаревший статус заказа как свежий. Разделяйте offline‑безопасный контент и операции, которым нужен сервер.
Для критичных сообщений предусмотрите независимые каналы: SMS, телефонию, e‑mail в российском контуре и страницу статуса на отдельной инфраструктуре.
Учение
Матрица проверки по сетям и устройствам
- Проверьте нескольких мобильных операторов и регионы реальными SIM, а не только VPN.
- Заблокируйте по очереди каждый внешний домен и выполните критичный сценарий.
- Добавьте latency, потерю пакетов, offline и обрыв во время POST.
- Проверьте повтор операции: форма и оплата должны быть идемпотентны.
- Соберите метрики успешности, а не только скриншоты главной.
- Назначьте дежурного и готовый текст статуса для пользователей.
Пользователь понимает состояние и может завершить основную задачу либо получить рабочую альтернативу без догадок.
FAQ
Частые вопросы
Можно ли гарантировать попадание сайта в белый список?
Нет. Техническая подготовка может повысить готовность, но решение о включении принимает не владелец сайта и публичная универсальная гарантия отсутствует.
Поможет ли российский хостинг?
Он может убрать часть внешних зависимостей, но нужно проверить DNS, CDN, капчу, аналитику, API, почту и другие узлы критичного пути.
Нужен ли PWA?
Не обязательно. Лёгкий серверный HTML и корректная деградация важнее сложной PWA. Service Worker полезен только с ясной политикой свежести.
Как проверить частичный отказ?
Блокируйте отдельные домены, ограничивайте сеть в DevTools и тестируйте реальными SIM у разных операторов, фиксируя успешность бизнес‑сценариев.
Первоисточники
Документы и руководства
- web.dev: resilient web design — прогрессивное улучшение и устойчивость
- MDN: Progressive enhancement — базовая функциональность без хрупких зависимостей
- web.dev: performance budgets — контроль веса и скорости
Дата проверки: 25 августа 2026. Нормы, ставки, интерфейсы ведомств и условия сервисов могут измениться. Перед юридически или финансово значимым решением сверьте актуальную редакцию первоисточника и обстоятельства вашей организации.