Fix this week
The plain, unlocked version of your site still works
Typing your address without https still loads the plain, unlocked version of your site instead of switching to the secure one. The fix is a permanent redirect from http to https, which most hosts offer as a single setting.
The plain, unlocked version of your site still works. Typing yourbakery.com without https loads an insecure page instead of switching to the secure one.
Ask your developer or host to redirect all plain http traffic to https. It is a standard one-line setting.
What it means
Your site can be reached two ways: https://example.com, which is encrypted and shows a padlock, and http://example.com, which is not. People still land on the http version by typing your address without the prefix, clicking an old link, or scanning a printed QR code.
A redirect sends anyone who arrives on http straight to the https version. EverThread requested the http address and did not get sent to https. Instead it got a normal page, an error, or a redirect to another http address.
If your site does not have a working https version at all, set that up first. The redirect only helps when there is somewhere secure to send people.
Why it matters
Visitors on the http version see "Not secure" next to your address. Anything they type into a contact form, login or checkout can be read or changed by someone on the same network, such as public Wi-Fi.
It also splits your site in two for search engines, which can treat the http and https addresses as separate copies of the same pages. A permanent redirect tells them which one is real.
The redirect is also the first step toward Strict-Transport-Security, a setting that tells browsers to skip the http version entirely on future visits.
How to check your own site
- Type your address into a browser starting with
http://, for examplehttp://example.com. After the page loads, look at the address bar. If it still says http or "Not secure", there is no redirect. - Try the
wwwand non-wwwversions too. Each one needs to redirect. - Try a deeper page, such as
http://example.com/contact. It should land on the same page over https, not on your home page. - Some browsers now try https on their own, which can hide the problem. If you are not sure, your developer can run
curl -I http://example.comand look for a301status and aLocation:line starting withhttps://.
How to fix it
Any website
- Look in your hosting dashboard for a setting called "Force HTTPS", "HTTPS redirect" or similar. Many hosts have one, usually under SSL, Security or Domains.
- Turn it on, then test with the steps above.
- If there is no such setting, ask your host or developer: "Please add a permanent 301 redirect from http to https for all pages on example.com and www.example.com."
WordPress
- Under Settings, General, make sure both "WordPress Address" and "Site Address" start with
https://. This tells WordPress which address to use in links, but on its own it does not redirect every http request on every host. - Then add the redirect at the host level. Use your host's force HTTPS setting, or add the Apache rule from the section below to the top of your
.htaccessfile, above the# BEGIN WordPressline. Back up the file first. - If your site runs through Cloudflare, use the Cloudflare setting instead of an
.htaccessrule, to avoid a redirect loop.
Shopify, Squarespace, Wix and other hosted builders
- Shopify and Wix serve every site over https and handle the redirect for you. If EverThread flags this on one of them, check that your domain is fully connected in the platform's domain settings.
- Squarespace has a setting for this, usually under Settings in a section named Security and SSL. Choose the secure option and turn on HSTS if it is offered.
- Other builders generally handle the redirect once your domain is connected. If yours does not, ask its support.
cPanel hosting
- Open "Domains". Each domain has a "Force HTTPS Redirect" switch. Turn it on for every domain your site uses.
- The switch may be unavailable until the domain has a valid certificate. If so, open "SSL/TLS Status", click "Run AutoSSL", then come back.
Cloudflare
- Under SSL/TLS, Edge Certificates, turn on "Always Use HTTPS". Cloudflare then redirects every http request before it reaches your server.
- If your SSL/TLS encryption mode is "Flexible", do not also add a redirect on your server. In that mode Cloudflare talks to your server over http, so a server redirect sends every request around in a loop ("too many redirects"). Better still, install a certificate on the server and switch to "Full (strict)".
Apache or Nginx
- Add a rule that answers every http request with a 301 redirect to the same path on https.
- On Nginx, give port 80 its own server block that does nothing but redirect.
- On Apache, add the rewrite rule to the site configuration or
.htaccess. Themod_rewritemodule must be enabled. - If you use Certbot, its Apache and Nginx plugins can add this redirect for you when they install the certificate.
- Test the configuration, reload the server, and check a few addresses with curl.
# Nginx: a dedicated port 80 server block
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
# Apache: site configuration or .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
What to send your developer
EverThread sends a HEAD request to http:// your host and expects a 3xx response whose Location starts with https://. A 200, an error status, no answer, or a first hop to another http address all count as missing. Redirect to https in a single hop, keep the path and query string, and answer HEAD the same way as GET. Use 301 or 308 so search engines treat the move as permanent. Behind a load balancer or proxy that terminates TLS, %{HTTPS} is always off at the origin, so redirect at the proxy or check X-Forwarded-Proto instead. Once every hostname redirects, add a Strict-Transport-Security header.
curl -sI http://example.com/some/page?x=1 | grep -iE "^(HTTP|location)"
Common questions
My site already has a padlock. Why do I need this?
The padlock only appears when someone is on the https address. The redirect makes sure everyone ends up there, including people who type your address by hand or follow old links.
Will a redirect hurt my search ranking?
No. A permanent 301 redirect from http to https is what Google recommends when a site moves to https. It helps search engines settle on one version of each page.
I turned it on and now the site says "too many redirects". What happened?
Two systems are redirecting against each other. Usually Cloudflare is in "Flexible" mode while the server also forces https, or a plugin and the host both add their own rules. Turn one of them off, clear your browser cache and test again.