SSL Certificate Checker

We open a real TLS handshake against your hostname, walk the certificate chain, and grade the configuration the same way a browser would. Use it the day before an expiry, after migrating CAs, or when a user reports a 'Not Secure' warning you cannot reproduce.

Why SSL Certificates Are Critical for SEO

SSL encrypts data between your server and your users' browsers. Google prioritizes HTTPS websites in search rankings, and browsers display security warnings for HTTP sites, directly reducing traffic and conversion rates.

Common SSL issues we detect:

  • Expiry: Certificates expire every 90 days (Let's Encrypt) or 1 year. Missing renewal causes instant downtime.
  • Name Mismatch: Certificate doesn't cover your exact domain or subdomains.
  • Untrusted CA: Certificate issued by an authority browsers don't trust.
  • Weak Protocols: Using deprecated TLS 1.0 or 1.1 instead of TLS 1.2/1.3.
  • Missing HSTS: Allowing insecure HTTP connections even when HTTPS is available.

How to read the report

The checker returns five blocks of information — treat them in order of user impact:

  1. Validity window. Valid from and valid to dates. Anything under 30 days should trigger action today, not next week. A negative remaining window means the certificate has already expired — every HTTPS visitor is seeing a browser warning.
  2. Subject & SAN list. The Subject Alternative Name list is what actually determines which hostnames the certificate protects. A cert for example.com with no www.example.com SAN will fail for the www subdomain even if it is otherwise perfect.
  3. Issuer chain. You want a chain of at least two hops: leaf → intermediate → (root). A chain that ends with the leaf itself means the intermediate is missing from the server.
  4. Negotiated protocol and cipher. TLS 1.3 with AES-GCM or ChaCha20 is the healthy baseline. TLS 1.0 / 1.1 or RC4/3DES ciphers fail modern PCI-DSS scans.
  5. HSTS header. Without HSTS a user can still be downgraded to plain HTTP on first visit. A max-age of at least 15552000 (180 days) is the common recommendation for production.

Common issues and fixes

"ERR_CERT_COMMON_NAME_INVALID" for a subdomain

Your wildcard *.example.com only covers one level of subdomain, so api.v2.example.com is not matched. Either issue a second wildcard (*.v2.example.com) or reissue with explicit SANs for every subdomain that needs coverage.

Expiry passed despite auto-renewal

Renewal succeeded at the ACME level but the new certificate never reached the serving process. On Nginx: nginx -t && nginx -s reload. On a CDN: re-upload the PEM. On Kubernetes with cert-manager: confirm the Secret was updated and that Ingress rolled the pods.

Mixed content warnings despite a valid certificate

The certificate is fine; the page is loading an http:// asset (image, script, font). Browsers block this silently on modern sites. Grep the codebase for hard-coded http:// URLs and switch to protocol-relative or explicit https://.

Chain works on desktop, fails on Android 7

Older Android versions shipped without the newer ISRG Root X1 trust anchor. Serve the longer chain that ends in the DST Root CA X3 cross-sign, or bump your minimum supported Android version.

OCSP stapling flagged as missing

The server is not requesting or caching the OCSP response. On Nginx add ssl_stapling on; ssl_stapling_verify on; and point to a resolver. This shaves ~100ms off the first handshake and improves privacy.

What to do next

A clean report today is a snapshot. Certificates quietly rotate, renewal scripts silently fail, and CDN migrations sometimes revert HSTS settings. The three things worth automating after this check:

  • Expiry alerts with at least 30/14/7-day lead time, so a stuck cron job does not become a Sunday outage.
  • A post-deploy verification step that re-runs the SSL check against staging and production, failing the pipeline if the chain or protocol changes.
  • Continuous external monitoring from FlashMon.app — it catches the cases where the server renewed but the load balancer did not, because the probe sees what your users see.

Never let your SSL expire again

Set up automated SSL monitoring and get alerts 30 days before expiry.

Start Free Trial

Frequently Asked Questions