Key Takeaways

  • A Progressive Web App is a website built with standard web technology that can be installed to a home screen, work offline, and send push notifications — without ever going through an app store.
  • Three technical components define a true PWA: HTTPS, a web app manifest (a JSON file describing how the app should look when installed), and a service worker (a background script that enables offline caching and push delivery).
  • The term was coined in 2015 by Google engineer Alex Russell and designer Frances Berriman, and major brands including Starbucks and Pinterest have published well-documented results from switching to one.
  • iOS support has improved significantly but remains gated behind specific conditions — push notifications require iOS 16.4 or later and only work once a PWA has been manually added to the home screen through Safari.
  • WordPress doesn’t include PWA capability natively. A plugin has to generate the manifest, register the service worker, and handle the install experience — and on WordPress specifically, this has historically required running a separate PWA plugin alongside a separate push notification plugin.

If you’ve heard the term “Progressive Web App” thrown around and aren’t entirely sure what separates it from a regular mobile-friendly website, you’re not alone — the boundary is genuinely a little fuzzy, even among the engineers who coined the term. But the practical definition matters a great deal for any WordPress site owner deciding whether this is worth setting up.

The Plain-English Definition

A Progressive Web App, or PWA, is a website built using standard web technologies — HTML, CSS, and JavaScript — that delivers an experience closely resembling a native mobile app, without requiring a visitor to download anything from an app store. Mozilla’s MDN Web Docs, the authoritative technical reference for web standards, defines it directly: a PWA is an app built using web platform technologies that provides a user experience like that of a platform-specific app.

The term itself was coined in 2015 by Google engineer Alex Russell and designer Frances Berriman, who had been observing a new class of web applications and decided the category deserved its own name. A decade later, the concept has matured from an experimental idea into a mainstream strategy used by major companies — Starbucks built a PWA that lets customers browse the menu and build an order entirely offline, while Pinterest reported a 60% increase in core engagement after rebuilding as one.

53%

of mobile users abandon a website that takes longer than three seconds to load — a problem PWA caching is specifically built to solve

60%

increase in core engagement Pinterest reported after rebuilding its site as a PWA

2015

the year the term “Progressive Web App” was coined by Google engineer Alex Russell and designer Frances Berriman

A person using a smartphone with a weak or no signal indicator visible — representing the offline browsing capability a Progressive Web App provides through service worker caching

The Three Technical Components That Actually Define It

Vague marketing descriptions aside, there’s genuine technical consensus on what makes a website a true PWA rather than just a mobile-friendly site. Web developer and author Jeremy Keith addressed the confusion directly in a widely cited 2017 analysis, arguing the criteria boil down to three concrete requirements — and that consensus has held up well in the years since.

ComponentWhat It Does
HTTPSRequired secure connection — service workers and push notifications won’t function without it, for security reasons
Web App ManifestA JSON file describing the app’s name, icon, splash screen, and display mode to the browser when installed
Service WorkerA background JavaScript file, separate from the main page, that handles caching, offline access, and incoming push notifications

The service worker is the most technically significant of the three. It sits between the browser and the network, intercepting requests and serving cached content when connectivity is poor or absent entirely — which is what gives a PWA its offline capability and is also the same underlying mechanism that makes push notification delivery possible. A site without HTTPS, a manifest, or a registered service worker can look and feel modern, but it isn’t technically a PWA — it’s just a well-designed website.

“Progressive” Refers to a Design Principle, Not a FeatureThe word “progressive” in the name describes progressive enhancement — a PWA is built to provide a baseline experience that works for every visitor regardless of browser or device, then unlocks richer functionality on browsers and devices that support more of the underlying APIs. A visitor on an older browser still gets a working website. A visitor on a fully capable modern browser gets the install prompt, offline access, and push notifications on top of that same baseline.

What Actually Changes for a Visitor

From a visitor’s perspective, the practical differences from a regular website are concrete and immediate. They can add the site to their home screen and launch it like any other app, without an app store download. Once installed, the PWA opens in standalone mode — full screen, with the browser’s address bar and navigation chrome hidden, so it visually presents like a native app rather than a website. Previously visited pages remain available even with no internet connection, thanks to the service worker’s caching. And with permission granted, the site can send push notifications the same way a native app would, re-engaging a visitor without requiring them to actively return and check.

A finger tapping a glowing cyan install icon on a smartphone screen — representing the moment a Progressive Web App gets added to a visitor's home screen

The iOS Situation, Honestly

