Learn Measure Blog About

start_url does not respond with a 200 when offline

Updated

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.

Learn more in the What is network reliability and how do you measure it? post.

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

Each PWA audit is weighted equally in the Lighthouse PWA Score, except for three manual audits: Site works cross-browser, Page transitions don't feel like they block on the network, and Each page has a URL. Learn more in the Lighthouse Scoring Guide.

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.

Try it! Learn how to add a service worker to your app with the Working with service workers codelab.

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

Resources

Last updated: Improve article

Codelabs

See it in action
Learn more and put this guide into action.