Деплой PWA на shared hosting

Не Vercel, не Netlify — обычный shared hosting с PHP. PWA-приложение здесь работает, есть нюансы.

Деплой PWA на shared hosting

Не у каждого проекта есть бюджет на Vercel или Netlify. Обычный shared hosting с PHP — это всё ещё актуально, особенно в РФ. PWA на таком хостинге работает.

Деплой PWA на shared hosting
Что нужно настроить на обычном shared hosting для 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 уникальных пользователей в день — без проблем.