start_url does not respond with a 200 when offline

Published on Updated on

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

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 ensure your page is available offline

Success

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.

  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.

Resources

Updated on Improve article

We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.