SEO glossary

What is a PWA?

Learn what PWA means as an implementation acronym—web manifest fields, service worker registration, HTTPS requirements, and the audit checklist teams use to ship installable web apps.

Technical SEOUpdated August 14, 2026
Also known asP.W.A.progressive web app acronymPWA implementation

Definition

PWA (Progressive Web App) is the industry acronym for a standards-based installable web app stack: HTTPS, a valid web app manifest, a registered service worker, and meetable Lighthouse criteria—implemented via concrete files and registration code rather than a single framework feature.

PWA: an implementation acronym, not a product category

PWA abbreviates Progressive Web App, but in engineering standups it means something more concrete than a vision statement: a checklist of shippable artifactsmanifest.webmanifest, sw.js, HTTPS, icons—that unlock install prompts in Chrome, Edge, and Samsung Internet.

This entry covers the acronym from an audit and implementation angle: which files to create, how to register them, what Lighthouse inspects, and where teams break SEO while chasing the install badge. For the strategic “what capabilities does a Progressive Web App unlock?” narrative, see the Progressive Web App glossary page.

Minimum viable PWA stack

RequirementImplementation artifact
Secure originValid TLS on production domain
ManifestJSON linked via <link rel="manifest">
Service workernavigator.serviceWorker.register('/sw.js')
Icons192×192 and 512×512 PNG (maskable recommended)
Display modestandalone or fullscreen in manifest

Missing any installability pillar blocks “Add to Home Screen” on most platforms.

Web app manifest field reference

{
  "name": "Crawlox Site Audit",
  "short_name": "Crawlox",
  "start_url": "/?utm_source=pwa",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#0f172a",
  "icons": [
    { "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }
  ]
}

SEO-relevant notes:

  • name / short_name affect install UI—not Google titles. Keep <title> tags authoritative for search snippets.
  • start_url should resolve to indexable content or redirect to it; avoid noindex on default launch URL.
  • scope limits which paths the installed app controls—mis-scoping can trap users off crawlable sections.

Service worker registration checklist

if ('serviceWorker' in navigator) {
  window.addEventListener('load', () => {
    navigator.serviceWorker.register('/sw.js');
  });
}

Inside sw.js, define fetch strategy explicitly:

Request typeRecommended strategySEO risk if wrong
HTML documentsNetwork-firstCache-only shell → thin indexed pages
Static assets (JS/CSS)Cache-first + revision hashLow
ImagesStale-while-revalidateLow if alt text in HTML
API JSONNetwork-onlyBots may not need API if SSR

Never return offline.html for navigation requests without attempting network—crawlers do not execute your retry UI.

Lighthouse PWA audit mapping

Chrome Lighthouse “Installable” category roughly maps to:

  1. Served over HTTPS.
  2. Registers a service worker controlling page and start_url.
  3. Manifest includes name, icons, start_url, display, theme_color.
  4. start_url responds 200 when offline (after precache)—test carefully for SEO side effects.

Passing audits proves technical installability—not business readiness. Ship only after HTML parity tests pass.

Pre-deploy verification script (conceptual)

□ manifest validates in Web App Manifest validator
□ service worker activates without console errors
□ curl -A Googlebot homepage → full HTML body (not offline shell)
□ start_url matches canonical preference
□ icons exist and return 200
□ theme-color matches brand (UX, not SEO)
□ Cache-Control on HTML ≠ immutable long-term cache

Automate manifest JSON schema tests in CI.

Framework shortcuts

StackPWA wiring
Vite PWA pluginGenerates manifest + injects registerSW
Next.jsnext-pwa or custom worker in public/
Nuxt@vite-pwa/nuxt module
WorkboxPrecache recipes with revision manifests

Generated workers still need human review of navigation route rules.

PWA implementation mistakes that hurt SEO

  1. App shell only in cache/blog/post-1 serves empty #app offline.
  2. Skipping SSR on marketing routes — installable but invisible to search.
  3. Canonical driftstart_url query params indexed separately; use consistent canonical tags.
  4. Blocking robots on sw.js — unnecessary; allow fetch so browsers install correctly.
  5. Long max-age on HTML at CDN — stale meta tags after deploy; pair with Cache-Control discipline.

PWA vs native wrapper (SEO clarity)

Capacitor and Cordova wrap WebViews—the indexed web URLs remain your SEO surface. Store listings are separate. Do not noindex the web app because a native build exists.

Acronym disambiguation

TermMeaning in conversation
PWA (this page)Files, audits, registration code
Progressive Web AppCapability model and UX philosophy
TWA (Trusted Web Activity)Android Chrome tab showing your PWA full-screen
SPAArchitecture—orthogonal to PWA

Maintenance cadence

  • Bump CACHE_VERSION in sw.js on deploy; purge old precaches.
  • Re-run Lighthouse after manifest icon changes.
  • Monitor Search Console indexed pages after worker strategy changes.
  • Document which routes are network-first in runbooks.

How Crawlox helps with PWA implementation audits

Crawlox requests pages without service worker interception—mirroring crawler behavior. After PWA rollout, compare Crawlox HTML snapshots to browser DevTools with worker disabled. Mismatches reveal worker strategies serving incomplete documents to bots. Fix network-first rules for HTML before chasing Lighthouse install badges.

Related terms

Frequently asked questions

What files are required for a PWA?

At minimum: HTTPS, a manifest.json (or link rel=manifest), a registered service worker JS file, and icons referenced by the manifest. Frameworks may generate these automatically.

What Lighthouse score makes a PWA?

Lighthouse has installability checks (manifest, service worker, HTTPS) rather than a single PWA score. Passing installability audits is the practical bar.

Can I pass PWA audits without hurting SEO?

Yes. Register workers for assets, use network-first for HTML documents, and keep SSR content in the initial response. Avoid offline-only shells for crawlable URLs.

What is the difference between PWA and AMP?

AMP is a restricted HTML format for fast mobile documents. PWA is a set of APIs layered on normal websites. They solve different problems and are not interchangeable.

Do PWAs need to be SPAs?

No. Multi-page SSR sites can ship a manifest and service worker. The acronym describes implementation artifacts, not React vs server templates.

References

Explore authoritative guidance and frameworks related to pwa.

Explore every glossary definition

Return to the glossary to search by term, alias, starting letter, or category.

Browse glossary