HTTPS Migration Guide

How to enable HTTPS on your websites

This page will step through the process of enabling HTTPS on your websites - for FREE!!!

Update - I recommend following these instructions: How To Get A Trusted SSL Certificate for FREE (works 2018) by Kimofy.

My old, alternative method:

You'll need access to several sites and programs to complete the process. You'll also need to be fairly proficient with website administration, but you don't have to be a wizard.

First, visit SSL For Free.

Enter your domain name (for example, stuff.com). Click the "manual verification (DNS)" button. Click the "Manually Verify Domain" button. Keep this page open.

Go to your domain registrar website (you'll probably have to log in) and navigate to the domain management section (or whatever they call it).

If you are using the domain registrar's DNS servers then you can skip the next step.

We need access to the DNS servers so we can add TXT records to it. I use my website hosting company's DNS servers (which I can't edit records on), so I have to change them to the domain registrar's DNS servers. Then I can add the TXT record to the DNS server. Click the "Use Default Nameservers" button (or set them manually, or whatever).

Now we can add the TXT records. Go to the DNS Records section of the domain registrar's website. In the "Type" drop down box select "TXT". Copy and paste the name/host and value into the new record input boxes. Note - My registrar automatically adds the domain name onto the end of the "Host" field, so the domain name will need to be left off when pasting into the box. Try to set the TTL to 1. My registrar requires a minimum of 300 - so I have to wait 300 seconds (5 minutes) before the record is updated. So after the name/host and values are pasted in and the records are added... wait 5 minutes.

While you're waiting, open cPanel and navigate to the "SSL/TLS" section. Click on the "Manage SSL sites" link. Scroll down and select the domain you're securing. Three empty text boxes will appear. Leave this page open.

5 minutes later... Back on the SSL For Free site, click the links to verify the TXT records have been propagated. You should hopefully see a message saying "TXT Record(s) Found" with some other stuff. If so, click the "Download SSL Certificate" button.

Hopefully you'll see a page that says "Certificate Successfully Generated". There will be three text boxes full of random junk. Copy the "Certificate" text and paste it into the cPanel "Certificate" text box. Repeat for the two other boxes. Click on the "Install Certificate" button. You should see a message saying "SSL Host Successfully Installed.

(If required) Return to the domain registrar's site and switch the DNS servers back to the hosting company's DNS servers.

Edit or create the .htaccess file to redirect from HTTP to HTTPS. Probably a good idea to back up the existing file first. This is my file:

RewriteOptions inherit
RewriteEngine on
ErrorDocument 403 /403.shtml
ErrorDocument 404 /404.html
# Preventing Directory Listing
IndexIgnore *
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
# Redirect HTTP to HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule .* https://www.domain.com%{REQUEST_URI} [R,L]

Of course, change domain.com to your domain name.

Use FileZilla (or some other FTP program, or cPanel) to move the .htaccess file to the root of the domain directory.

Test the site by trying to browse to the HTTP version (like HTTP://www.domain.com). Hopefully you will be automatically redirected to the HTTPS site. Test the HTTPS page on SSL Server Test, google PageSpeed Insights.

Now update the sitemap.xml file. I use xml-sitemaps.com/. Copy the sitemap to the directory root.

Sumbit the sitemap to google Search Console.

If you run into trouble, intodns.com may help.