Key Takeaways

  • Most WordPress site owners who want push notifications on iOS end up running two plugins — a PWA plugin for home screen installability and a push notification plugin for subscriber management. This works when the two plugins are designed to integrate, but creates real problems when they aren’t.
  • The browser allows only one service worker per domain. Well-designed plugin pairs like Super PWA and Push Notifications for WP coordinate their service workers deliberately — but many combinations don’t, and the failure is silent: subscribers appear to sign up but notifications never arrive.
  • Even when two plugins work together without conflict, you’re accepting ongoing dependency risk: two separate vendors, two update cycles, two codebases that must stay mutually compatible indefinitely.
  • Most SaaS push services charge extra for iOS push — as a monthly or annual add-on — because the PWA layer required for iPhone subscribers adds infrastructure cost they pass on to you.
  • A single plugin that unifies PWA and push eliminates the compatibility dependency, the update risk, the extra iOS cost, and the two-vendor problem — while keeping subscriber data on your own server.

If you want push notifications on your WordPress site — including for iPhone visitors — you almost certainly need two things working together: a Progressive Web App layer that makes your site installable to the home screen, and a push notification system that manages subscribers and delivers campaigns.

The conventional approach is two plugins. The well-known combination of Super PWA and Push Notifications for WP has a dedicated integration guide and works reliably when set up correctly. Many site owners run this pair without problems.

But there are real costs to the two-plugin approach that don’t show up until later — update compatibility issues, iOS add-on charges, split support channels, and the ongoing dependency on two separate codebases staying in sync. Understanding those costs is the clearest way to understand why a unified single-plugin architecture is genuinely better, not just simpler.

Why PWA and Push Require Separate Plugins in the First Place

Push notifications and PWA installability are built on the same browser technology — a service worker, a JavaScript file that runs in the background handling push delivery, offline caching, and the home screen install context. In theory, one codebase could handle both. In practice, the WordPress plugin ecosystem evolved with separate specialist tools for each function, which is how the two-plugin standard emerged.

The technical constraint that makes plugin pairing tricky is documented directly in the official WordPress PWA plugin: “Only one service worker can be controlling a page at a time. This has prevented themes and plugins from each introducing their own service workers because only one wins.” Well-designed plugin pairs solve this through deliberate coordination — Super PWA acts as the service worker host and the push plugin registers its functionality within that service worker rather than trying to replace it. When that coordination is built in, the combination works.

When it isn’t — when two plugins each try to fully own the service worker independently — the browser picks one and silently ignores the other. Push subscriptions appear to succeed but notifications never deliver, or the PWA installability breaks without any visible error. This is why plugin compatibility research matters before combining any PWA and push solution.

The Silent Failure ProblemService worker conflicts don’t announce themselves with error messages. A subscriber taps Allow on the permission prompt, your count increases, and nothing delivers — because the push service worker lost the conflict silently. The failure looks like low engagement, not a technical problem, which makes it easy to misdiagnose for weeks.

A blindfolded man beside a glowing screen of code in dark teal tones, representing the silent nature of WordPress service worker conflicts — the plugin problem is happening right alongside you but invisible, with no error message to indicate that push notifications have stopped delivering.

The Real Problem: Ongoing Dependency Risk

Assuming you pick a compatible pair and get the setup working — which is entirely achievable — you’ve created a dependency that has to be maintained indefinitely. Both plugins need to stay compatible with each other through every future update, every WordPress core release, and every change either developer makes to their service worker implementation.

This isn’t theoretical. Plugin update conflicts are one of the most common sources of WordPress site breakage. Elementor’s 2026 plugin guide identifies overlapping functionality as a primary cause of conflicts: “Installing multiple plugins that do similar things creates redundancy, adding extra strain to your website’s performance” — and the interdependency between a PWA plugin and a push plugin is exactly the kind of overlap that breaks when either developer changes something fundamental.

The specific risk with PWA and push plugin pairs is that service worker changes are breaking changes. If the PWA plugin updates how it registers its service worker and the push plugin hasn’t been updated to match that new registration pattern, push delivery breaks until either plugin catches up. You’re dependent on two development teams staying synchronized — teams that may have different release cycles, different priorities, and no contractual obligation to coordinate.

Seahawk Media’s analysis of plugin bloat makes the broader point: “Keeping only one well-optimized plugin per function instantly reduces load and improves performance.” The performance argument alone is meaningful — two plugins generating two sets of database queries, two sets of assets, and two admin panels is overhead that one plugin eliminates entirely.

2

Vendors whose update cycles you depend on staying synchronized — vs one with a unified plugin

32%

Bounce rate increase from pages loading over 3 seconds — plugin overhead compounds this directly

1

Service worker per domain allowed — the browser constraint that makes two-plugin coordination fragile over time

The iOS Cost Problem That Most Push Services Don’t Advertise Clearly

The push notification pricing conversation changed significantly when Apple added web push support in iOS 16.4 in 2023. Most SaaS push services responded by adding iOS as a paid add-on — an additional monthly or annual charge on top of the base subscription — because supporting iPhone subscribers requires the PWA infrastructure layer that their platforms weren’t originally built to provide.

This means the two-plugin approach has a financial dimension that goes beyond plugin complexity. If you’re using a SaaS push service for subscriber management and campaign sending, you’re likely paying for iOS push separately. And you’re still running a separate PWA plugin to provide the home screen install context that iOS requires.

