Security

Browsers are told to stay on HTTPS

security.missing-hsts

Why this matters

Your site works over HTTPS, but it never tells browsers to remember that. The very first visit of the day can still be sent over an insecure connection before the redirect happens, which is the window an attacker on shared Wi-Fi needs.

Who fixes it

You can, usually

Roughly how long

15 minutes

Care needed

Test before and after

How to fix it

Add `Strict-Transport-Security: max-age=31536000; includeSubDomains` to your HTTPS responses. Start with a short max-age and raise it once you are confident every subdomain serves HTTPS.

On your platform

WordPress

Not a WordPress setting — it comes from your host or your CDN. In Cloudflare it is under SSL/TLS → Edge Certificates → HTTP Strict Transport Security, and the panel walks you through it. On Apache hosting it can go in `.htaccess`. Whichever you use, start with `max-age=300` and check every subdomain you own still loads over HTTPS before raising it to a year — that includes shop, blog, mail and any staging site.

Shopify

Already handled, and not yours to change. Shopify serves storefronts over its own edge and sends this header itself, so if it is being reported the response that was checked probably did not come from Shopify — a parked domain, a redirect service, or a subdomain pointing somewhere else. Worth checking what that hostname actually resolves to before doing anything.

Drupal

Either at the web server, or with the Security Kit (`seckit`) module, which has an HSTS section and needs no server access. Set a short max-age first: Drupal sites often sit alongside subdomains for staging or files, and `includeSubDomains` covers all of them at once.

Joomla

The System – HTTP Headers plugin (Joomla 4 and 5) includes HSTS with its own max-age and includeSubDomains options, so this needs no server access. Start with a small max-age and raise it once you are sure every subdomain serves HTTPS.

How we score it

Failing this check takes up to 12 points off your security score. It is a fact about your site rather than a measurement, so it reads the same on every scan until you change something.

Does your site pass this one?

This check runs on every scan, along with the other 106. Free, no account, and you see the evidence for each result.

Check my site

Other security checks

See all 107 checks