SSL Certificate

Free GoDaddy SSL Certificate: Install Let’s Encrypt (in 15mins)

Hello Internet People!

In this article, you will learn how to install Let’s Encrypt in GoDaddy with a free SSL Certificate Generator. I’m using Godaddy, but this should work on HostGator or any other hosting provider that has cPanel.

In addition, I will show you how to always redirect users from HTTP to HTTPS using just a few lines of code.

No coding skills required!

CONTENTS

What is Let’s Encrypt

Let’s Encrypt is a free SSL certificate provider and verifier. It is becoming popular among small website owners, and even NASA is using it for some of its smaller sites (3000 different sites). So you are in safe hands using them.

Now the only con of let Let’s Encrypt is that you need to renew it every 90 days.

UPDATED: I did this for few years, but I got tired of the hassle every 3 months, so now I use a paid SSL that I bought 9$. Here is an article about how you can install external SSL in GoDaddy.

There is a way to set up Certbot to renew the SSL certificate automatically, but this requires knowledge of shell/terminal and might be too hard for beginners to grasp. So I want to cover it in this article.

How to install Let’s Encrypt’s Free SSL Certificate in GoDaddy and Cpanel

This tutorial is for people who want to get a free SSL certificate for GoDaddy, this will work on shared web hosting and we will use an online tool that I created.
In my examples, I will be using letsencrypt on GoDaddy shared hosting, but it will work on most other hosting providers too. (2020 Update: no more Zerossl or sslforfree as they changed to paid service).

  1. Go to my SSL Certificate Generator.
  2. In the first field type your domain name with www. and without www., for example, I will use linktopus.net, www.linktopus.net. (Don’t include http:// or https://). If you have a few subdomains, you can add them here too, just separate them with comma.
  3. In the email field, add your email (this will be only used by Let’s Encrypt to generate the SSL and I think they send out reminders about SSL certificate renewals).
  4. Choose HTTP or DNS (right now DNS is not working).
  5. And accept the terms and conditions.
  6. Click on the “create free SSL certificate” button below the search field.

    Hot Tip! If you want to include your sub-domains then use a wildcard SSL. In the domain field, just add following: *.yourdomain.com, yourdomain.com
    Note the star (*), it’s important.
    Learn more about wildcard SSL installation.

  7. At the top of the page, you will see which domains this certificate applies to, double-check everything is correct.
  8. Now you should see the “Download File #1” and “Download File #2” buttons. Click on both of them. This will download the two files on your computer. You will need these files soon.
  9. Head to your cPanel and click on “File Manager” and go to your root folder.


    Hot Tip!
      If you are doing this for an addon domain, then just go to the root of that domain. So where ever your index.html or index.php for that domain is.

  10. In the root folder, create a new folder .well-known and inside it create an acme-challenge folder. So your path should look like this:
    mydomain.com/.well-known/acme-challenge

    Please note: You can just delete the .txt files you put in the /.well-known/acme-challenge once you are done, but keep the folders. You will need them in 90 days again.

    If the file .well-known does not show after making it.  Just do the following, click on the “settings” button in the top right corner of the file manager. In the pop-up select “show all hidden files”.

    If you are having issues with finding the root directory.
    Jobb added a comment with a better explanation:

    The first time you use File Manager in GoDaddy, it defaults to the “home” directory, which I found out is NOT the same as the “root” directory. Installing .well-known/acme-challenge in the home directory does not work.

    In the screenshot above, it shows domainname.com/.well-known/acme-challenge as the path, but again that’s misleading for shared domains. There is an /etc/domainname.com folder, but if you put .well-known/acme-challenge underneath that folder, it also does not work.

    With a little digging, I discovered that GoDaddy considers the /public_html folder the “root” folder, so you want to create the subfolders in there so it looks like /public_html/.well-known/acme-challenge. THAT path finally worked.

  11. Upload the two .txt files (from step 8) inside the acme-challenge folder.
  12. Go back to the SSL generator and click on the 2 links with your domain name.
  13. If it returns you a page with numbers & characters, you are good to go. If not then check that the URL path contains “mydomain.com/.well-known/acme-challenge”.
    If you are having issues, a great tip from Rubab in the comments:

    As we downloaded two text files in step 8 , but the files weren’t really ‘text’ files but simply files with no extension. That is why it was not validating the keys. Just rename the files so that they have the .txt extension. That worked for me.

  14. Then click on the green button at the bottom that says “Download SSL Certificate”.
  15. Once it stops generating the free SSL certificate for GoDaddy, you should see 2 fields with a lot of numbers & characters. You will copy & paste each field to GoDaddy in just a moment.
  16. Go to Cpanel and find “SSL/TLS” under the security section and click on it.
  17. Click on Manage SSL on your site and you should see three fields.
  18. Select the domain you want to install the SSL certificate on.
  19. Now just go back to the SSL generator and grab the content inside of the first field.
  20. And paste it in cPanel into the Certificate (CRT) field.
  21. Please note that what you’ve just pasted into Godaddy, actually contains 2 certificates in one. If you scroll down inside the field, you can see that there is a “–End Certificate–” and –Begin Certificate–.
  22. Cut the whole text after the 2nd “–Begin Certificate–” (please check that this is removed from the “Certificate field” otherwise it will give an error).
  23. And paste it into the Certificate Authority Bundle (CABUNDLE) field (it’s the last field in Cpanel).
  24. Then head back to the SSL Generator and copy the private key from the 2nd field.
  25. And go to Cpanel and paste it into the “Private key” field (it’s the middle one).
  26. Once you’ve done it, click on the “Install certificate” at the bottom of the page.
  27. You should see a popup, with your domain name in it. If it has a green checkmark then the SSL Certificate was successfully installed.
  28. Your Free SSL Certificate is now installed in GoDaddy, and you should have HTTPS. Test that it works by adding https:// to in front of your domain for example https://www.mydomain.com.
  29. You should see the grey padlock in front of your URL. If you get a padlock with a yellow batch (or exclamation mark), then you probably have mixed content issues. To fix it check out the below video (click here to scroll to it), which describes how to fix the mixed content warning or no green padlock.

var ml_account = ml('accounts', '2865109', 'r8a2n9b7d6', 'load');

Redirect from HTTP to HTTPS on GoDaddy

On GoDaddy, the redirection from http to HTTPS is easily achieved by adding a bit of code into .htaccess (Hypertext Access) file.

We will tell our Apache-based webserver to change all URLs with http:// to https://. Sound complicate but it isn’t. Just stick with it 🙂

This happens before any code of your site is run.

Always redirect from HTTP to https:

  1. Go to Cpanel and click on the file manager.
  2. On the root folder, create a new file called “.htaccess”. You might have this file already, in that case, edit that file.

    Hot Tip!  If you can’t see .htaccess file it might be hidden. Here is how to unhide .htacess file.

  3. In .htaccess file, add the below code and hit save

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

4. Test that this worked by typing http://mydomain.com it should change to https://mydomain.com
You are done!

Remember to update the SSL certificate every 90 days, you can just set a reminder in the google calendar and it takes me about 10 minutes to renew the SSL certificate.

Since your site is secure now, why not speed it up, so it’s lightning-fast…

How to renew Let’s Encrypt Free SSL Certificate

Here is a video of the renewal steps (old video):

Unfortunately, there is no way to renew letsencrypt automatically unless you know how to use the terminal/shell and you have full access to your server. In that case, you can use CertBot and cron job to update automatically your SSL certificate.

If you are on GoDaddy’s shared hosting, using cPanel, Plesk, or WordPress, CertBot is not an option.

Let’s Encrypt renewal is easy, and you will need CSR, domain Key & account key. If you don’t have these, you have to request a new certificate from scratch, so scroll up to the beginning of this tutorial, or for you lazy peeps click here to go up.

That said, it’s easy to renew Let’s Encrypt, and you can do it in 2-3 minutes using the SSL generator. I just have a calendar reminder every 87 days and then I renew the free SSL certificate on GoDaddy.

Update: I now use a paid SSL that I got for about $9 because I got tired of renewing the certificates. Read more about how you can install a cheap SSL in GoDaddy.

Common issues with Installation

Now I get it, it doesn’t always work out, and sometimes you might have some issues with the installation. Below is a collection of the most common problems.

Installing a free GoDaddy Wildcard SSL Certificate using Let’s Encrypt on any Sub-domain

For anyone who is trying to set up with a subdomain ( ex blog.mysite.com, shop.mysite.com). You can do it by using a wildcard SSL certificate, luckily Let’s Encrypt supports this.

In SSL Generator, in the domains field type: *.yourDomain.com, yourdomain.com
Please note the star (*) is super important to include. It tells letsencrypt that you want to include all your subdomains. And if you are using a so-called “naked domain” (so without www), then you need to type that there too.
And make sure you select DNS, instead of HTTP.

Then just follow the steps in this video:

HTTPS Mixed Content Warning (website not fully secure)

Are you getting a “mixed content on HTTPS” warning after installing the SSL certificate? Does the browser tell you that SSL is not secure?

In most cases, the mixed content error is easy to fix. The most important step is to identify where the issues are with Chrome’s inspector and then it’s easy to update. This tutorial will show you a quick way to make sure you don’t get HTTPS not secure warnings

Summary of steps:
1. Inspect your website (right-click anywhere on the site, select “Inspect Element” and find the “Console” tab).
2. Determine why do you have mixed content warnings.
3. Update the images, URLs, etc.

Mixed Content Warning on WordPress

Blocked by mixed content on WordPress after installing SSL certificate? You must be asking why is there no padlock?

In most cases, the mixed content error is easy to fix. The most important step is to identify where the issues are with Chrome’s inspector and then it’s easy to update. The video tutorial is captured in Chrome. However, you can use Firefox, Safari, or Edge as well.

Summary of steps:
1. Update WordPress settings with HTTPS.
2. Check images & video URLs.
3. Add http to HTTPS redirections.
4. Updated plugin code.

Let’s Encrypt on GoDaddy Plesk (Windows Shared Hosting)

The trick to getting this to work with Plesk is to fill out the online form on GoDaddy under “Secure Your Site” and let GoDaddy create the Certificate Request (CSR). In this article, for cPanel you are having an SSL generator to create that.

That won’t work for the Plesk Shared Hosting on Windows with GoDaddy because GoDaddy didn’t recognize the certificate.

So, have GoDaddy create that request, copy it, and PASTE that into the SSL Generator (at the bottom of the page there is a checkbox if you have your own CSR). Then the SSL Generator will generate a certificate in the left panel that Plesk recognizes. It took two days to figure that out, but once I did, the site was secure within five minutes.

Thanks for the tip Damon Gray

404 error in the verification

I’ve heard that if you choose “DNS verification”, follow the instructions exactly and input it on your GoDaddy cPanel. (Note! I haven’t tried this, so I’m not sure this works. However, some users have recommended this.)

In case you want to give it a try in ZeroSSL then follow the below instructions.

Anyone with 404 in the verification, insert the expression “text/plain .” in the MIME of the server (inside the MIME text box), to open files without extension.

You can configure MIME in “Internet Server Settings”, and remember to put the “.” at the end of the expression.

I was getting a 404 error when checking to make sure the 2 files are correctly connected.
My server is from GoDaddy, and I was not configured in MIME for my server to read files without extension.

This MIME configuration causes your server to read files without extension as if it were a .txt file.

I was getting a 404 error when checking to make sure the two files are correctly connected. My server is from GoDaddy, and I was not configured in MIME for my server to read files without extension. This MIME configuration causes your server to read files without extension as if it were a .txt file.

Credit to Carlos Fonsec who provided the answer.

Unexpected error[ Code: 400 ]

If you are getting “Unexpected error[ Code: 400 ] [ Status: Unable to update challenge :: The challenge is not pending. ]” in zerossl.com when you click the NEXT button, then try the following:

Try using the DNS options. I added a CNAME for “www”. You should see both text values returned when clicking the link. “Your certificate is ready!”

Credits to Matthew Upp for the solution.

Let’s Encrypt and WP Managed WordPress with GoDaddy

Unfortunately, GoDaddy doesn’t support 3rd party SSL with managed WordPress.

What you can do is install CloudFlare which comes with HTTPS. Here is my tutorial about how to install Cloudflare SSL in WordPress.

Otherwise, you can do what Colby did. You need to move from managed WordPress to Economy Linux Hosting with cPanel then transfer your website over (I used the plugin Duplicator basic) and then you can follow this tutorial it worked great for me!

Thanks to Colby Hearn for the answer.

How to fix “you must use an IP address that is on the server. “xxx.xxx.x.xxx” is not bound”.

So you might get this message: “You must use an IP address that is on the server. “xxx.xxx.xxx.xxx” is not bound”, while installing an SSL certificate on GoDaddy with Zerossl.

I haven’t encountered this issue myself but here is how Roberto Villegas resolved it.

“I waited two days, and when i tried again. The SSL get installed with no issues, it appears godaddy have an problem with cpanel, at least it’s what they told me that when i called the first time.”

Another reader called Danny resolved it like this and left a comment in the comments below:

“I got the same error when I tried to add an SSL certificate to a domain that had no published content yet (i.e. no index.html or index.php, just an empty folder, except for a few hidden files & empty cgi_bin folder). Guess you need to have some actual content to secure, before you can secure it. Hope that helps somebody.”

Steve left his solution in the comments below:

“I had a problem during installation that others might encounter as well. After I got all of my SSL keys and pasted them into the text boxes under the SSL manager in cPanel, it told me that my IP address was “not bound”.

After a bit of searching I found that you sometimes have to make a very minor change to your DNS settings in order to install your certificate.

If you’re having this problem, log in to GoDaddy, and click on your name up top, and go to “My Products”. Under “Domains”, click on the “DNS” button to the right of the domain name you want to install the SSL certificate for.

In the list of DNS items, one should say “A @ [Your IP Address] 10800 seconds”. Mine was set at 10800, anyway. Click the little pencil icon to the right and edit your settings. Change the time to 600 seconds instead.

This fixed mine right away! I was able to install my SSL certificate and my site automatically redirects to HTTPS.”

Also, Juan had a similar issue, he solved it with:

“Today I had a problem after full filling the SSL Certificate renewal: “IP is not bound”.

Problem is caused by old installed certificates, don´t know why… Just uninstall the SSL Website under SSL/TLS. This action will not delete files in /.well-kown/acme-challenge/ obtained and uploaded from http://www.zerossl.com.

Then repeat steps 26 to 28 herein at the tutorial and there you go! If it is a renewal use the green “autofill by certificate” button to fill the private key and then “install Certificate” at the bottom.

This worked for me, hopefully to everyone else.”

Missing SSL/TLS in GoDaddy menu

What to do if you don’t have the “SSL/TLS” in your GoDaddy menu. And you only see “SSL Certificates” which means it’s a paid SSL Certificate.

This limitation seems to be on different types of web hosting Economy & Deluxe Web Hosting Linux. It seems to appear for users in different countries (US & UK) too.

The only explanation for this I found was this Godaddy Forum post. This tells that if you have Classic or web hosting that was bought some years ago, they might not have a way to install an external SSL certificate.

A workaround would be to use a CDN like Cloudflare which comes with it. It’s free until a certain limit of traffic, so if you have a low traffic site this might work for you.

Cloudflare is CDN, not hosting. Thus, you would still stay on GoDaddy. But Cloudflare would act as a layer in front of your hosting. Here is a video of how to install Cloudflare on WordPress.

Three green checkmarks in GoDaddy – Website still not secure

So you’ve followed the instructions in this tutorial, and after installing the certificate in GoDaddy’s cPanel, you get three green checkmarks (step 27 above).

But when you go to your site it still gives an error similar to “Your connection is not private” or “Your connection is not secure “.

Thomas was able to resolve this bizarre issue the following way:

“GoDaddy didn’t know nor believe what i thought until I proved it. The presence of McAfee Trusted Advisor prevented the certificate from being seen.

In every way, as we earlier determined, it was valid and installed properly and even GoDaddy verified it. As soon as I unpublished it, https works. Hope this helps your work and knowledge base.”

So there is a chance that your SSL is blocked by other software such as McAffee.

Error code: “Forbidden You don’t have permission to access / on this server. Server unable to read htaccess file, denying access to be safe”

After some struggles, Shaun was able to resolve this issue and he posted his solution in the comments below. Thanks Shaun!

Description of Problem:

I had no issues until I got to the redirect phase from http to https://. Prior to creating and modifying the .htaccess file, I checked my site and could access it through the insecure http:// and the secure https:// without issue.

So, I created the .htaccess file and copied and pasted the suggested code above:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

The result was an error code:

“Forbidden You don’t have permission to access / on this server. Server unable to read htaccess file, denying access to be safe”

Before re-installing my site, I deleted the file to a blank one, played with other codes, contacted GoDaddy and the error code would not go away.

The solution on re-install was the following code (where replace domain is your domain name:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^replacedomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.replacedomain.com/$1 [R,L]

It worked. I don’t know why… at all. But, hoping the knowledge helps others.

IIS: How to serve a file without extension

If your server is running on the Windows server with IIS then you might not be able to server the file without an extension.

Andrew mentioned below in comments, that he found a solution on StackOverflow. Essentially you will need to create a new web.config file in that directory and enter some custom code. Grab the code from the StackOverflow post.

Error: ZeroSSL failed to retrieve the resource directory

If you get an error in ZeroSSL: “zerossl failed to retrieve resource directory”. This is actually an issue with Let’s Encrypt and it should be solved now. This was spotted in the Let’s Encrypt community post.

As per Let’s Encrypt engineer:
“We had unit tests for the CORS header behavior but because the problem was at the level of the web front end process’ configuration and unit tests are performed at a lower layer the regression was missed.”

Frequently Asked Questions about Let’s Encrypt & GoDaddy

Below are the most frequently asked questions that I’ve gathered from the comments and from my YouTube channel. I hope they clarify some of the questions you have about Let’s Encrypt and GoDaddy.

Does GoDaddy offer a free SSL Certificate?

GoDaddy doesn’t offer a free SSL Certificate, but luckily you can install a free SSL using let’s encrypt free SSL. This will work if you are using shared web hosting. Just scroll to the top of this article to where I show you how to do this.

If you use GoDaddy’s shared hosting, then you cannot use Let’s Encrypt, instead, you can use CloudFlare’s free SSL. Learn how to install Cloudflare.

GoDaddy SSL certificate cost vs. alternatives comparison

When installing an SSL you have few options. GoDaddy’s SSL certificate costs $63.99 and up. This means for many this is too much for a service that other web hosting providers include for free.

This means you have 2 good alternatives:

  1. Use the Letsencrypt certificate for free, but you will have to renew it every 90 days (automatic renewal is not possible on shared hosting). If you choose this option, just keep reading this article.
  2. Use NameCheap to buy the SSL certificate for the price of $9, and renew it only once a year. here is my article on how to do that.

Below is a table that compares the GoDaddy to Let’s Encrypt and Namecheap, in terms of price and how many days the certificate is valid.

GoDaddy Let’s Encrypt NameCheap
Price / Year $63.99 / Year Free $8.88 / Year
Days valid 365 days 90 days 365 days

GoDaddy Wildcard SSL Certificate Price & Alternative options

If you are thinking of buying a GoDaddy WildCard SSL Certificate then be aware that there is a free and cheaper option.

Wildcard SSL Certificate is able to cover all your subdomains, so this is useful if you have many of them. If you only have 1-2 subdomains then it’s probably cheaper to just get a single one for each.

Your Wildcard SSL Certificate alternatives for GoDaddy are:

  1. Use Let’s Encrypt for free, but you have to renew it every 90 days.
  2. Use buy a wildcard certificate from NameCheap for about $71.95 / Year and then you only need to renew it once a year.
GoDaddy Let’s Encrypt NameCheap
Price / Year $295.99 / Year Free $71.95 / Year
Days valid 365 days 90 days 365 days

Does GoDaddy have a free trial for SSL certificates?

Noup, there is no way for you to try the SSL certificate on GoDaddy before you buy it. But to be honest, no-one else gives free trials either. It’s pretty straightforward to get started with SSL, and there is nothing to trial. They are all the same.

However, you can check your alternatives for a cheaper & free SSL certificate that you can install on Godaddy, just click here.

Can I add an SSL Certificate to the GoDaddy domain?

Actually, you can’t install an SSL Certificate to a GoDaddy domain. Because the certificate is installed to the web hosting and not the domain. So if you have a domain from GoDaddy, but your web hosting is with another web host.

Then you need to install the SSL certificate on the other web host because the SSL encrypts the communication between your server (web hosting) and your website visitor.

What is sslforfree & ZeroSSL?

Sslforfree and ZeroSSL are just online tools that enable you to easily create an SSL certificate for your website for free. I find it easy to use and mostly it works without problems and as you can see above, I’ve created a tutorial on how to use Sslforfree and ZeroSSL (old tutorial) to secure your GoDaddy website.

There are other tools like ZeroSSL, which can do exactly the same for example sslforfree.

Essentially they just enable you to go through the certification creation process without knowing any coding. The tool was created by Alexander Yezhov as a side project and I don’t think he gets any money for this. So big thanks to him!

Is there a free SSL Certificate for 1 year?

Unfortunately, there is no free SSL certificate for 1 year. The best you can get is Let’s Encrypt which is valid for 90 days. Just scroll to the top of this article and I’ll show you how to install it in cPanel.

Robert

Hey there! I started punchsalad.com & TipsWithPunch YouTube channel, out of frustration for time-wasting tutorials on YouTube that didn’t get you anywhere. The tutorials are mostly about WordPress, web analytics, Google Ads, and other useful website-related software.

View Comments

    • at what step it doesn't approve? the domain name shouldn't effect it, as far as I know.

    • You are welcome Roger, happy it worked for you! Just remember it expires in 90 days, I just put calendar reminders

  • I get a 404 error when trying to verify. I have wordpress installed on my host, and I think it is stopping me from accessing files on my public home. I am unable to browse any files in my directory. Is there a way to get around this?

    • Hey Danny, this usually works with Wordpress. Are you on MIME? Some users on my YouTube channel had similar issues.

      I'm not that familiar with MIME.

      Here is the video: https://youtu.be/GPcznB74GPs

      I took this from youtube Carlos Andre Fonsec comment:

      Anyone with 404 in the verification, insert the expression "text/plain ." in the MIME of the server, to open files without extension.

      I was getting a 404 error when checking to make sure the 2 files are correctly connected.
      My server is from godaddy, and I was not configured in MIME for my server to read files without extension.
      This MIME configuration causes your server to read files without extension as if it were a txt.

  • hello robert i don't have cpanel. any solution to install free ssl for this . thank you. i am using godaddy wordpress hosting.

  • Hi, great tutorial, I followed it exactly and it worked great. Since then i have changed a few page names and added a few pages, now those pages show "not secure" in microsoft edge an chrome? Do i need to re-do the ssl process after changing page names and adding pages? Thanks

  • Ok, Thanks!! it's exclamation point, mixed content warnings. I followed the video and looks fixable, i see the new images that caused it.. Also, in your video you changed the wordpress address to https:// ~ I have tried this twice and i get kicked out of wordpress completely and have to get go-daddy to reset it so i can get back in. So right now it shows http:// in both places (wordpress) but i'm secure except for the images i added that need to be fixed.

  • I was about to buy SSL for my site and I searched for a free alternative. Then I came across this article and it worked!
    Awesome tutorial! Thanks a bunch!

    • You are welcome, yeah the only downside with the free one is that you have to do it every 90 days, but it only takes 10mins once you know what you are doing. Cheerio!

  • """ There is a way to setup certbot to renew the SSL certificate automatically, but this requires knowledge of shell/terminal """
    I didn't see how to do this in the guide. Is there an article that covers the steps for this?

Share
Published by
Robert