You installed an SSL certificate. Your website shows the padlock. You think you're secure.
But visitors still see "Not Secure" warnings. Google still penalizes you. Your site still has security issues.
Why? Because installing an SSL certificate is only the first step. Most website owners miss the critical configuration steps that actually make HTTPS work properly.
The SSL Certificate Illusion
Here's what most people think:
- "I have an SSL certificate = I'm secure"
- "The padlock shows = Everything is working"
- "My hosting company installed it = I'm done"
Here's the reality:
- SSL certificate installed ≠ HTTPS working properly
- Padlock visible ≠ No security warnings
- Hosting installed it ≠ Properly configured
What You're Missing: The 10 Critical SSL/HTTPS Issues
1. HTTP to HTTPS Redirect Not Configured
The Problem: Your site is accessible via both HTTP and HTTPS. Visitors can still access the insecure version.
Why It Matters: Search engines see duplicate content. Visitors might land on HTTP version. Security warnings appear.
The Fix: Force all HTTP traffic to redirect to HTTPS. Add this to your `.htaccess` file (Apache) or server configuration:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Test It: Try accessing your site with `http://` - it should automatically redirect to `https://`
2. Mixed Content Warnings
The Problem: Your HTTPS page loads resources (images, scripts, stylesheets) over HTTP. Browsers block these or show warnings.
Why It Matters: Security warnings scare visitors. Some features don't work. Google penalizes your rankings.
The Fix:
- Update all internal links to use HTTPS
- Update image URLs in content to HTTPS
- Update CSS/JS file references to HTTPS
- Use protocol-relative URLs: `//example.com/image.jpg` (uses current protocol)
- Use a plugin like "SSL Insecure Content Fixer" (WordPress) to auto-fix
Find Mixed Content: Open browser console (F12) and look for "Mixed Content" warnings
3. SSL Certificate Not Auto-Renewing
The Problem: SSL certificates expire (usually every 90 days for Let's Encrypt, 1-2 years for paid). If not renewed, your site shows security warnings.
Why It Matters: Expired certificates = "Not Secure" warnings = Lost visitors = Lost business
The Fix:
- Set up auto-renewal (most hosting companies do this, but verify)
- Set calendar reminders 30 days before expiration
- Use monitoring tools to alert you of upcoming expiration
- Consider longer-term certificates (1-2 years) if using paid certificates
Check Expiration: Use SSL Labs (https://www.ssllabs.com/ssltest/) to check certificate expiration date
4. Incomplete Certificate Chain
The Problem: Intermediate certificates not installed. Browsers can't verify the certificate chain.
Why It Matters: Some browsers show warnings. Mobile devices may reject the certificate.
The Fix: Ensure your hosting provider installs the full certificate chain (root + intermediate + domain certificate). Most modern hosting does this automatically, but verify.
Test It: SSL Labs will show "Chain issues" if the chain is incomplete
5. Wildcard SSL Not Used for Subdomains
The Problem: You have subdomains (www, mail, cpanel, etc.) but SSL only covers the main domain.
Why It Matters: Subdomains show "Not Secure" warnings. Visitors see security errors.
The Fix: Use a wildcard SSL certificate (`*.yourdomain.com`) or get separate certificates for each subdomain.
Cost Consideration: Wildcard certificates cost more but cover all subdomains. Let's Encrypt offers free wildcard certificates.
6. HSTS (HTTP Strict Transport Security) Not Enabled
The Problem: Browsers don't know to always use HTTPS for your site. First visit might use HTTP.
Why It Matters: First-time visitors might access HTTP version. Security risk on first connection.
The Fix: Add HSTS header to force browsers to always use HTTPS. Add to `.htaccess` or server config:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Warning: Only enable HSTS after you're 100% sure HTTPS works everywhere. Once enabled, browsers will force HTTPS for months.
7. SSL Certificate Covers Wrong Domain
The Problem: Certificate issued for `yourdomain.com` but you use `www.yourdomain.com` (or vice versa).
Why It Matters: One version shows security warnings. Visitors see "Certificate mismatch" errors.
The Fix: Get a certificate that covers both (or use Subject Alternative Names - SAN). Most modern certificates cover both automatically.
Check It: Test both `https://yourdomain.com` and `https://www.yourdomain.com`
8. Old SSL Protocols Enabled
The Problem: Server still supports old, insecure SSL/TLS protocols (SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1).
Why It Matters: Security vulnerabilities. PCI compliance issues. Google penalizes sites using old protocols.
The Fix: Disable old protocols. Only enable TLS 1.2 and TLS 1.3. Your hosting provider should do this, but verify with SSL Labs test.
Test It: SSL Labs will show protocol support and recommend disabling old ones
9. Weak Cipher Suites Enabled
The Problem: Server supports weak encryption ciphers that are vulnerable to attacks.
Why It Matters: Security risk. Data can be decrypted. Compliance issues.
The Fix: Disable weak ciphers. Use only strong, modern ciphers. Most modern hosting does this automatically.
Test It: SSL Labs will show cipher support and grade your configuration
10. Content Security Policy (CSP) Not Configured
The Problem: No CSP headers to prevent XSS attacks and mixed content.
Why It Matters: Security vulnerability. XSS attacks possible. Mixed content issues.
The Fix: Add CSP header. Start with a permissive policy, then tighten it:
Header set Content-Security-Policy "default-src 'self' https:; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline' https:;"
Warning: CSP can break your site if not configured correctly. Test thoroughly.
The Complete SSL/HTTPS Setup Checklist
Initial Setup
- ✓ SSL certificate installed and active
- ✓ Full certificate chain installed (root + intermediate)
- ✓ Certificate covers main domain and www subdomain
- ✓ Certificate covers all subdomains (or wildcard certificate used)
- ✓ Certificate auto-renewal configured
Configuration
- ✓ HTTP to HTTPS redirect configured (301 permanent redirect)
- ✓ All internal links updated to HTTPS
- ✓ All images/media updated to HTTPS
- ✓ All CSS/JS files loading over HTTPS
- ✓ Mixed content issues resolved
Security Headers
- ✓ HSTS header configured (after testing)
- ✓ Content Security Policy configured (optional but recommended)
- ✓ X-Frame-Options header set
- ✓ X-Content-Type-Options header set
Server Configuration
- ✓ Only TLS 1.2 and TLS 1.3 enabled
- ✓ Weak ciphers disabled
- ✓ Strong cipher suites prioritized
- ✓ Perfect Forward Secrecy enabled
Testing & Verification
- ✓ SSL Labs test: Grade A or A+
- ✓ No mixed content warnings in browser console
- ✓ HTTP redirects to HTTPS (test both www and non-www)
- ✓ All pages load over HTTPS
- ✓ No security warnings in browsers
- ✓ Mobile devices can access site securely
Ongoing Maintenance
- ✓ Certificate expiration monitoring set up
- ✓ Auto-renewal verified working
- ✓ Regular SSL configuration audits (quarterly)
- ✓ SSL Labs tests run monthly
Testing Your SSL/HTTPS Setup
Free Testing Tools
- SSL Labs SSL Test: https://www.ssllabs.com/ssltest/ - Comprehensive SSL analysis
- Why No Padlock: https://www.whynopadlock.com/ - Find mixed content issues
- SSL Checker: https://www.sslshopper.com/ssl-checker.html - Quick certificate check
- Security Headers: https://securityheaders.com/ - Check security headers
- Mozilla Observatory: https://observatory.mozilla.org/ - Security configuration test
What to Look For
- SSL Labs Grade: Aim for A or A+ (B is acceptable, C or lower needs fixing)
- Protocol Support: Only TLS 1.2 and 1.3 should be enabled
- Cipher Suites: Only strong ciphers should be enabled
- Certificate Chain: Should be complete (no chain issues)
- Mixed Content: Should be zero mixed content warnings
Common Problems and Solutions
Problem: "Not Secure" Warning Still Shows
Possible causes:
- Mixed content (HTTP resources on HTTPS page)
- Certificate not installed correctly
- Certificate expired
- Certificate doesn't match domain
Solution: Check browser console for errors. Use Why No Padlock tool. Verify certificate installation.
Problem: HTTP Not Redirecting to HTTPS
Possible causes:
- Redirect rule not in `.htaccess`
- Wrong server (Nginx vs Apache configuration)
- Redirect rule syntax error
- Server not processing `.htaccess` files
Solution: Check `.htaccess` file. Verify server type. Test redirect manually. Contact hosting support.
Problem: Mixed Content Warnings
Possible causes:
- Hardcoded HTTP URLs in content
- Third-party plugins loading HTTP resources
- Database contains HTTP URLs
- CDN or external services using HTTP
Solution: Use "Better Search Replace" plugin to update URLs in database. Update content manually. Use SSL Insecure Content Fixer plugin.
Problem: Certificate Expires Frequently
Possible causes:
- Using Let's Encrypt (90-day certificates)
- Auto-renewal not working
- No monitoring/alerting set up
Solution: Verify auto-renewal is working. Set up monitoring. Consider paid certificate with longer validity (1-2 years).
The Verdict
Installing an SSL certificate is just the beginning. Proper SSL/HTTPS setup requires configuration, testing, and ongoing maintenance. Most website owners miss critical steps, leaving their sites vulnerable and penalized by search engines.
The good news? Most of these issues can be fixed in a few hours. The cost of not fixing them is lost visitors, security vulnerabilities, and poor search rankings.
Don't just install SSL. Configure it properly. Test it thoroughly. Monitor it continuously.
Need Help With SSL/HTTPS Setup?
Our maintenance plans include SSL certificate management, HTTPS configuration, mixed content fixes, and security header setup. We'll ensure your site is properly secured and gets an A+ rating from SSL Labs.
Frequently Asked Questions
Do I need a paid SSL certificate or is free okay?
For most websites, free SSL certificates (like Let's Encrypt) are perfectly fine. They provide the same encryption as paid certificates. Paid certificates offer longer validity (1-2 years vs 90 days), warranty, and support, but for most small businesses, free certificates with auto-renewal work great. The important thing is proper configuration, not the certificate type.
How do I know if my SSL is configured correctly?
Use SSL Labs SSL Test (https://www.ssllabs.com/ssltest/). Enter your domain and check the grade. Aim for A or A+. The test will show you exactly what's wrong if there are issues: protocol support, cipher strength, certificate chain, and more. Also check your site in different browsers and look for any security warnings.
What's the difference between SSL and TLS?
SSL (Secure Sockets Layer) is the older protocol, now deprecated. TLS (Transport Layer Security) is the modern replacement. When people say "SSL," they usually mean TLS. SSL 2.0 and 3.0 are insecure and should never be used. TLS 1.0 and 1.1 are also deprecated. Only TLS 1.2 and 1.3 should be enabled on modern servers.
Why does my site still show "Not Secure" after installing SSL?
Most commonly, it's mixed content—your HTTPS page is loading resources (images, scripts, stylesheets) over HTTP. Browsers block or warn about these. Check your browser console (F12) for mixed content warnings. Update all URLs to HTTPS, or use a plugin to automatically fix them. Also verify your HTTP to HTTPS redirect is working.
Should I enable HSTS immediately?
No. Enable HSTS only after you're 100% certain HTTPS works everywhere on your site. Once enabled, browsers will force HTTPS for months (based on max-age setting). If you have any HTTP-only pages or resources, HSTS will break them. Test thoroughly first, then enable HSTS with a short max-age (like 1 day), test again, then increase to longer periods (weeks, months).