Introduction
SSL (Secure Sockets Layer) certificates encrypt the connection between your website and visitors, protecting sensitive data and improving trust. Modern browsers mark sites without SSL as "Not Secure," making SSL essential for all websites. This guide covers how to install SSL certificates and configure your site to use HTTPS.
Why SSL is Important
Security Benefits
- Encrypts data transmission (passwords, credit cards, personal info)
- Protects against man-in-the-middle attacks
- Prevents data tampering and eavesdropping
- Required for PCI compliance (e-commerce)
SEO and Trust Benefits
- Google ranking boost for HTTPS sites
- Browser trust indicators (padlock icon)
- Removes "Not Secure" warning
- Increases visitor confidence and conversions
- Required for modern web features (PWA, HTTP/2, etc.)
Types of SSL Certificates
Free SSL (Let's Encrypt) - Recommended for Most Sites
- Cost: Free
- Validation: Domain validation (DV)
- Coverage: Single domain or wildcard (*.yourdomain.com)
- Renewal: Automatic every 90 days
- Best for: Blogs, small business sites, personal sites
Paid SSL Certificates
Domain Validated (DV)
- Cost: $10-50/year
- Validation time: Minutes
- Best for: Basic websites, blogs
Organization Validated (OV)
- Cost: $50-150/year
- Validation: Verifies business legitimacy
- Validation time: 1-3 days
- Best for: Business websites, organizations
Extended Validation (EV)
- Cost: $150-500+/year
- Validation: Rigorous company verification
- Visual indicator: Company name in address bar (some browsers)
- Best for: E-commerce, banks, high-security sites
Wildcard SSL
- Coverage: Unlimited subdomains (*.yourdomain.com)
- Cost: $50-300+/year (or free with Let's Encrypt)
- Best for: Sites with many subdomains
Installing Free SSL (Let's Encrypt) in cPanel
Prerequisites
- Domain must be pointed to your server (A record configured)
- Domain must be accessible via HTTP (port 80)
- Domain must be added to your cPanel account
Step-by-Step Installation
Step 1: Access SSL/TLS Status
- Log into cPanel
- Navigate to "Security" section
- Click "SSL/TLS Status"
Step 2: Install SSL
- You'll see a list of domains/subdomains on your account
- Find domains that show "Not Secure" or no certificate
- Check the box next to the domain(s) you want to secure
- Click "Run AutoSSL"
- Wait for the process to complete (usually 30-60 seconds)
- Status should change to "AutoSSL certificate installed" with a valid until date
Alternative: SSL/TLS Manager
- Go to cPanel > Security > SSL/TLS
- Click "Manage SSL Sites"
- Select your domain from the dropdown
- If AutoSSL is enabled, certificate should already be installed
- If not, you can manually paste certificate, private key, and CA bundle
Installing a Paid/Custom SSL Certificate
Step 1: Generate CSR (Certificate Signing Request)
- Log into cPanel
- Navigate to Security > SSL/TLS
- Click "Generate, view, or delete SSL certificate signing requests"
- Fill in the form:
- Domains: yourdomain.com
- City, State, Country: Your business location
- Company Name: Your legal business name
- Company Division: IT or Web Administration
- Email: Your admin email
- Click "Generate"
- Copy the generated CSR (long text block)
Step 2: Purchase SSL Certificate
- Visit SSL provider (Comodo, DigiCert, Sectigo, etc.) or purchase through our client area
- Select certificate type and term
- Paste your CSR during checkout
- Complete domain validation:
- Email validation (verify via email sent to admin@yourdomain.com)
- DNS validation (add TXT record)
- HTTP validation (upload verification file)
- Wait for certificate issuance (minutes to days, depending on type)
Step 3: Install SSL Certificate
- Download certificate files from SSL provider (usually a ZIP file)
- Extract and locate:
- Certificate (.crt or .pem file)
- Private Key (should already be in cPanel from CSR generation)
- CA Bundle / Intermediate Certificate (.ca-bundle or chain file)
- Log into cPanel > Security > SSL/TLS
- Click "Manage SSL Sites"
- Select your domain
- Paste certificate content into "Certificate (CRT)" field
- Paste CA bundle into "Certificate Authority Bundle (CABUNDLE)" field
- Private key should auto-fill (if not, paste it from when you generated CSR)
- Click "Install Certificate"
Forcing HTTPS (Redirect HTTP to HTTPS)
Why Force HTTPS?
- Ensures all visitors use encrypted connection
- Prevents mixed content warnings
- Improves SEO (Google prefers HTTPS)
- Avoids duplicate content issues
Method 1: Using cPanel (Easiest)
- Log into cPanel
- Navigate to Domains > Domains
- Find your domain and click "Manage"
- Scroll to "Force HTTPS Redirect" or "HTTPS" section
- Toggle "Force HTTPS Redirect" to ON
- Save changes
Method 2: Editing .htaccess (More Control)
Accessing .htaccess
- Log into cPanel
- Open File Manager
- Navigate to public_html (or your domain's document root)
- Click "Settings" (top right) and enable "Show Hidden Files"
- Find and edit .htaccess file (create if doesn't exist)
Add Redirect Code
Add this code to the TOP of your .htaccess file:
# Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Alternative (with www redirect):
# Force HTTPS and WWW
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [L,R=301]
Force HTTPS without WWW:
# Force HTTPS without WWW
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www. [NC]
RewriteRule ^(.*)$ https://yourdomain.com/$1 [L,R=301]
Method 3: WordPress Plugin (For WordPress Sites)
- Install "Really Simple SSL" plugin from WordPress dashboard
- Activate the plugin
- Click "Activate SSL" when prompted
- Plugin automatically configures redirects and fixes mixed content
Fixing Mixed Content Warnings
What is Mixed Content?
Mixed content occurs when HTTPS page loads resources (images, scripts, CSS) over HTTP, causing security warnings.
Finding Mixed Content
- Open your website in Chrome
- Press F12 to open Developer Tools
- Click "Console" tab
- Look for "Mixed Content" warnings showing HTTP resources
Fixing Mixed Content
Option 1: Update URLs in Code
Change all URLs from http:// to https:// or use protocol-relative URLs //
Before:
<img src="http://yourdomain.com/image.jpg">
After:
<img src="https://yourdomain.com/image.jpg">
or
<img src="//yourdomain.com/image.jpg">
Option 2: WordPress Database Search & Replace
- Backup your database first!
- Use plugin: "Better Search Replace" or "WP Migrate DB"
- Search for:
http://yourdomain.com - Replace with:
https://yourdomain.com - Run on all tables
Option 3: .htaccess Header
Add to .htaccess to automatically upgrade insecure requests:
Header always set Content-Security-Policy "upgrade-insecure-requests"
Verifying SSL Installation
Visual Check
- Visit https://yourdomain.com in browser
- Look for padlock icon in address bar
- Click padlock to view certificate details
- Ensure it shows "Connection is secure"
SSL Testing Tools
- SSL Labs Server Test - Comprehensive SSL testing (aim for A or A+ rating)
- Why No Padlock - Identifies mixed content issues
- GeoCerts SSL Checker - Verify installation and chain
Troubleshooting SSL Issues
"Not Secure" Warning Still Appears
- Clear browser cache and try incognito/private mode
- Check SSL certificate is actually installed (visit https://yourdomain.com)
- Verify certificate covers your domain (not expired or wrong domain)
- Check for mixed content issues
Certificate Mismatch Error
- Ensure certificate is issued for correct domain
- If using www, ensure certificate covers both www and non-www
- Check certificate hasn't expired
- Reinstall certificate if necessary
AutoSSL Failing to Install
- Verify domain points to your server (A record correct)
- Ensure domain is accessible via HTTP (port 80 open)
- Check no firewall or security software blocking Let's Encrypt
- Verify domain is added to cPanel
- Check cPanel error logs for specific error messages
Redirect Loop After Forcing HTTPS
- Check .htaccess for conflicting redirect rules
- Disable "Force HTTPS" in cPanel if using .htaccess method
- For WordPress: Check Settings > General - ensure WordPress URL and Site URL both use HTTPS
- Clear browser cache and cookies
Some Pages Work, Others Don't
- Check for hardcoded HTTP links in those pages
- Verify all resources (images, CSS, JS) load over HTTPS
- Review page-specific redirects or rules
Best Practices
Security
- Enable HSTS (HTTP Strict Transport Security) after verifying HTTPS works
- Keep certificates renewed (AutoSSL does this automatically)
- Use modern TLS protocols (TLS 1.2 or 1.3), disable old SSL versions
- Monitor certificate expiration dates
Performance
- Enable HTTP/2 in cPanel (requires HTTPS)
- Consider using CDN with SSL support
- Optimize images and assets
SEO
- Update Google Search Console with HTTPS version
- Update sitemaps to use HTTPS URLs
- Update canonical tags to HTTPS
- Update any hardcoded links in content
Certificate Renewal
Let's Encrypt (AutoSSL)
- Automatically renews every 60 days (certificates valid for 90 days)
- No action required from you
- Check SSL/TLS Status periodically to verify renewal
Paid SSL Certificates
- Must manually renew before expiration
- Renewal process similar to initial purchase
- Set calendar reminders 30 days before expiration
- Some providers offer auto-renewal
Need Help?
If you're experiencing SSL issues or need assistance with installation, please contact our support team with:
- Your domain name
- Type of SSL certificate (Let's Encrypt, paid, specific provider)
- Exact error messages or browser warnings
- Screenshots of the issue
- SSL test results (from SSL Labs if available)
