Make Ghost work offline
InstantPWA hosts a fallback service worker and manifest for Ghost, so pages you've already visited keep working offline without you writing cache logic yourself. Add the snippet to Code Injection → Site Header via Ghost Admin → Settings → Code Injection → Site Header and the worker registers automatically on first visit.
Steps
- 1
Open Code Injection → Site Header
Go to Ghost Admin → Settings → Code Injection → Site Header.
- 2
Paste the InstantPWA snippet
Drop the one-line async script tag in the Ghost 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 Ghost URL on a mobile device (not the editor preview) to confirm the popup renders.
Constraints to know
- Works identically on Ghost(Pro) hosted and self-hosted Ghost 4+; no theme edit required since Code Injection is theme-independent.
- AMP versions of posts (if enabled) strip third-party scripts by spec, so the popup only appears on the canonical (non-AMP) page.
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 Ghost serves pages normally?+
No — the service worker only intercepts requests when the browser is offline; online visits behave exactly as before.