Make WooCommerce work offline
InstantPWA hosts a fallback service worker and manifest for WooCommerce, so pages you've already visited keep working offline without you writing cache logic yourself. Add the snippet to header.php (via WordPress) via Appearance → Theme File Editor → header.php, or WPCode and the worker registers automatically on first visit.
Steps
- 1
Open header.php (via WordPress)
Go to Appearance → Theme File Editor → header.php, or WPCode.
- 2
Paste the InstantPWA snippet
Drop the one-line async script tag in the WooCommerce head section — no build step or dependency install.
- 3
Let the service worker register
No manifest.json or sw.js to write — InstantPWA serves both and scopes the worker to your site's root.
- 4
Test offline mode
Visit a page once, then use DevTools → Network → Offline (or airplane mode on a phone) and reload to confirm cached pages still render.
- 5
Verify on a phone
Open your live WooCommerce URL on a mobile device (not the editor preview) to confirm the popup renders.
Constraints to know
- Runs on any WordPress 5.0+ store; the snippet loads after WooCommerce's own cart-fragments.js, so there's no race condition reading cart state from localStorage.
- Compatible with both classic and WooCommerce Blocks (React-based) checkout since it never touches the checkout app itself, only the surrounding theme header.
FAQ
Do I need to write my own service worker?+
No — InstantPWA hosts a fallback manifest and service worker automatically if your site doesn't already ship one.
What happens to pages I haven't visited yet?+
They won't be available offline until visited at least once — InstantPWA caches on-visit rather than pre-caching your entire site.
Does offline mode change how WooCommerce serves pages normally?+
No — the service worker only intercepts requests when the browser is offline; online visits behave exactly as before.