Deploying a PWA on shared hosting
Not every project gets a Vercel budget. Standard PHP shared hosting still works for PWAs in 2026.
You don't need Vercel or Netlify for a PWA. Standard shared hosting (cPanel, Plesk, FTP) still works fine in 2026, with some configuration.
What needs to be set:
- HTTPS. Service Worker requires it. Let's Encrypt is free.
- MIME types. .webmanifest as application/manifest+json. .woff2 as font/woff2. Set in .htaccess or hosting panel.
- Cache headers. Static assets get year-long cache. HTML and manifest get short cache (so updates propagate).
- Service Worker scope. SW must live at root. Otherwise scope is restricted to its subdirectory.
- Manifest. webmanifest with name, icons, theme_color. Both that and apple-touch-icon for iOS support.
What's harder on shared hosting:
- Push notifications via VAPID — needs server-side. PHP works fine for sending pushes.
- Background sync — most shared hosts limit background tasks. Limited but possible.
- HTTP/2 — many shared hosts have it now, but not all.
- Edge caching — usually need to add Cloudflare or similar in front.
Real example: a PWA catalog of 5,000 daily users running on $4/month shared hosting works fine. Vercel-style platforms are convenient, not mandatory.