Деплой PWA на shared hosting
Не Vercel, не Netlify — обычный shared hosting с PHP. PWA-приложение здесь работает, есть нюансы.
Не у каждого проекта есть бюджет на Vercel или Netlify. Обычный shared hosting с PHP — это всё ещё актуально, особенно в РФ. PWA на таком хостинге работает.
Что нужно настроить:
- HTTPS обязателен. Service Worker не регистрируется без HTTPS. Let's Encrypt бесплатно.
- Правильные MIME-типы. .webmanifest = application/manifest+json, .woff2 = font/woff2. Через .htaccess или panel хостера.
- Кеш-заголовки. Статика — long-term cache (year). HTML и manifest — short cache. Важно для service worker'а — иначе пользователи будут ловить старую версию.
- Service worker scope. SW должен лежать в корне, иначе scope ограничен подпапкой.
- Manifest. apple-touch-icon и webmanifest — оба нужны для нормальной установки.
Что работает не очень хорошо:
- Push-уведомления через VAPID — нужен бэкенд для отправки. На shared hosting есть PHP, можно делать.
- Background sync — некоторые хостинги жёстко лимитят background-задачи. Работа возможна, но ограничена.
В одном из наших проектов PWA-каталог на shared hosting за 200 руб/мес обслуживает 5000 уникальных пользователей в день — без проблем.