Ultimate Push Notifications
App Configuration — one-click VAPID key pair

App Configuration — one-click VAPID key pair

Ultimate Push Notifications is a self-hosted push notification solution for WordPress. It sends notifications from your own server straight to each browser’s push service using the open Web Push standard (VAPID) — on desktop and mobile, even when the visitor is not on your site.

No SMS bills. No email list dependency. Just instant, reliable push notifications that actually reach people.

Push notifications have 4x higher open rates than email. Keep your customers, community members, and team informed the moment something happens — for free.

Why Choose Ultimate Push Notifications?

Most push notification services charge a monthly fee per subscriber and keep your subscriber list on their servers. This plugin needs no account with anyone: setup is one button, delivery costs nothing, and every subscription lives in your own database. You own your audience.

Real Problems This Plugin Solves

For WooCommerce Store Owners:
You’re losing sales because customers have no idea their order shipped, their payment failed, or their order is ready. And your vendors have no idea someone just bought from them. This plugin fixes all of that — with instant push alerts for every order event.

For BuddyPress / Community Sites:
Your community members miss friend requests, new messages, group invites, and activity updates because they’re not watching their inbox. Push notifications bring them back the moment something happens — without email fatigue.

For Site Administrators:
You need to know the instant a form is submitted, a new user registers, or an event goes live. Real-time push notifications to your browser mean you’re always in the loop, even if your email is buried.

For All Sites:
Instead of paying for SMS alerts or high-volume email plans, this plugin lets you communicate in real time for free — using the same infrastructure Google uses for Android notifications.

Key Features

Web Push — Self-Hosted
– One-click setup: generate a key pair and you are done. No Firebase project, no Google account
– Standards-based delivery (RFC 8030 / 8291 / 8292) straight to each browser’s push service
– Background queue with automatic retry and per-service backoff — sends never slow down checkout
– Health page checks every link in the chain and says exactly what is wrong when something is
– Service Worker handles background notifications even when the browser is closed
– Rich notifications: show images inside the push popup
– Click-to-navigate: clicking a notification opens the right page automatically
– Auto-cleanup: invalid / expired device tokens are removed automatically — no stale bloat

Subscribers — Unlimited, Yours
– Visitors subscribe without an account; members subscribe with theirs. No cap, in any tier, ever
– Soft-ask prompt: your own dismissible bar asks first — after N seconds, page views or scroll depth — and only hands off to the browser’s one-shot permission prompt when the visitor clicks Allow
– Floating bell, [upn_subscribe] shortcode, a Push Subscribe Button block, or any element with data-upn-subscribe
– Subscriber list shows browser, OS, device, locale, time zone, last seen, last delivery and consent — with Logged-in / Visitors / Web Push views
– Privacy tools: subscriptions and preferences are exported and erased with the account (WordPress Privacy Export / Erase)

Compose & Send
– Write a notification, pick an audience — everyone, visitors, members, roles, device type, active in the last N days — see the live recipient count, send it to your own device first, then send
– Merge tags — {site_name}, {post_title}, {user_name}, {first_name} and more, plus event tags in automations
– Rich payload: icon, large image, click URL; click tracking with click-through rate on the Health page

Automations
– Push on publish — new posts (or any post type) go to your subscribers automatically, with the featured image
– Event automations — trigger audience message. Free runs three at a time:
– WordPress: new user registers, comment posted
– WooCommerce: new order, order status changes (filter by status), payment received, added to cart, low stock, out of stock
– BuddyPress: friend request, friend accepted, private message, member update (to their friends), reply to an update, group update (to the group), member joins a group (to its admins)
– Contact Form 7: form submitted — every field is a merge tag, {field_your_email}, whatever the form’s field names
– Each automation chooses who: store staff by role, the product’s author (vendor), the customer, the message recipients, the group’s members… The person who caused the event is left out unless you say otherwise
– Members turn any automation off for themselves under Set Notifications (and in their BuddyPress profile)

