Skip to content

How to Install a PWA on WordPress (2026): 4 Ways to Convert Your Site

Turn a WordPress site into an installable progressive web app four ways, with the 2026 way to test it now Lighthouse dropped its PWA audit, and the iOS limits.

Sunny Kumar
Sunny Kumar11 min read
TL;DR

The fastest way to turn a WordPress site into a PWA is a plugin: install Super PWA, set your app name and a 512px icon, and your site becomes installable to the home screen. All modern browsers need to install a site is HTTPS and a valid web app manifest. Add a service worker only if you want offline support, it is no longer required just to install.

I have added PWAs to a handful of WordPress sites, my own included.

The first thing I will say: it is far easier than it sounds, and most guides make it harder than it is.

A Progressive Web App lets people install your site to their phone's home screen, open it like an app, and on a good day use it offline. No app store, no review queue, no native code.

The catch is that most tutorials still teach the 2022 version of this. They tell you to run a Lighthouse audit that no longer exists, and that you need a service worker just to install.

Both are out of date. This guide is the current way, with the honest limits left in.

What is a PWA, really?

A PWA is a normal website with three extra pieces bolted on: a web app manifest (a small file describing the app), an optional service worker (a script that enables offline and caching), and HTTPS (already standard).

Add those, and the browser starts treating your site like an installable app. It can sit on the home screen with its own icon, open without the address bar, and send push notifications.

What it is not: a true native app. It cannot do everything an App Store app can, and as you will see, iOS holds it back more than Android does.

Go in expecting an app-like website, not a full app replacement, and you will be happy with it.

What a PWA actually looks like: acadise.com

To keep this out of the abstract, here is one I built. Acadise is a school-search site for Indian parents, and it is a full PWA. It is not WordPress, but that does not matter: the manifest is the same file whether a plugin writes it or you do.

The Acadise homepage showing its own Add Acadise to homescreen install prompt, with an Install button and a Not now button, on top of the Compare schools with verified fees hero
Acadise's own install prompt. Because the site is installable, the browser offers to add it to the home screen, here surfaced as a custom Install card instead of the plain browser banner.

That Install button is the whole point. It only shows because the site meets the install criteria, and Acadise dresses it up as its own card instead of leaving the plain browser banner. Tap it and the site lands on the home screen like any app.

Open acadise.com/manifest.json in any browser and you can read exactly what makes it installable. Here is the real file, trimmed:

