start_url does not respond with a 200 when offline

The manifest for a Progressive Web App (PWA) should include a start_url, which indicates the URL to be loaded when the user launches the app.

If the browser doesn't receive an HTTP 200 response when accessing an app from the start_url, either the start_url isn't correct, or the page isn't accessible offline. This causes problems for users who have installed the app to their devices.

How the Lighthouse start_url audit fails

Lighthouse flags web apps whose start URL doesn't respond with a 200 when offline:

Lighthouse audit showing start URL doesn't respond with 200 when offline

How to ensure your page is available offline

  1. If you don't already have one, add a web app manifest.
  2. Check that the start_url in your manifest is correct.
  3. Add a service worker to your app.
  4. Use the service worker to cache files locally.
  5. When offline, use the service worker as a network proxy to return the locally cached version of the file.

See the Current page does not respond with a 200 when offline guide for more information.