Start at EternalPWA, Overview. Every check there is real, and each one that fails has a button that leads to its fix.
The install option does not appear
- The site must be on HTTPS.
- An app icon of 512 pixels is needed: upload one under App icon, or set a Site Icon in WordPress.
- Chrome shows its own install option only after a visitor has spent a little time on the site.
The service worker does not load
Some servers answer every .js file themselves and never pass /saskpwa-sw.js to WordPress, so it returns 404. On nginx add:
location = /saskpwa-sw.js { try_files $uri /index.php?$args; }
location = /saskpwa-manifest.json { try_files $uri /index.php?$args; }
With plain permalinks EternalPWA uses its query address instead, so no rule is needed.
Caching and minify plugins
WP Rocket, LiteSpeed Cache and W3 Total Cache can combine scripts. Leave out files with saskpwa in their name.
Another PWA or push plugin
SuperPWA, PWA for WP, the PWA feature plugin and OneSignal each register their own service worker. Use one at a time; Overview names the plugin to switch off.
/install shows page not found
Open Settings, Permalinks and press Save Changes once.
Still stuck?
Open a support ticket with your site address and a screenshot of Overview.