SSL Certificates Explained: Types, Setup, and Common Mistakes
Everything website owners need to know about SSL/TLS certificates — from free Let's Encrypt to EV certificates. Plus common SSL mistakes and how to fix them.
Why SSL Matters
SSL (technically TLS) encrypts the connection between your visitors and your server. Without it:
- Chrome shows "Not Secure" in the address bar — immediately eroding visitor trust
- Google penalizes your search rankings — HTTPS has been a ranking signal since 2014
- Forms and payment data are sent in plain text — visible to anyone on the network
- Modern browser features are blocked — geolocation, service workers, and HTTP/2 all require HTTPS
In 2026, there is no legitimate reason to run a website without SSL. Free certificates are available from multiple providers, and setup takes minutes.
How SSL/TLS Actually Works
When a visitor connects to your HTTPS site, a "handshake" happens in milliseconds:
- Browser requests a secure connection — sends supported encryption methods
- Server responds with its SSL certificate — containing the public key and identity info
- Browser verifies the certificate — checks it against trusted Certificate Authorities (CAs)
- Session key is generated — both sides agree on a symmetric encryption key
- Encrypted communication begins — all data between browser and server is encrypted
This entire process takes 50-100ms. Modern TLS 1.3 reduced the handshake to a single round-trip, making HTTPS nearly as fast as HTTP.
Types of SSL Certificates
Domain Validation (DV) — Free to $50/year
Proves you own the domain. That's it. The CA verifies you control the domain (via DNS record or file on the server) and issues the certificate.
- Let's Encrypt: Free, auto-renewing every 90 days, industry standard
- Cloudflare: Free with their CDN — zero configuration required
- ZeroSSL: Free tier available, browser-based management
Good enough for: Blogs, portfolios, small business sites, SaaS products, content sites — virtually everything.
Organization Validation (OV) — $50-200/year
Proves domain ownership AND verifies your organization exists through business registration checks. The organization name appears in the certificate details (visible by clicking the padlock).
- Verification takes: 1-3 business days
- Best for: Business websites and SaaS products that want the extra legitimacy signal
Extended Validation (EV) — $100-500/year
The most thorough verification. The CA verifies domain ownership, organization existence, physical address, and legal standing. Used to show a green bar in browsers (removed in 2019), but still validates legitimacy in certificate details.
- Verification takes: 3-7 business days
- Best for: Banks, financial services, major e-commerce platforms, government sites
Wildcard Certificates
Covers a domain and all its subdomains with a single certificate: *.example.com covers www.example.com, blog.example.com, app.example.com, etc.
- Available from: Let's Encrypt (free), and all paid CAs
- Best for: Sites with multiple subdomains
Setting Up SSL
Option 1: Cloudflare (Easiest — 5 minutes)
- Add your domain to Cloudflare (change nameservers)
- SSL is automatically enabled — zero certificate management
- Choose "Full (Strict)" mode if your origin server also has SSL
- Cloudflare handles renewal, certificate rotation, and edge termination
This is the simplest approach and works for any website regardless of hosting. Cloudflare's free tier includes SSL, CDN, and basic DDoS protection.
Option 2: Let's Encrypt + Certbot (10 minutes)
For servers you manage directly (VPS, dedicated):
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Certbot automatically configures Nginx and sets up auto-renewal via cron. Certificates renew every 90 days without intervention.
For Apache:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
Option 3: Hosting Provider (0 minutes)
Most modern hosts provide free SSL automatically:
- Vercel, Netlify, Render: SSL included, zero configuration
- cPanel hosts: Usually one-click SSL via AutoSSL
- AWS: Certificate Manager provides free certificates for use with CloudFront and ALB
Check your hosting dashboard — SSL might already be enabled.
Common SSL Mistakes
Mixed Content
Your page loads over HTTPS, but some resources (images, scripts, CSS) load over HTTP. Browsers block or warn about this, and it breaks the padlock icon.
Fix: Ensure all URLs use https:// or protocol-relative //. Run a site-wide search for http:// in your templates, content, and database. Add this header to automatically upgrade HTTP requests:
Content-Security-Policy: upgrade-insecure-requests
Expired Certificates
A surprising number of site outages are caused by SSL certificates expiring. Visitors get a full-page browser warning that's nearly impossible to click through.
Fix: Use auto-renewal. Let's Encrypt + Certbot handles this automatically. Set a calendar reminder 2 weeks before expiration as a backup. Monitor with a service like UptimeRobot or our scanner tool.
Wrong Domain on Certificate
Your certificate covers example.com but not www.example.com (or vice versa). Visitors to the uncovered domain see a security warning.
Fix: Always include both example.com and www.example.com when generating certificates. Let's Encrypt: certbot -d example.com -d www.example.com. Set up a redirect from one to the other for consistency.
Redirect Loops
Misconfigured redirects between HTTP and HTTPS. Usually caused by a proxy (like Cloudflare) doing SSL termination while the origin server also forces HTTPS redirect.
Fix: If using Cloudflare, set SSL mode to "Full" (not "Flexible"). "Flexible" means Cloudflare connects to your origin over HTTP, which can cause infinite redirect loops if your origin also redirects HTTP to HTTPS.
Certificate Chain Errors
The server sends its certificate but not the intermediate certificates, so the browser can't verify the chain back to a trusted root CA. This works in Chrome (which can fetch intermediates) but fails in other browsers and API clients.
Fix: Configure your server to send the full certificate chain. Certbot handles this automatically. Use SSL Labs to verify your chain is complete.
SSL Security Grades
SSL Labs (ssllabs.com/ssltest) grades your SSL configuration A through F:
| Grade | Meaning | Action | |-------|---------|--------| | A+ | Excellent — HSTS enabled | No action needed | | A | Good — modern configuration | Consider adding HSTS | | B | Acceptable — weak cipher or protocol | Update TLS config | | C or below | Weak — security vulnerabilities | Fix immediately |
Common issues that lower your grade:
- Supporting TLS 1.0 or 1.1 (deprecated, disable them)
- Weak cipher suites (RC4, 3DES)
- Missing HSTS header
- Incomplete certificate chain
Test Your SSL
Use our scanner tool above to check your SSL configuration instantly, or visit ssllabs.com/ssltest for a detailed analysis including cipher suites, protocol support, and certificate chain verification.
Frequently Asked Questions
- Do I need to pay for an SSL certificate?
- No. Let's Encrypt provides free, auto-renewing SSL certificates trusted by all major browsers. Cloudflare also provides free SSL as part of their CDN service. Paid certificates (OV, EV) only make sense for banks or large e-commerce sites that need organizational verification.
- What's the difference between SSL and TLS?
- TLS (Transport Layer Security) is the successor to SSL (Secure Sockets Layer). SSL was deprecated in 2015 due to security vulnerabilities. When people say 'SSL certificate,' they actually mean a TLS certificate — the name stuck even though the underlying protocol changed.
- Does SSL affect SEO?
- Yes. Google has used HTTPS as a ranking signal since 2014. Sites without SSL get a 'Not Secure' warning in Chrome, which increases bounce rates. All other factors being equal, an HTTPS site will rank above an HTTP-only site.
- How do I fix mixed content warnings?
- Mixed content occurs when an HTTPS page loads resources (images, scripts, CSS) over HTTP. Fix by changing all resource URLs to use https:// or protocol-relative //. In your CMS, do a find-and-replace changing http:// to https:// in your content. A Content-Security-Policy header with upgrade-insecure-requests can also handle this automatically.
Related Articles
HTTP Security Headers: The Complete Checklist
Protect your website with the right HTTP security headers. HSTS, CSP, X-Frame-Options, and more — what they do and how to set them up.
Website Speed Optimization: The Complete 2026 Guide
Why your website is slow and exactly how to fix it. Core Web Vitals, image optimization, CDN setup, and more.
DNS Explained: How Domain Names Actually Work
A plain-English explanation of DNS — how your browser turns a domain name into a website. Records, propagation, and troubleshooting.
Check your own website
Run a free scan to check SSL, DNS, speed, and security headers.
Scan Your Site Free →