How to fix hsts max age too short on WooCommerce
Increase your HSTS max-age directive to at least 31536000 seconds (1 year) so browsers enforce HTTPS connections for a meaningful period.
Steps for WooCommerce
- WooCommerce runs on WordPress; HSTS is set at the web server or plugin level, not inside WordPress itself.
- Recommended plugin approach: Install the 'Headers Security Advanced & HSTS WP' plugin (or 'HTTP Headers' by Davide Casali) from WordPress.org. In the plugin settings, set Strict-Transport-Security max-age to 31536000 and enable includeSubDomains if appropriate.
- Alternatively, if you manage your own Nginx server, add inside your HTTPS server block: add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; Then reload Nginx: sudo nginx -s reload
- For Apache, add to your VirtualHost block or .htaccess (inside <IfModule mod_headers.c>): Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" Then restart Apache.
- If your host uses cPanel, go to cPanel → Security → ModSecurity or use the 'Headers' section in your hosting control panel to add the header.
- Verify by visiting your store and checking the response headers in browser DevTools → Network tab.
What is hsts max age too short?
HTTP Strict Transport Security (HSTS) is a security header your web server sends to browsers that says: "Only ever connect to this site over HTTPS — never plain HTTP." The `max-age` value inside that header tells the browser how many seconds to remember and enforce that rule. A value of 86400 means just one day — after 24 hours the browser forgets the instruction and could allow an unencrypted HTTP connection again. The industry standard is 31536000 (one full year), meaning the browser stays protected for 365 days after each visit.
A short max-age creates a real window of vulnerability every single day. If a visitor's browser cache expires and they visit your store over an insecure network (coffee shop Wi-Fi, hotel hotspot), an attacker can intercept that initial unencrypted HTTP request and steal login credentials, session cookies, or payment data — a classic SSL-stripping attack. Beyond security, Google has used HTTPS as a ranking signal since 2014 and continues to favor sites that implement it properly; a misconfigured HSTS header signals to security-aware crawlers and auditors that your HTTPS setup is incomplete. Short max-age values are also explicitly flagged by OWASP and browser preload-list requirements, and many enterprise buyers and compliance frameworks (PCI-DSS, SOC 2) require HSTS to be set correctly before approving a vendor.
See the complete Hsts max age too short guide for every platform and the full background.
Not sure if your WooCommerce store has this?
Run a free SEOLZ scan — we’ll find hsts max age too short and every other issue across your whole site.
Scan my site free