json
{
  "name": "Acadise — Find the Best Schools in India",
  "short_name": "Acadise",
  "start_url": "/?utm_source=pwa&utm_medium=homescreen",
  "display": "standalone",
  "theme_color": "#135bec",
  "background_color": "#f6f6f8",
  "icons": [
    { "src": "/assets/images/pwa/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/assets/images/pwa/icon-512.png", "sizes": "512x512", "type": "image/png" },
    { "src": "/assets/images/pwa/icon-maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
  ],
  "shortcuts": [
    { "name": "Search Schools", "url": "/schools" },
    { "name": "My Shortlist", "url": "/parent/shortlist" }
  ]
}

Once it is installed, every line above turns into something you can see on the phone:

  • short_name is the label under the icon: Acadise.
  • icons are the home-screen icon. The maskable one lets Android crop it cleanly into a circle or squircle without white edges.
  • display: standalone is why it opens in its own window with no browser bar, the single thing that makes it feel like an app.
  • theme_color: #135bec tints the status bar and title bar that brand blue.
  • shortcuts are the jump links you get on a long-press of the icon, straight to Search Schools or My Shortlist.
  • start_url carries a UTM tag, so in analytics I can see how many visits come from the installed app.

That is the whole trick. A plugin like Super PWA generates this exact file for you from a settings form; in the manual method later, you write it yourself. Same result either way.

Should you turn your WordPress site into a PWA?

Honestly, not every site needs one. A simple five-page brochure site gets little from it. But a content site, a store, a news site, or anything people return to often, that is where a PWA earns its keep, through faster repeat visits and a home-screen shortcut that brings people back.

The famous numbers you have seen quoted are real, but they are old, the early-PWA wins from 2016 to 2018. Worth knowing as proof the model works, not as fresh data:

As for the market, estimates vary wildly between research firms, so do not lean on any single figure. Grand View Research, for one, pegs the PWA market at about $2.08 billion in 2024 heading toward $21 billion by 2033. The direction is clear; the exact number is anyone's guess.

My take: if people already come back to your site, a PWA is a cheap upgrade. If they don't, fix that first.

What you need before you start

Three things, and one myth to drop.

  • HTTPS. Non-negotiable. A PWA will not install without it. Most hosts give free SSL now, so this is usually already done.
  • A square icon, 512×512 PNG. This becomes your home-screen icon. A 192×192 version too.
  • A current WordPress. Anything modern is fine; the plugins below are tested up to WordPress 7.0.

The myth: you do not need a service worker just to install. Chrome's current rule is simply HTTPS plus a valid manifest. The service worker is what adds offline support, so it is still worth having, but it is no longer the gatekeeper for installability. A lot of older guides get this wrong.

4 ways to add a PWA to WordPress

MethodDifficultyBest for
1. Super PWAEasyMost sites, fastest setup
2. PWA for WP & AMPEasyAMP sites, more control
3. Progressier (hosted)EasyNo-code, multi-platform, paid
4. Manual manifest + service workerHardDevelopers who want full control

Method 1

Super PWA

Best for: Most WordPress sites. The fastest path from website to installable app, free, about five minutes.

This is the one I reach for first. Super PWA generates the manifest and service worker for you and wires them into WordPress. No code.

4.6/540,000+ installsFree (Pro available)Tested to 7.0on WordPress.org
Super Progressive Web Apps plugin page on WordPress.org, showing the SuperPWA banner and the Download button
Super PWA on WordPress.org. It builds the manifest and service worker for you, which is why it is the quickest way in.
  1. Go to Plugins → Add New, search Super PWA, then install and activate it.
  2. Open Settings → SuperPWA and set your app name, short name, and description.
  3. Upload your 512×512 icon and a 192×192 version, then pick a background and theme colour.
  4. Choose standalone for the display mode so it opens without browser chrome, and save.

That is it. Visit your site on a phone and you will get the install prompt, or use Chrome's menu to add it to the home screen. The free version covers the essentials; push notifications run through an add-on like OneSignal.

Get Super PWA →

Method 2

PWA for WP & AMP

Best for: Sites running AMP, or anyone who wants more control over caching and push providers.

PWA for WP & AMP by Magazine3 does the same core job with more knobs: full AMP support, a choice of caching strategies, cache expiry, and more than one push provider.

4.6/520,000+ installsFree (premium add-ons)Tested to 7.0on WordPress.org
PWA for WP and AMP plugin page on WordPress.org, listing features like service worker, add to home screen, web app manifest, offline support and caching strategy
PWA for WP & AMP gives you more control, AMP support, caching strategy, cache expiry, which is handy on bigger or AMP-based sites.
  1. Install and activate PWA for WP & AMP from Plugins → Add New.
  2. Open PWA for WP and fill in the app name, short name, and description.
  3. Upload your icons and splash screen, and set your colours.
  4. Under Caching, pick a strategy (network-first is a safe default for content sites) and save.

If you run AMP, this is the better pick of the two, since it is built to handle AMP and standard pages together. Push notifications are set up under their own tab with OneSignal or Firebase.

Get PWA for WP & AMP →

Method 3

Progressier (hosted)

Best for: No-code setup, richer install and push UX, or running the same PWA across WordPress and other platforms. Paid.

Progressier is not a WordPress plugin, it is a hosted service. You add a snippet (or its WordPress integration) and manage the PWA from their dashboard, with a nicer install and push experience than the free plugins give you.

14-day free trialFrom $25/moUp to 10 PWAs on Growthon progressier.com
Progressier homepage with the headline PWA Made Easy and logos for Webflow, Shopify, WordPress, Wix and React
Progressier is a hosted PWA toolkit that works across WordPress, Shopify, Webflow and more. Polished, but a paid service with no permanent free tier.

The trade-off is money: there is no permanent free plan, with paid tiers starting around $25 a month after the trial. Reach for it when you want a managed push and install layer, or you are running PWAs on more than just WordPress. For a single WordPress site on a budget, the free plugins above do the core job.

Try Progressier →

Method 4

Manual setup

Best for: Developers who want a lean PWA with no plugin and full control over the manifest and caching.

If you would rather not add a plugin, a PWA is genuinely just two files plus a couple of lines. This is the route I take on custom builds.

1. Create the manifest. Save this as manifest.json in your site root:

json
{
  "name": "Your Site Name",
  "short_name": "YourSite",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#0b1f3a",
  "icons": [
    { "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icons/icon-512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

Those members, name, start_url, display, and the 192 and 512 icons, are what a site needs to be installable.

2. Link it from WordPress. Add this to your child theme's functions.php:

php
add_action( 'wp_head', function () {
    echo '<link rel="manifest" href="/manifest.json">';
    echo '<meta name="theme-color" content="#0b1f3a">';
} );

With HTTPS and that manifest, your site is already installable. The next step only adds offline support.

3. Add a service worker (optional). Save this as sw.js in the root for basic offline caching:

javascript
const CACHE = 'site-cache-v1';
self.addEventListener('fetch', (event) => {
  event.respondWith(
    caches.match(event.request).then((cached) => cached || fetch(event.request))
  );
});

4. Register it by adding a small script (in the footer or an enqueued JS file):

javascript
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw.js');
}

Hand-rolling it keeps things lean, but you own the upkeep, cache versioning especially. If that sounds like a chore, the plugins exist for a reason. Building a custom WordPress PWA cleanly is the kind of job we handle in WordPress development.

How to test your PWA (the 2026 way)

Here is where most guides will steer you wrong. They tell you to run the Lighthouse PWA audit. That audit no longer exists, Lighthouse removed its PWA category in version 12.0 back in 2024. If a tutorial still points you there, it has not been updated.

The current way is the Chrome DevTools Application panel:

  1. Open your site in Chrome and press F12.
  2. Go to the Application tab.
  3. Click Manifest in the sidebar. Chrome shows your icons, colours, and any installability warnings in plain English.
  4. Click Service Workers to confirm one is registered and running (only if you added one).

If the Manifest section shows no errors and you see the install icon in the address bar, you are installable. That is the real test, not a score out of 100.

Tip

Test on a real phone too

DevTools confirms the setup, but the experience is on mobile. Install it on an actual Android and an actual iPhone, open it from the home screen, and check it behaves. The two platforms differ more than the desktop preview suggests, which is the next section.

PWA on iPhone vs Android

This is the honest part most posts skip. The two platforms are not equal.

Android is the easy one. Chrome shows an automatic install prompt, offline and push work fully, and the install feels native.

iOS is more limited, and you should plan for it:

  • There is no automatic install prompt. Users install manually through Share → Add to Home Screen, so you have to tell them how.
  • Push notifications work, but only since iOS 16.4, and only for a PWA that has been added to the Home Screen first. The permission prompt must come from a tap, not on page load.
  • Some background features still do not match Android.

So if a chunk of your audience is on iPhone, add a short "install this app" note with the Share-sheet steps. Do not assume people will find it on their own.

The honest limitations

A PWA is a great upgrade, not a magic one. Know the edges before you promise anyone an "app":

  • iOS holds it back, as above. If you truly need full iOS app behaviour, a PWA will not get you all the way.
  • It is not in the app stores by default. That is usually a feature, no review queue, but if store presence matters to you, you will need a wrapper like PWABuilder.
  • A bad service worker can serve stale content. Cache versioning matters; get it wrong and people see old pages. This is the one place the plugins earn their fee by handling it for you.
  • It does not fix a slow site. A PWA caches, but your Core Web Vitals and hosting still decide how fast the first visit feels. Treat speed as its own job.

Final take

Turning a WordPress site into a PWA is a small, cheap win for any site people come back to. Install Super PWA, set an icon and a name, and you are most of the way there. Reach for PWA for WP & AMP if you run AMP, Progressier if you want a managed layer across platforms, and the manual route if you are a developer who wants it lean.

Two things to get right: HTTPS plus a valid manifest is all you need to install (the service worker is for offline), and you test it in the Application panel, not the dead Lighthouse PWA audit.

Set those expectations, warn your iPhone users about the manual install, and a PWA does exactly what it should.

Want a PWA that is fast, not just installable?

A PWA on a slow site is still slow. We build and tune WordPress sites, manifest, service worker, caching, and the Core Web Vitals underneath, so the install is worth keeping. Tell us about your site and the first reply comes from Sunny, not a sales team.

See WordPress development

Common questions

Is adding a PWA to WordPress free?

Yes. Plugins like Super PWA and PWA for WP are free on WordPress.org and cover the core PWA features. You pay only for extras, premium push providers, hosted services like Progressier, or a developer's time if you build it by hand.

Does a WordPress PWA work on iPhone and iOS?

Yes, with limits. Since iOS 16.4 a PWA added to the Home Screen can receive push notifications, but iOS has no automatic install prompt. Users install it manually with Share then Add to Home Screen, and some background features still do not work the way they do on Android.

Will a PWA slow down my WordPress site?

No, if set up well. A PWA adds a small manifest file and an optional service worker. The service worker caches assets, which usually makes repeat visits feel faster, not slower. The real speed work is still your hosting, images, and Core Web Vitals.

Do I need a service worker to install my WordPress site?

Not anymore. Chrome now needs only HTTPS and a valid web app manifest to make a site installable. A service worker is what gives you offline support and caching, so it is still worth adding, but it is no longer required just to get the install prompt.

How do I test if my WordPress PWA is working?

Open your site in Chrome, press F12, and go to the Application panel. Check Manifest for errors and Service Workers for a registered worker. The old Lighthouse PWA audit was removed in 2024, so the Application panel is now the place to confirm installability.

Do I have to submit my WordPress PWA to the app stores?

No. A PWA installs straight from the browser, which is the whole point, no App Store or Play Store review. You can wrap a PWA for the stores later with tools like PWABuilder or Bubblewrap, but most sites never need to.

Written by
Sunny Kumar
Sunny KumarSEO Specialist & product builder

SEO Specialist and product builder with 10+ years in search. The notes come from the work, not the theory.

Work with TheGuideX

Reading about it is the easy part.

Send us the site and the problem. Your first reply comes from Sunny Kumar — not a sales team — and tells you if it is a fit.