Disclosure before anything else: I build one of the tools in this comparison. It is the last one listed, and I have tried to be straight about where the others beat it. Read it with that in mind.
In this article
- The options, honestly
- Hosted services
- LaraPush and self-hosted applications
- WordPress plugins that wrap a hosted service
- Self-hosted inside WordPress
- Side by side
- How to actually decide
- The migration problem nobody mentions
- What I would do
- Frequently asked questions
- Is there a free OneSignal alternative for WordPress?
- Why would I leave OneSignal?
- Can I move my OneSignal subscribers to another tool?
- Does self-hosted push work if my site goes down?
- Is a self-hosted plugin fast enough for a large list?
OneSignal is the default choice for web push, and for good reason — it works, the free tier is generous, and setup takes fifteen minutes. Most people looking for an alternative are looking for one of three reasons:
- Cost. The free tier stops being free somewhere, and the step up is steep. Check their current pricing page for today’s limits.
- Data ownership. Your subscriber list sits on their infrastructure. If you leave, you cannot take it with you in a usable form — endpoints are tied to the application server key that signed them.
- Third-party JavaScript. Their SDK loads on every page of your site.
Any of those is a legitimate reason to look elsewhere. None of them means OneSignal is bad.
The options, honestly
Hosted services
PushEngage, Aimtell, iZooto, Subscribers.com and similar.
These are OneSignal with different pricing and different dashboards. If your problem with OneSignal is the interface or a specific missing feature, one of these may fix it. If your problem is the per-subscriber cost or data ownership, switching to another hosted service does not solve it — you are changing landlords, not buying the house.
Choose one if: you want zero technical involvement, you are happy with per-subscriber pricing, and you need enterprise features like advanced journey builders that self-hosted tools do not have.
LaraPush and self-hosted applications
LaraPush is a self-hosted Laravel application. You put it on a VPS, point your site at it, and it handles subscribers and sending. One payment, unlimited subscribers, your data on your server.
It is a good piece of software and the economics are excellent at scale. The catch is what “self-hosted” means in practice: a VPS you are responsible for, a PHP and MySQL stack, a queue worker, a cron daemon, SSL renewal, and a server that has to stay up because your notifications stop when it does not.
Choose it if: you are comfortable administering a Linux server, you run several sites that can share one instance, and you have a large list where the per-subscriber savings are substantial.
Do not choose it if: “SSH into the box and restart the queue worker” is a sentence that makes you uneasy. There is no shame in that — it is just not the right tool then.
WordPress plugins that wrap a hosted service
Several plugins in the WordPress repository are really just a front end for OneSignal or a similar service. The plugin is free; the service behind it is not, past a point.
Worth knowing about mainly so you do not install one thinking it is self-hosted.
Self-hosted inside WordPress
The newer category: a plugin that implements the Web Push Protocol directly in PHP, stores subscribers in your own WordPress database, and sends from your existing server. No external service, no VPS.
The advantages are genuine: no monthly fee, no per-subscriber cost, your list in a database table you can query, no third-party JavaScript on your pages, and setup that takes minutes rather than an afternoon.
The limitation is equally genuine: sending speed is bound by what your web host will let PHP do. Delivery goes out in parallel batches, which gets you a few thousand notifications a minute on reasonable shared hosting, considerably more on a VPS. For most sites this is entirely irrelevant — a 20,000-subscriber list clears in minutes. If you have several hundred thousand subscribers on cheap shared hosting, you will feel it, and a dedicated push server is the better tool.
I build EasyPush, which sits in this category. Free version: unlimited subscribers, unlimited sends, soft-ask prompt with scroll and exit triggers, auto-push on publish, scheduling, and analytics. Pro adds segmentation, drip sequences, WooCommerce cart recovery, A/B testing and revenue attribution, for a yearly licence rather than a monthly per-subscriber fee.
Side by side
| Hosted (OneSignal etc.) | LaraPush (VPS) | EasyPush (plugin) | |
|---|---|---|---|
| Monthly cost at 50k subscribers | Meaningful, and rises with the list | VPS cost only | Licence only, list size irrelevant |
| Subscriber list lives | Their servers | Your VPS | Your WordPress database |
| Third-party JS on your site | Yes | No | No |
| Setup time | ~15 min | 1–2 hours | ~5 min |
| Needs server admin skills | No | Yes | No |
| Sending speed at 500k | Excellent | Excellent | Host-dependent — plan for a VPS |
| Abandoned cart | Paid tier | Not built in | Pro |
| Works if your site is down | Yes | Yes | No |
That last row is worth pausing on. A hosted service keeps your subscriber list and your scheduled sends running even if your site is offline. A plugin does not — if WordPress is down, nothing sends. For most content sites that is a non-issue. If push notifications are business-critical infrastructure for you, it is a real argument for keeping them separate from your site.
How to actually decide
Pick a hosted service if: you would rather pay than think about it, your list is small enough to stay free, or you need journey-builder features that only the big platforms have.
Pick LaraPush or similar if: you already run a VPS, you have a large list across multiple sites, and server administration is not a barrier.
Pick a self-hosted plugin if: you run WordPress, you want the subscriber list in your own database, you object to a monthly bill that scales with success, and your list is in the thousands-to-low-hundreds-of-thousands range.
Stay on OneSignal if: it works, you are inside the free tier, and none of the above bothers you. Switching costs you your entire subscriber list — endpoints cannot be migrated between application server keys, so every subscriber has to opt in again. That is a real price, and it should buy you something concrete.
The migration problem nobody mentions
This deserves more emphasis than it usually gets.
Your subscribers’ push endpoints are cryptographically bound to the VAPID public key that was used when they subscribed. Change providers, and you change that key. Every existing subscription becomes undeliverable.
There is no export, no import, no migration path. This is a property of the protocol, not a limitation any vendor chose.
What this means practically:
- Switching providers costs you your list. You start from zero and rebuild.
- The best time to choose is before you have a list, which is exactly when you care least.
- If you already have a large list on a hosted service, the cost of leaving may exceed what you would save — run that number honestly before you move.
- If you are starting now, choose with the next three years in mind, because changing later is expensive.
A partial mitigation: run both in parallel for a few months. New visitors subscribe to the new provider, the old list keeps receiving from the old one, and you let attrition do the migration slowly. It is clumsy but it beats losing everyone on a single Tuesday.
What I would do
If I were starting a content site today and expected it to grow, I would self-host from day one — not because hosted services are bad, but because the switching cost is so high that starting where you intend to finish is worth a lot. Whether that is a plugin or a VPS application depends entirely on whether you want to be responsible for a server.
If I had 100,000 subscribers already on a hosted service and was paying for it, I would work out what the annual bill is, work out what rebuilding the list would cost in time and lost reach, and only move if the first number was clearly larger.
Next: what push notifications are actually worth in AdSense revenue, with the arithmetic laid out rather than asserted.
Frequently asked questions
Is there a free OneSignal alternative for WordPress?
Yes. Self-hosted options keep the list in your own database with no per-subscriber fee. EasyPush is one I build, and the post is open about where it’s the wrong choice.
Why would I leave OneSignal?
The common reasons are rising cost, wanting your subscriber list on your own server, and not wanting a third-party script on every page. None of them means OneSignal is bad.
Can I move my OneSignal subscribers to another tool?
Generally not in a usable form. Subscriptions are tied to the application server key that created them, so most people start the list again. Better to choose before you have a big list.
Does self-hosted push work if my site goes down?
No. If WordPress isn’t running, nothing sends. For most content sites that’s fine. If push is business-critical, a hosted service is safer.
Is a self-hosted plugin fast enough for a large list?
It depends on your hosting. A few thousand a minute on decent shared hosting is realistic, and more on a VPS. Half a million subscribers on cheap hosting needs a better server.
