methodology / Modern Web / #68
Service Worker / PWA capability
#68 · Variable · Web Quality · weighted · Modern Web · weight 0.7% · impl implemented · method v1.2.0
Web Quality factor
This factor is part of Web Quality — the weighted 0..100 score that sits above Web Standards. Its weight depends on what kind of site is being measured. Web Standards items take priority; this factor only enters the score once Web Standards passes.
- Base weight
- 0.3 applied to every site type unless overridden below
- Why this weight
- Service Worker / PWA — same shape as manifest. Corporate dropped to 0.1 for the same reason.
Per-site-type overrides
| Site type | Weight | Δ vs base |
|---|---|---|
| Blog | 0.2 | -0.1 |
| E-commerce | 0.7 | +0.4 |
| Corporate / B2B | 0.1 | -0.2 |
| News / Publisher | 0.4 | +0.1 |
| Personal site | 0.1 | -0.2 |
| SaaS / Product | 0.9 | +0.6 |
| Media / Streaming | 0.4 | +0.1 |
Site types not listed inherit the base weight.
What this means for your business
Modern sites can show a useful page even when a customer's phone briefly loses signal — like in an elevator or a bad reception area. Without it, they get a blank error and assume your site is broken.
Plain title: Your site can work for a moment offline
What we measure
Service workers enable offline mode, push notifications, and app-like installability. They're a marker of modern, performant web architecture.
How to improve your score
Implement a service worker that caches your key assets so the site stays usable when the network drops. Frameworks like Next.js, Workbox, and most static site generators have plugins.
Facts
Implementation notes
Parse loaded scripts for `navigator.serviceWorker.register` patterns.
When this applies
Service Worker registration requires header control + a root-scope script, which this platform doesn't allow.
- Marked n/a for site types: Personal site, Blog.
- Marked n/a when the detected platform doesn't support canSetCustomHeaders (e.g., Squarespace and Wix can't set custom HTTP headers, so factor #4 becomes n/a there).
Scoring
Scoring formulas are versioned with the methodology. The current method (v1.2.0) maps raw measurements to pass, warn, fail. Factor weights determine how much each contributes to the composite — see the methodology index for the full table.
Version history
| Version | Change | Date |
|---|---|---|
| v1.2.0 | Factor introduced. Status: live. Scoring impl: implemented. | 2026-04-25 |