Setup guide · WordPress
Turn a WordPress site into an installable PWA (2026)
Add PWA install to any WordPress theme — manifest via functions.php, service worker plugin, and a one-line install popup.
Key takeaways
- Upload manifest.webmanifest and sw.js to the WordPress root (SFTP or file manager).
- Add the manifest link via functions.php or an Insert Headers plugin.
- Install analytics beat WordPress plugin dashboards — use InstantPWA to see real numbers.
Before you start
- WordPress 5.5+
- HTTPS origin
- File-manager access or SFTP
manifest.webmanifest
{
"name": "Your product",
"short_name": "Product",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#111827",
"icons": [
{ "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }
]
}Step-by-step for WordPress
- Step 1Upload manifest and sw.js
Place both files at /wp-content/../ (the site root).
- Step 2Link the manifest
Add to your theme functions.php (or use Insert Headers and Footers).
add_action('wp_head', function () { echo '<link rel="manifest" href="/manifest.webmanifest">'; echo '<meta name="theme-color" content="#111827">'; }); - Step 3Add the install popup
Paste the InstantPWA snippet into your header — no plugin needed.
Minimal sw.js
// public/sw.js
self.addEventListener('install', (e) => self.skipWaiting());
self.addEventListener('activate', (e) => self.clients.claim());
self.addEventListener('fetch', () => {});Common WordPress gotchas
- Caching plugins (WP Rocket, W3 Total Cache) can serve stale manifests. Purge cache after any change.
- Some WordPress hosts strip the `.webmanifest` MIME type. Test with `curl -I` — you should see `application/manifest+json`.
FAQ
Do I need a native app if my WordPress site is a PWA?
No. Once your WordPress site meets the three PWA criteria (HTTPS, a manifest, a service worker), Chromium browsers offer to install it and iOS Safari 16.4+ supports the full standalone experience — including web push.
Will a service worker slow my WordPress site down?
Not measurably on first load. The worker installs asynchronously after the page becomes interactive. On repeat visits it typically improves LCP and TTFB because assets are served from cache.
Can I still deploy my WordPress site to Vercel, Netlify or Cloudflare?
Yes. Any static or edge host works — the manifest and service worker are plain files served from the origin. No build-time integration is required.
Skip the setup — drop in one line
InstantPWA handles the install prompt across iOS, Android and desktop. Free forever for one popup.
Get started free