How to enable SSL/HTTPS on a Joomla site (detailed guideline) - JoomShaper

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

26 July 2018
Hits 103,698
6 min read
How to enable SSL/HTTPS on a Joomla site (detailed guideline)

By now, you might have known that Google prefers SSL/HTTPS based sites which means a better treatment in indexing and search result listing. The latest news is, Google Chrome browser has started flagging all HTTP websites as “Not Secure” (untrustworthy) without any exceptions. Are you scared? You should be. But don't worry! Now I will show how to enable SSL/HTTPS on a Joomla site in few easy steps.

We'll discuss on:

  • The quickest solution
  • A FREE and easy method
  • The manual and advanced ways

Did you know?

SSL/HTTPS enhances user-privacy by encrypting the data transmitted between a browser and the server. 

Before adding SSL, you site’s URL looks like http://www.example.com. Activating SSL will make it https://www.example.com. To get it done, we need to work both in the site’s hosting server and domain SSL certificate control sides. An SSL certificate can secure one or more domains; to create an SSL host for a domain, you must have a certificate that secures that domain.

The quickest solution: SSL from your hosting provider

As the first step you have to contact your hosting support and ask them if they can make your site available via HTTPS. Many hosting companies offer SSL certificates (from free Let's Encrypt and other providers) for their customers. And from cPanel you can set SSL for your domain in less than a minute (for example, using the  AutoSSL feature). If you use cPanel, you can utilize this method to enable HTTPS on your site. To enable AutoSSL for free, follow this official tutorial from cPanel.

FREE and easy: Cloudflare Flexible SSL

Cloudflare, the renowned web security & performance company and CDN provider, makes SSL activation easy. For websites, blogs, and anyone who wants to explore Cloudflare, they have a free plan. Cloudflare has a free service called 'Flexible SSL' that lets you add HTTPS to your site easily.

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

Figure: Cloudflare dashboard.

The process is simple: First we'll see the Cloudflare side configuration. Then the Joomla-side config will follow.

  1. Create an account with Cloudflare
  2. Add your website to your Cloudflare account
  3. Wait some time until Cloudflare fetches your DNS records
  4. Verify the DNS record
  5. Complete the set up procedure (details on this official tutorial)
  6. Login to your domain registrar and change your domain's Name Servers as provided by Cloudflare (this can take a few hours)
  7. Create an 'Always HTTPS' Page Rule on Cloudflare for your domain (details on this official help article)
  8. Go to the Crypto section of Cloudflare and set the SSL option to Flexible.

The Cloudflare-side setup is done. Now configure your Joomla site to turn SSL on. Follow the process below (a screenshot is given after the texts).

  1. Go to System > Global Configuration > Server tab
  2. Set the Force HTTPS option to Entire Site
  3. Save & Close settings

(However, this can also be done by editing the .htaccess file of the site, which someone may find a bit complex than the built-in method.)

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

Figure: Joomla-side configuration to turn HTTPS on.

It's done! Clear browser cache and server-side caches. If you see any yellow warning (mixed content), then fix that issue by following the methods detailed in our another post here.  

The manual and advanced ways

The above free methods are easy & quick HTTPS solutions. If you want to get an advanced paid SSL certificate for your website, you may need some manual tasks. Here is an example outline for configuring SSL semi-manually on a cPanel based site. Remember, if you don't have cPanel (or have no panel at all), you can still enable HTTPS on other ways depending on which SSL certificate you are using (both free and paid ones). Now let's see cPanel's semi-manual way. However, the terms may vary to cPanel's version to version. 

Server-side configuration

Get and activate an SSL certificate. Then Login to your site’s cPanel interface.

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

Figure: cPanel security settings section.

Now follow the instructions below.

  1. Open SSL/TLS Manager found in the Security section
  2. Click Manage SSL Sites under Install and Manage SSL for your website (HTTPS)
  3. Copy the certificate code you received from the certificate authority (normally via email) including -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- and paste the code into the Certificate: (CRT) field on the coming page.
  4. Click the Autofill by Certificate button and the system will attempt to fetch the domain name and the private key (otherwise do it manually).
  5. If not filled in already, copy and paste the CA Bundle into the box under Certificate Authority Bundle (CABUNDLE).
  6. Click on the Install Certificate button

The certificate should be now installed on your site server. The next step is to configure HTTPS/SSL inside Joomla. You can verify the certificate installation using this tool. A detailed tutorial for cPanel and SSL can be found here. If you are not using cPanel, you can see this link to get detailed instructions for Apache OpenSSL, NGINX etc. 

One more step: Configure HTTPS/SSL inside Joomla

After installing & enabling the SSL certificate on your server, configure your Joomla settings to force HTTPS on the entire site. Visit the admin panel.

  1. Go to System > Global Configuration > Server tab
  2. Set the Force HTTPS option to Entire Site
  3. Save & Close settings

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

Figure: Joomla-side configuration to turn HTTPS on.

And it’s all done. You’ve just enabled HTTPS on your Joomla site. Don't forget to clear your browser cache and other server-side caches. 

How to fix mixed content warnings on Joomla

When a Joomla site doesn’t fully protect or secure all content (attachments, images, menu links, css or javascript files), a browser will display a “mixed-content” warning because of the old HTTP based URLs. The best way to avoid mixed content issues is to serve all content via HTTPS instead of HTTP. You can manually fix this issue by adding the new secured (HTTPS) links to these fields. But sometimes you need to put more effort into. Please read our related tutorial "How to do SSL check & fix" to solve these.

Adding HTTPS to a Joomla site can be done in several methods. Here we've just shown a few common ways. The procedures may need to be customized depending on your site's unique needs. Please share your experience and suggestions with the community via comments. Stay secure, happy developing! 

Note: This post was originally published on December 19, 2015. It has been updated on July 26, 2018 to add additional information.

Arafat Bin Sultan

Arafat Bin Sultan

Arafat is a tech-enthusiast with a keen interest in space, photography, and video making.
G
Gl
6 years ago
Thank you for this article. Everything worked like magic!
Arafat Bin Sultan
Arafat Bin Sultan
5 years ago
Glad to know :)
Please stay tuned for more useful posts.
Chow
Chow
5 years ago
Hello! :)