Apple’s relationship with PWAs has been slower and more conditional than Google’s, and it’s worth understanding exactly where the limitations sit before assuming a PWA will behave identically across every device. Android and Chrome support PWA installation with minimal friction — the browser can prompt the user directly. iOS has never offered that automatic prompt. Adding a PWA to the home screen on iPhone requires a manual sequence through Safari’s Share menu, and the option isn’t visible at all unless the visitor is using Safari itself — Chrome and other browsers on iOS run on Apple’s WebKit engine under the hood and can’t replicate the install flow.

Push notifications followed an even longer timeline. Apple didn’t add web push support to Safari until iOS 16.4, released in March 2023 — roughly eight years after Android gained the same capability. And the condition that remains true today: push only works for a PWA that has already been added to the home screen through Safari. A visitor browsing in an open Safari tab, or in Chrome on iOS, has no access to push notifications at all, regardless of iOS version, because every browser on iOS is bound by the same WebKit-level restriction.

What This Means PracticallyAs of early 2026, more than 95% of iPhones in active use run iOS 16 or later, meaning the push capability itself is broadly available across the installed base. The remaining friction is entirely about getting a visitor to complete the manual “Add to Home Screen” step in the first place — since there’s no automatic prompt, a site has to actively guide visitors through it, or push notifications on iOS simply never activate for that visitor.

❌ What iOS Still Restricts

  • No automatic install prompt — manual Share-menu steps required
  • Push works only after manual home-screen install via Safari
  • No background sync; cached content only refreshes when reopened
  • Storage quotas tighter than Android, with periodic automatic clearing

✓ What Works Reliably Today

  • Push notifications, fully native, since iOS 16.4 (March 2023)
  • Standalone full-screen launch with custom icon and splash screen
  • Dark Mode support matching system-wide device preference
  • Offline page caching for previously visited content

A PWA on iOS isn’t broken — it’s conditional. The technology works. The friction is entirely in getting a visitor to complete one manual step Android never required in the first place.

Why WordPress Doesn’t Handle This Out of the Box

WordPress itself has no native concept of a PWA. None of the three required components — HTTPS aside, which is now standard hosting practice — are generated automatically by WordPress core. A site owner who wants genuine PWA functionality needs a plugin that creates the web app manifest, registers a service worker, and manages the install experience for visitors.

Historically, this has meant running two separate plugins on the same WordPress site: one dedicated PWA plugin to handle the manifest, icons, and offline caching, and an entirely separate push notification plugin to handle subscriber opt-ins and message delivery — two different settings panels, two different sets of icons to upload, and frequently, two plugins that were never built with each other in mind, occasionally conflicting over which one controls the service worker file.

Why Push and PWA Belong TogetherThe service worker that enables offline caching is the exact same underlying mechanism that receives and displays push notifications. Treating push and PWA as two unrelated features that need two separate plugins ignores that they share the same technical foundation. WhoKnew Signal™ was built around this overlap directly — a single plugin handles the web app manifest, icons, splash screen, and offline caching alongside push notification delivery, because the service worker doing the work is the same file either way.

For a WordPress site specifically, that means the manifest, icons, offline page, and the install experience itself — including a smart shortcode that shows Android visitors a one-tap install button while guiding iPhone visitors through Safari’s manual steps — are handled by a single plugin rather than two that have to be configured and kept compatible separately.

If you’re searching for a wordpress pwa plugin or trying to figure out how to add push notifications to a wordpress site without running two separate tools, that’s the exact gap this overlap creates an opportunity to close. A site owner shouldn’t need to learn two plugin settings panels, upload icon sets twice, or troubleshoot which plugin actually owns the service worker file when something breaks. One properly built plugin can register the manifest, cache offline content, and deliver push notifications from the same underlying mechanism — because, as covered above, that’s genuinely what the technology already does under the hood.


Further Reading

One Plugin for Push and PWA — Not Two

WhoKnew Signal™ generates your web app manifest, icons, and offline caching automatically alongside self-hosted push notifications — no separate PWA plugin, no Firebase, no SaaS relay.

Download Signal Free from WordPress.org
See Pro Features →

Free version available · Pro from $8/mo · 14-day guarantee

Who knew the difference between a website and an app was never the app store — it was three quiet technical components most visitors never notice are even there.

J. Moody, Founder/CEO

Author J. Moody, Founder/CEO

I build WordPress and WooCommerce plugins to solve problems I've actually hit myself — not theoretical ones. I've done a little bit of everything and built the tools I wished existed along the way.

More posts by J. Moody, Founder/CEO
Share