As documented in Best WordPress Push Notification Plugins in 2026, the iOS add-on charge is standard across most major push platforms. It’s not a transparency issue — it’s a legitimate cost of their infrastructure. But it’s a cost that a unified self-hosted plugin eliminates entirely, because the PWA layer and the push layer are built together with no external infrastructure required.

Two black computer monitors on a dark table, representing the dual overhead of running separate WordPress PWA and push notification plugins — two admin panels, two update cycles, two vendors whose codebases must stay mutually compatible indefinitely.

The Self-Hosted Subscriber Data Problem

When push notifications are handled by a SaaS service — OneSignal, PushEngage, Webpushr, and most others — your subscriber list lives on their servers. Your subscribers opted in to receive notifications from your site, but the actual subscription tokens that enable delivery are stored in an external database you don’t control.

This creates a dependency that most site owners don’t think about until something goes wrong: a pricing change that makes the service too expensive, a platform sunset, an account dispute, or a policy change. When any of those happen, the subscriber list you built — potentially thousands of engaged visitors who opted in over months or years — is at risk.

Self-hosted push keeps subscriber data in your own WordPress database. The subscription tokens belong to you. If you change push plugins, switch hosting providers, or rebuild your site, your subscriber list moves with you. Cloudways’ 2025 guide to WordPress PWAs makes the broader point about the value of owning your infrastructure: the sites with the most resilient push notification programs are the ones where the data never leaves the server.

What a Unified Plugin Architecture Actually Delivers

A plugin built from the ground up to handle both PWA and push notifications doesn’t just avoid the two-plugin problems — it delivers capabilities that a two-plugin setup can’t replicate cleanly.

The manifest and push subscription share the same codebase, so the home screen install context and the push subscription context are always in sync. There’s no version mismatch possible because there’s no version gap — the same plugin that handles the PWA layer handles the push layer. The iOS push requirement (home screen install before push is available) works correctly by design because the plugin understands both halves of the flow.

The install guidance for iPhone visitors is also integrated rather than bolted on. A unified plugin can detect the visitor’s device and browser, show iPhone-specific install instructions, and connect that install flow directly to the push subscription prompt — because all of that logic lives in the same codebase rather than being coordinated across two separate plugins.

Two-Plugin Approach — What You Accept

  • Compatibility research before installing
  • Ongoing dependency on two vendors staying in sync
  • iOS push often charged as a paid add-on
  • Subscriber data on external SaaS servers
  • Two update cycles, two admin panels
  • Support split between two teams
  • Service worker coordination fragile over time

Unified Plugin — What You Get Instead

  • No compatibility research needed
  • One codebase, no external dependency
  • iOS push included — no add-on
  • Subscriber data on your server
  • One update cycle, one admin panel
  • One support channel for everything
  • Service worker owned end to end

How WhoKnew Signal™ Is Built

WhoKnew Signal™ was built specifically to replace the two-plugin setup — not because two-plugin setups are always broken, but because the ongoing costs of running two plugins are real and avoidable.

One service worker handles both the PWA layer and push notification delivery. The web app manifest is configured automatically through the Web App tab in Signal’s settings — no manual JSON editing, no separate manifest plugin. Subscriber data is stored in your WordPress database. iOS push is included in the free tier with no add-on required. The [wkspn_install_buttons] shortcode provides device-aware install guidance — showing iPhone-specific instructions to iOS visitors automatically, without any separate configuration.

The free version covers unlimited subscribers with all core push features — manual campaigns, welcome notifications, full PWA, offline caching, and VAPID backup for migrations. No subscriber caps, no iOS paywall, no external connections.

Pro adds the features that grow a serious push program: automated campaigns that fire on post publish, WooCommerce triggers for products and sale events, subscriber segmentation, A/B testing, advanced analytics, scheduled sends, action buttons, rich images, and UTM tracking. It also adds SMS notifications via your own Twilio account — meaning you can reach subscribers by text as well as push, from the same plugin, without a separate SMS service or integration. All of this at a flat $80 per year — less than most SaaS push services charge for iOS support alone.

For the iOS-specific context on why the home screen install is required before push works on iPhone, Why iPhone Users Must Add Your Site to the Home Screen First covers the Apple architecture decision in detail. The full comparison of all WordPress push options — including pricing transparency on iOS charges — is in Best WordPress Push Notification Plugins in 2026. And the step-by-step from installation to first notification is in WhoKnew Signal Setup in 5 Minutes.

A happy woman checking her smartphone at a kitchen table, representing the engaged subscriber experience that becomes reliable when WordPress push notifications are handled by a unified single-plugin architecture — no service worker conflicts, no silent delivery failures, notifications that actually arrive.

One Plugin. No Compatibility Research. iOS Included Free.

WhoKnew Signal™ replaces the two-plugin setup with a unified architecture — one service worker, full PWA, push notifications, self-hosted subscriber data, iOS push included. Free to start.

Download Signal Free from WordPress.org
See All Features →

Free version available. No credit card required.


Who knew the reason to replace a working two-plugin setup wasn’t that it was broken — it was that a unified plugin quietly eliminates every ongoing cost the two-plugin approach silently accepts.

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