Как создать PWA для сайта

Никита Калашников
Адаптация уже готового проекта под формат Progressive Web App — это не переписывание кода с нуля, а надстройка над существующей архитектурой. В 2026 году это основной путь для бизнеса, который хочет повысить удержание (retention) без колоссальных затрат.
Ниже — детальный гид по тому, как превратить ваш сайт в полноценное приложение, независимо от того, написан он на «чистом» коде, фреймворке или конструкторе.
1. Технический фундамент: Что подготовить в первую очередь
Прежде чем внедрять файлы, проверьте два критических условия:
- HTTPS. PWA не работает на незащищенных протоколах. Service Worker — это мощный инструмент, который перехватывает сетевые запросы, поэтому браузеры разрешают его запуск только в безопасной среде.
- Адаптивность. Если ваш сайт плохо отображается на мобильных устройствах, PWA не поможет. Интерфейс должен выглядеть как нативное приложение: удобные кнопки под большой палец, отсутствие горизонтальной прокрутки и скрытые элементы десктопного меню.
2. Какие файлы нужны для адаптации под PWA
Для базовой трансформации вам понадобится три ключевых элемента.
А. Манифест приложения (manifest.json)
Это паспорт вашего сайта. Он сообщает системе, как именно отображать иконку, какой цвет будет у статус-бара и как запускать приложение (в браузере или в отдельном окне без адресной строки).
Важные ключи 2026 года:
display: standalone— убирает интерфейс браузера.shortcuts— позволяет пользователю при долгом нажатии на иконку сразу перейти в нужный раздел (например, «Корзина» или «Поиск»).screenshots— необходимы для того, чтобы современные браузеры показывали красивое превью при установке.
1{
2 "name": "Global Tech Service",
3 "short_name": "GTS",
4 "start_url": "/index.html",
5 "display": "standalone",
6 "background_color": "#ffffff",
7 "theme_color": "#1a1a1a",
8 "icons": [
9 {"src": "/icons/192x192.png", "sizes": "192x192", "type": "image/png"},
10 {"src": "/icons/512x512.png", "sizes": "512x512", "type": "image/png"}
11 ],
12 "shortcuts": [
13 {
14 "name": "Каталог",
15 "url": "/catalog",
16 "icons": [{"src": "/icons/cat.png", "sizes": "96x96"}]
17 }
18 ]
19}
Б. Service Worker (sw.js)
Это скрипт-прослойка между браузером и сетью. Его задача — кэшировать данные. Даже если у пользователя пропадет 5G в лифте, PWA откроет закэшированную версию страницы или покажет стильную заглушку «Вы офлайн» вместо стандартного динозаврика Chrome.
В. Набор иконок и Splash-экранов
Вам понадобится пакет иконок в формате .png (минимум 192x192 и 512x512 пикселей) и адаптивные заставки для iOS (Apple требует отдельные link-теги для каждого разрешения экрана).
3. Адаптация на разных платформах
Фреймворки (React, Vue, Angular, Next.js)
Здесь создать PWA проще всего, так как большинство современных сборщиков (Vite, Webpack) имеют готовые плагины.
- Vite: Используйте
vite-plugin-pwa. Он автоматически генерирует манифест и Service Worker. Вам остается только настроить стратегию кэширования (например, Stale-While-Revalidate — показывать старый кэш, пока обновляется новый). - Next.js: Существует модуль
next-pwa, который интегрируется в конфиг и делает приложение прогрессивным за 5 минут.
CMS (WordPress, Bitrix, OpenCart)
Если ваш сайт работает на популярной «движке», заказать разработку PWA можно в виде установки и настройки готовых модулей.
- WordPress: Плагины вроде SuperPWA или PWA for WP делают 90% работы. Они сами создают манифест и базовый воркер. Однако для сложного функционала (например, интеграции с WooCommerce для офлайн-корзины) потребуется кастомная доработка кода.
- 1С-Битрикс: Платформа имеет штатные инструменты для работы с мобильными приложениями, но для «чистого» PWA чаще всего пишется отдельный обработчик в папке
/local/templates/.
Конструкторы (Tilda, Wix, Webflow)
Здесь возможности ограничены, но они есть.
- Tilda: Позволяет добавить
manifest.jsonиsw.jsчерез вставку HTML-кода и загрузку файлов в корень (если у вас подключен свой домен). - Webflow: Дает гибкость в настройке манифеста через настройки проекта.
- Нюанс: На конструкторах сложно реализовать глубокое кэширование динамических данных, поэтому PWA на них чаще используется как «ярлык для быстрого доступа».
4. Пошаговый алгоритм: Как сделать PWA из своего сайта
Если вы решили не заказывать разработку PWA у агентства, а реализовать это самостоятельно, придерживайтесь этого плана:
- Создайте Manifest. Воспользуйтесь онлайн-генераторами или напишите вручную, положив файл в корневую папку сайта. Подключите его в
<head>:<link rel="manifest" href="/manifest.json">. - Напишите Service Worker. Для начала используйте готовую библиотеку от Google — Workbox. Она упрощает написание правил кэширования (что хранить вечно, а что обновлять при каждом входе).
- Зарегистрируйте воркер. Добавьте скрипт регистрации в основной файл
index.jsили перед</body>. - Протестируйте через Lighthouse. В браузере Chrome откройте DevTools -> вкладка Lighthouse -> выберите "Progressive Web App" и нажмите "Analyze page load". Система сама скажет, чего не хватает (например, забыли маскируемую иконку или цвет темы).
- Настройте Push-уведомления. Для этого потребуется сторонний сервис (например, Firebase или OneSignal), который будет отправлять сигналы вашему Service Worker.
Стоит ли из сайта делать PWA?
Вопрос в том, насколько глубокой будет адаптация.
- Минимальный уровень: Манифест + иконка (чтобы пользователь мог «установить» сайт).
- Средний уровень: Кэширование основных разделов и работа в офлайне.
- Максимальный уровень: Полноценная замена приложению с Push-рассылками, биометрией и синхронизацией данных в фоне.
Если ваш бизнес связан с ритейлом, доставкой или медиа, заказать PWA — значит получить лояльную аудиторию, которая всегда держит вашу иконку на расстоянии одного тапа.