OPWA
Turn any WordPress site into a Progressive Web App. Dynamic manifest generation, configurable service worker with five caching strategies, offline support with cached-page list, push notifications via your own VAPID keys, background sync for offline form replay, and a smart install prompt. All in one admin panel, all on your server.
Audit a domain.
See if it’s PWA-ready.
A UI simulation of OPWA’s built-in Lighthouse audit panel, showing exactly what the tool looks and feels like inside your WP admin. When installed, it runs the four checks against your live site and surfaces every fix in one click.
Audit a domain.
Read the report.
Simulated demo. Runs automatically as you scroll. The real plugin runs the four checks against your live origin and surfaces each fix inline.
Everything PWA,
nothing extra.
One plugin. No external services unless you want them. No tracking pixels phoning home. Your data, your server, your rules.
Click around.
It’s all real.
Six interactive previews of the actual OPWA admin. No screenshots; these are working mock-ups of what ships in the plugin.
| name | Orravo PWA Demo |
| short_name | OrravoPWA |
| display | standalone |
| theme_color | #ff5a1f |
| background_color | #0a0a0a |
| start_url | / |
| scope | / |
| orientation | portrait-primary |
| share_target | enabled |
| / (pages) | network-first · 3s timeout · 24h max-age | active |
| /wp-content/ (assets) | cache-first · 7d max-age · 120 entries | active |
| /wp-content/uploads/ (images) | cache-first · 30d max-age | active |
| /api/ (custom) | stale-while-revalidate · 5m max-age | active |
| Title | Status | Sent | Opened |
|---|---|---|---|
| New release: v2 dashboard | sent | 120 | 51 (43%) |
| Weekend reading: 5 PWA patterns | sent | 117 | 38 (32%) |
| New article: shipping faster | sent | 118 | 42 (36%) |
| Office hours tomorrow at 3pm | scheduled | +1d | · |
| Black Friday: 30% off lifetime | scheduled | +5d | · |
| Draft: thank-you note | draft | · | · |
| Android (Chrome) | 148 prompts shown | 62 installs (42%) |
| Desktop (Chrome / Edge) | 92 prompts shown | 34 installs (37%) |
| iOS (Safari A2HS overlay) | 71 overlays shown | 18 installs (25%) |
| POST /wp-json/contact | queued 4m ago | awaiting reconnect |
| POST /wp-json/comments/v1/submit | queued 12m ago | awaiting reconnect |
| POST /wp-json/orders | replayed 2m ago | 200 OK |
| POST /wp-json/newsletter | replayed 18m ago | 200 OK |
| SW registrations | 914 | healthy |
| Page-views with SW | 9,884 of 11,420 (87%) | healthy |
| Offline sessions | 318 | tracked |
| Install prompts shown | 1,212 | tracked |
| Installs | 114 (9.4% conversion) | tracked |
What you get
vs. what they sell you.
Most "PWA for WordPress" plugins are a free shell with the real features locked behind a yearly pro license. OneSignal handles push, but only push, and your subscribers live on their servers. OPWA ships everything in one install, with a one-time price.
| PWA for WP | Super PWA | OneSignal | OPWA | |
|---|---|---|---|---|
| Dynamic web app manifest | ✓ | ✓ | no | Native |
| Auto icon generation (10 sizes + maskable) | paid pro | paid pro | no | Built in |
| App screenshots in manifest | paid pro | no | no | Built in |
| Web Share Target API | no | paid pro | no | Built in |
| 5 caching strategies (cache-first, network-first, SWR, etc.) | paid pro | 2 only | no | All 5 |
| Per-route cache strategy override | paid pro | no | no | Built in |
| Background sync (offline form replay) | paid pro | no | no | Built in |
| Custom offline page | ✓ | ✓ | no | Built in |
| Cached pages list on offline view | no | no | no | Built in |
| Push notifications (VAPID, self-hosted) | paid add-on | paid pro | core feature | Built in |
| Push subscriber storage (your DB, no third party) | no | no | their servers | Your DB |
| Scheduled push campaigns | paid pro | no | ✓ | Built in |
| Click-through analytics per campaign | paid pro | no | ✓ | Built in |
| Install prompt (Android + desktop) | ✓ | ✓ | no | Built in |
| iOS A2HS instructions overlay | paid pro | no | no | Built in |
| Visit / scroll / delay prompt triggers | paid pro | no | no | Built in |
| WP-CLI commands | no | no | no | Built in |
| Lighthouse PWA audit hooks | no | no | no | Built in |
| REST API for SW + manifest | no | no | no | Built in |
| Cache + analytics admin dashboard | ✓ | basic | ✓ | Built in |
| Pricing model | Free + $99 pro | Free + $99 pro | $120/mo per app | $79 once |
Clean public API.
Read the source.
PSR-4 namespaced classes, helper functions for the common stuff, REST endpoints, WP-CLI commands, and a hook surface that lets you extend any subsystem without forking.
// Configure the service worker per route. Filter runs at SW build time. add_filter('opwa_service_worker_routes', function($routes) { $routes['/api/'] = [ 'strategy' => 'network-first', 'timeout' => 3000, 'max_age' => 300, ]; $routes['/products/'] = [ 'strategy' => 'stale-while-revalidate', 'max_age' => 3600, 'max_entries' => 200, ]; return $routes; });
Choose your plan.
Lifetime or monthly.
No tiers based on subscriber count. No per-seat tax. Pay once, install on the sites in your tier, get every future update free.

