Does not register a service worker that controls page and start_url

Published on Updated on

Translated to: Español, Português, 한국어, 中文, Pусский, 日本語

Registering a service worker is the first step towards enabling key Progressive Web App (PWA) features:

  • Works offline
  • Supports push notifications
  • Can be installed to the device

Learn more in the Service workers and the Cache Storage API post.

Browser compatibility

All major browsers support service workers. See Browser compatibility.

How the Lighthouse service worker audit fails

Lighthouse flags pages that don't register a service worker:

Lighthouse audit showing site doesn't register a service worker

Lighthouse checks if the Chrome Remote Debugging Protocol returns a service worker version. If it doesn't, the audit fails.

In the Lighthouse report UI the full PWA badge is given when you pass all of the audits in all of the PWA subcategories (Fast and reliable, Installable, and PWA optimized).

How to register a service worker


Workbox is the recommended approach for adding service workers to websites because it automates a lot of boilerplate, makes it easier to follow best practices, and prevents subtle bugs that are common when using the low-level ServiceWorker API directly.

Registering a service worker involves only a few lines of code, but the only reason you'd use a service worker is to make it possible to implement one of the PWA features outlined above. Actually implementing those features requires more work:


Updated on Improve article

This site uses cookies to deliver and enhance the quality of its services and to analyze traffic. If you agree, cookies are also used to serve advertising and to personalize the content and advertisements that you see. Learn more about our use of cookies.