Device Management
– Every device is tracked individually; one member can register several
– Test notifications directly from the admin — verify delivery before going live
– Devices a push service reports as gone are removed automatically

How It Works

  1. Open UPush Notifier App Config and click Generate key pair. That is the whole setup — no Firebase, no Google account.
  2. Turn on the Subscribe Prompt, add the bell or the block — or have members open Register My Device — and visitors allow notifications
  3. Their browser is registered — compose a notification, or let an automation send one

Notifications are sent from your own server directly to each browser’s push service using the open Web Push standard (VAPID). Nothing is proxied through a third party, no per-subscriber fees, and the subscription data never leaves your database.

No app stores. No app to install. Works in Chrome, Firefox, Edge, Safari on macOS, and Safari on iOS 16.4+ once the site is added to the Home Screen.

Security

  • The VAPID private key never leaves the database and is never sent to the browser
  • All user inputs are sanitized through WordPress standards
  • AJAX endpoints use nonce verification (SECURE_AUTH_SALT)
  • Capability checks enforce admin-only access to sensitive settings
  • VAPID key authentication ensures only your server can send notifications

Requirements

  • WordPress 5.0 or higher
  • PHP 7.4 or higher
  • SSL (HTTPS) required — browsers block push notification registration on non-secure sites
  • OpenSSL PHP extension (present on virtually every host)
  • Nothing else — no third-party account

Multi-Device & Testing

  • One user can register multiple browsers / devices
  • For testing: use different browsers or incognito windows logged in as different users
  • Use the Register My Device page to register your own device and test with one click

Getting Started (Quick Setup)

  1. Install and activate the plugin
  2. Go to UPush Notifier App Config and click Generate key pair
  3. Go to UPush Notifier Register My Device and click Allow when the browser asks
  4. Send a test notification — you should receive it within a second or two
  5. Open UPush Notifier Health to confirm every part of the path is working

If your server cannot generate keys (the Health page will say so), App Config also accepts a key pair pasted from elsewhere.

Upgrading from an earlier version? Devices registered through Firebase will keep their rows but will not receive anything — Google shut down the legacy Firebase API on 22 July 2024. Ask those users to open Register My Device once; their browser re-registers over Web Push automatically. The Health page counts how many are left.

Full step-by-step documentation:

Video Guides

Merge Tag Reference

Everywhere
– {site_name} {site_url} {date} {time}
– {post_title} {post_url} {post_excerpt} {post_type} {author_name} — when the notification is about a post
– {user_name} {user_login} {user_email} {first_name} — when it is about a user

WooCommerce automations
– {order_id} {order_total} {order_status} {status_from} {customer_name} {customer_email} {items_count} {item_names} {payment_method} {order_url} {order_admin_url}
– {product_title} {product_price} {product_url} {quantity} {shopper_name} {stock_quantity} {product_admin_url}

BuddyPress automations
– {initiator_name} {friend_name} {sender_name} {message_subject} {message_excerpt} {thread_url} {member_name} {activity_excerpt} {activity_url} {commenter_name} {comment_excerpt} {group_name} {group_url} {requests_url} {profile_url}

Contact Form 7 automations
– {form_title} {form_summary} {form_url} and every field as {field_<name>} — e.g. {field_your_email} for a field named your-email

The automation editor lists the tags each trigger provides. Add your own with the upn_merge_tags filter.

Forum & Support

For support, feature requests, and bug reports:

* Visit [codesolz.net](https://codesolz.net/?utm_source=wordpress.org&utm_medium=README&utm_campaign=ultimate-push-notifications) for instant support
* Email: [[email protected]](mailto:[email protected])
* GitHub: [github.com/CodeSolz/ultimate-push-notifications](https://github.com/CodeSolz/ultimate-push-notifications)
* Forum: [forum.codesolz.net](https://forum.codesolz.net/?utm_source=wordpress.org&utm_medium=README&utm_campaign=ultimate-push-notifications)