Website Showing 'Not Secure'? How to Fix SSL and HTTPS Step by Step
A 'Not Secure' warning scares visitors and makes your site look unfinished. Here is how to install free SSL, force HTTPS and fix mixed content step by step.
- "Not Secure" means your site is loading over
http://, or your SSL certificate is missing, expired or invalid. - In cPanel, open Security > SSL/TLS Status and click Run AutoSSL to install a free certificate (if your host offers it).
- Then force HTTPS with a redirect, and set your site URL to
https://in your script or CMS settings. - Fix leftover
http://images and scripts (mixed content), then check the HTTPS report in Search Console.
You open your new website and Chrome shows "Not Secure" next to the address. Visitors see the same warning. Some will leave, and anyone reviewing your site, including AdSense, sees a site that looks unfinished.
The good news: on most hosting plans this is a 15-minute fix. This guide walks you through it in order, from installing the certificate to fixing the small leftovers that keep the warning alive.
Why does my website say "Not Secure"?
Browsers show this warning when the connection to your site is not encrypted. The common causes are:
| Cause | What you see | Fix |
|---|---|---|
| No SSL certificate installed | "Not Secure" on every page | Install free SSL (Step 1) |
| SSL installed but site opens on http | Warning only when you type the plain address | Force HTTPS (Step 2) |
| Script settings still use http | Links and menus jump back to http | Change site URL (Step 3) |
| Mixed content | Padlock missing or a warning on some pages | Update http resources (Step 4) |
| Certificate expired or for the wrong domain | A full-page "Your connection is not private" error | Re-run AutoSSL, check DNS (Step 1) |
Before you start: quick checks
- Your domain must point to your hosting. Free certificates are issued only after a domain control check passes. If you just changed nameservers, wait until the site opens from your hosting. Our guide on connecting a domain to hosting covers this.
- Take a backup. You will edit settings and maybe a
.htaccessfile. Follow our cPanel backup guide first. - Know your panel. The steps below use cPanel. Hostinger's hPanel, Plesk and other panels have a similar SSL section with different names.
Step 1: Install a free SSL certificate in cPanel
Most cPanel hosts use a feature called AutoSSL. According to cPanel's documentation, AutoSSL issues certificates for domains that pass a domain control validation (DCV) check, and tries to renew them before they expire.
- Log in to cPanel.
- Go to Security > SSL/TLS Status.
- You will see a list of your domains and subdomains, such as
yourdomain.comandwww.yourdomain.com. - Click Run AutoSSL. This can take a few minutes.
- Refresh the page. Domains with a green lock or "AutoSSL Domain Validated" status are covered.
If you do not see SSL/TLS Status, your host may have turned AutoSSL off or offer SSL in a different place. Look for "SSL", "Let's Encrypt" or "Security" in your panel, or ask support to enable a free certificate.
If AutoSSL fails
- DCV failed: the domain does not point to this server yet. Fix DNS, wait, and run AutoSSL again.
- www not covered: add a DNS record for
wwwso it resolves to the same hosting. - CAA record blocks the issuer: cPanel notes that CAA records must allow the certificate authority. If you have a CAA record you do not recognise, ask your host which issuer they use.
- Account suspended: AutoSSL only runs for active accounts. Renew your plan first.
Step 2: Force HTTPS (redirect http to https)
Having a certificate is not enough. People and old links still open http://yourdomain.com. You need a permanent redirect so everyone lands on the secure version.
Option A: Use your panel's switch
In cPanel, open Domains. If your version shows a Force HTTPS Redirect toggle next to your domain, turn it on. This is the easiest method.
Option B: Add a rule to .htaccess
If there is no toggle, and your server uses Apache (most cPanel hosts do), you can add a rule to the .htaccess file in your site's root folder (often public_html):
RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Each item above is one line in the file. Copy them in this order.
Place it near the top of the file. If your script already has a RewriteEngine On line, do not add a second one; add the two rule lines just below it.
Step 3: Change the site URL in your script or CMS
Many scripts and CMSs store your website address in settings. If it still says http://, your menus, images and canonical tags will keep using the old address.
- WordPress: go to Settings > General and change both "WordPress Address" and "Site Address" to
https://. - PHP website scripts: look for "Site URL" or "Base URL" in the admin settings. Some scripts keep it in a config file such as
config.phpor.env. The script's readme usually says where. - Blogger with a custom domain: in Settings, find the HTTPS options and turn on HTTPS redirect. Blogger may take some time to issue the certificate for a new custom domain.
After saving, clear any cache your site uses and open the site in a private window.
Step 4: Fix mixed content
Mixed content means your page loads over HTTPS, but some images, scripts or styles still load from http:// addresses. Google's web.dev guide explains that browsers block insecure scripts and similar active content, while images may be upgraded automatically if an HTTPS version exists. Either way, you should fix them.
How to find mixed content
- Open your page in Chrome on a computer.
- Press F12 (or right-click and choose Inspect), then open the Console tab.
- Reload the page. Mixed content shows as warnings or errors that mention the
http://address. - Repeat on your main page types: home page, a post, a category page and a tool page.
How to fix it
- Change
http://tohttps://in your theme, ad codes, widgets and old post content. - If an outside file has no HTTPS version, upload it to your own hosting or remove it.
- For old posts with many http image links, use a search-and-replace tool your CMS supports, after taking a database backup.
<a href="http://...">) do not cause mixed content, because they only open a new page. Focus on images, scripts, styles and iframes.Step 5: Update Google Search Console
Once your site runs on HTTPS, tell Google clearly:
- Use a Domain property in Search Console if you can. It covers both http and https, and www and non-www.
- Make sure your sitemap lists only
https://URLs, then resubmit it. See how to submit a sitemap. - Open the HTTPS report in Search Console. Google says it shows how many indexed URLs are HTTP or HTTPS, and flags issues such as an invalid certificate, an HTTPS page that redirects to HTTP, or a sitemap that points to HTTP.
- Fix any issue it lists, then check again after a few weeks.
Google's help page says it strongly recommends HTTPS, and when a page exists at both addresses it prefers to index the HTTPS version.
Final checklist
- Padlock shows on home, post, category and tool pages.
http://yourdomain.comredirects tohttps://yourdomain.com.wwwand non-www both end up on one version.- Site URL in settings uses https.
- No mixed content warnings in the Console tab.
- Sitemap and canonical tags use https.
Final word
A "Not Secure" warning is one of the easiest problems to fix and one of the most costly to ignore. Install the free certificate, force the redirect, update your site URL and clean up old http links. Then your visitors, Google and AdSense reviewers all see a secure site.
Next step: run AutoSSL today and test your site in a private window. If you are setting up a new site from scratch, read how to install a PHP script on cPanel, and browse the AdSense-ready website scripts in the GeniusGuru marketplace.
Frequently asked questions
Is SSL free on shared hosting?
Many hosts include a free certificate through cPanel's AutoSSL or a similar tool in their own panel. Check your hosting plan or ask support, because the provider and the steps differ from host to host.
How long does a free SSL certificate last?
cPanel's documentation says AutoSSL certificates from its default provider expire after 90 days, and AutoSSL tries to renew them before they expire. As long as your domain keeps pointing to your hosting, renewal usually happens on its own.
Does HTTPS help SEO and AdSense?
Google says it strongly recommends HTTPS and prefers to index the HTTPS version when a page exists on both. A secure site also looks more trustworthy to visitors and reviewers, which matters when you apply for AdSense.
Why does my site still say Not Secure after installing SSL?
Usually the site URL is still set to http in your script or CMS settings, or some images and scripts still load over http (mixed content). Force HTTPS and update old http links to fix it.