All websites should be protected with HTTPS, even ones that don't handle sensitive data. HTTPS prevents intruders from tampering with or passively listening in on the communications between your site and your users.
A page can't qualify as a Progressive Web App (PWA) if it doesn't run on HTTPS; many core PWA technologies, such as service workers, require HTTPS.
For more information about why all sites should be protected with HTTPS, see Why HTTPS Matters.
How the Lighthouse HTTPS audit fails #
Lighthouse flags pages that aren't on HTTPS:
Lighthouse waits for an event from the Chrome Remote Debugging Protocol indicating that the page is running on a secure connection. If the event isn't heard within 10 seconds, 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 migrate your site to HTTPS #
Consider hosting your site on a CDN. Most CDNs are secure by default.
To learn how to enable HTTPS on your servers, see Google's Enabling HTTPS on Your Servers. If you're running your own server and need a cheap and easy way to generate certificates, Let's Encrypt is a good option.
If your page is already running on HTTPS but you're failing this audit, you may have problems with mixed content. A page has mixed content when the page itself is loaded over HTTPS, but it requests an unprotected (HTTP) resource. Check out the following doc on the Chrome DevTools Security panel to learn how to debug these situations: Understand Security Issues With Chrome DevTools.
- Source code for Does not use HTTPS audit
- Why You Should Always Use HTTPS
- Enabling HTTPS on Your Servers
- Understand Security Issues With Chrome DevTools
- What Is Mixed Content?
- Let's Encrypt