Your article is short and very clear and contains the exact algorithms which I needed and that lead to the excellent results! It is very useful and understandable!

Many thanks! :)
Paul Frankowski
Paul Frankowski
5 years ago
Thanks a lot, we try to deliver current & max useful tips. More soon.
IB
Ivan Biolley
5 years ago
Should be awesome to have a guide on how to make the change also on Google Search Console, my site has some important first positions on Google search and I'm afraid to make the change and being affected by lost this positions Thank you so much for this article and your assistance about my question.
Arafat Bin Sultan
Arafat Bin Sultan
5 years ago
Thanks Ivan for your comment. Let's see what we get.
MB
Mr Bao
5 years ago
Thank you for this article.
Paul Frankowski
Paul Frankowski
5 years ago
Thanks, I hope you will buy/renew JoomShaper subscription soon.
MM
Mehar Muzammal
4 years ago
Can You Check My Website Facing Problem After Enable Https " [url="https://rochesterlawcenter.com/"]Planning Attorney Rochester[/url] "
RA
Rinaldo De Angeli
5 years ago
But when u have https front end Sp Page Builder dont work. He work only www
H
H.C.
5 years ago
100% works just something is not set up properly for you
Paul Frankowski
Paul Frankowski
5 years ago
Yes, it must be something with Joomla settings, I have seen at least 50 websites with SSL where front-end edition from SPPB 3.2.x worked prefect. Also on my private demos all is OKAY.
A
Arash
5 years ago
Thank you so much, all your posts are useful and easy to learn.
Paul Frankowski
Paul Frankowski
5 years ago
Thanks a lot.
Mirza Makbool Baig
Mirza Makbool Baig
5 years ago
Hello
Sir, I don't have such an experience in Joomla, But I like Joomla Templates and Colorful design. So I wanted to convert my puzzles website in Joomla from WordPress. [ website: [url="https://dailypuzzlecheats.com"]dailypuzzlecheats.com[/url] ].
Let me know the complete process.
1) Do I need to purchase SSL again
2) Can I migrate directly or need to create from basic.
Please reply me.
Paul Frankowski
Paul Frankowski
5 years ago
1) SSL is assigned to domain, so you can use it for any CMS
2) There are auto-migrators, but all are commercials, so if you don't have money but have time, recreate
RC
Ram Charan
5 years ago
After reading this article, I came to know the importance of securing a website with [b]HTTPS[/b]. Recently, I upgraded my site to https and is really great and helpful. Thank you :)
A
andrew
5 years ago
Right Now I am using wordpress with letsencrypt on my blog. But now a days lots of issues happenig with nginx & letsencrpy. I would like to my Official blog to Joomla. Hope it makes sense!
ZZ
zozan zozan
5 years ago
Hi Tim...did everything that you taught, but I am getting a Not Secured with a line crossing out the https. When I try bring up the web site I'm getting Your Connection is Not Private. Can't figure it out.
Arafat Bin Sultan
Arafat Bin Sultan
5 years ago
In that case, please [url="https://www.joomshaper.com/blog/how-to-do-ssl-check-in-joomla-3-7"]check this article[/url] to solve the issue. Thanks.

Sign up for our newsletter

Don’t miss any updates of our new templates and extensions and all the astonishing offers we bring for you.