HTTPS pages send no HSTS header
In the reportHTTPS origin serves no Strict-Transport-Security header
hsts_missing · Issue
This appears when none of your HTTPS pages sends a Strict-Transport-Security header, on two reads of each page. The header asks browsers to use only secure connections for your site. Add it, starting with a short max-age and raising it step by step.
Severity: Low. HTTPS already protects every visit that starts on it; the header also covers visits that would start on http://.
Why it matters
RFC 6797, the standard for the header, defines it as a way for sites to declare themselves accessible only over secure connections. Scott Helme's HSTS cheat sheet says no site is finished without it, and recommends aiming for a max-age of one year after many small, stepwise increases.
What to do
- Look at the finding: it shows up to ten pages, both reads of each, and where your
http://addresses redirected. - Send
Strict-Transport-Security: max-age=300from your HTTPS responses, then raise it in steps towards a year once nothing breaks. - Add
includeSubDomainsonly when every subdomain works over HTTPS.
What we read
We read every crawled HTTPS page with our own user agent, following redirects, and look for Strict-Transport-Security on every HTTPS step of the way. When a page answers 200 with complete HTML and no such header, we read it a second time straight away to confirm. We also request http:// for your domain and for its www. address.
The site's address is reported when every HTML page of that address lacks the header in both reads, and both http:// addresses redirect to an HTTPS page that answers 200. The header on any step of any one page, with any value, means no finding.
If either http:// address fails, or the site sits on a subdomain other than www., the check cannot conclude; if http:// does not redirect to HTTPS at all, another check reports that instead. The result needs a complete crawl: when the crawl stopped at its page limit, or a crawled page did not answer 200, the check cannot conclude.
Example & evidence
Illustrative example — one small site read twice, not a live audit.
http://bakery.example/ and http://www.bakery.example/ both redirect to https://bakery.example/, and every page answers both reads with:
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8No response has Strict-Transport-Security, so https://bakery.example is reported once, with its pages.
Strict-Transport-Security: max-age=31536000A possible correction, once smaller values have run without trouble: send this header on every HTTPS response.
Confirm & check again
Check for yourself: open your home page over HTTPS with your browser's developer tools and look for Strict-Transport-Security in the response headers.
Check again: Full audit — run a new audit of the site. The finding closes when a complete crawl, with every page answering 200 over HTTPS and both http:// addresses redirecting to HTTPS, finds the header on your pages. A crawl cut short by its page limit, or a page that does not answer 200, cannot confirm it.
Limits & sources
The check sees whether the header is present, not its value; other checks read the value. It reads HTML pages only, a site that sends the header on some pages only is not reported, and it cannot judge a site on a subdomain other than www..
Confidence: High because each page is read twice and the header is read directly.
Sources
- IETF, HTTP Strict Transport Security (HSTS) — defines the header as a way for sites to declare themselves accessible only via secure connections, and tells browsers to ignore it on responses received over insecure transport. Checked 28 September 2026.
- Scott Helme, HSTS Cheat Sheet — says no site is finished without HSTS and recommends aiming for a max-age of one year after many small increases. Checked 28 September 2026.
Editorial review: 29 September 2026