After Google announced HTTPS as a ranking symbol there was a tremendous requirement in procurring SSL certificates. But people have to pay for it. A minimum of 10 USD per year is required to get minimum SSL feature for a website.
There are two options to obtain a free HTTPS protrection.
If your website is hosted using CPanel/WHM then by default cPanel offers a free SSL
Enabling SSL in cPanel hosted website is very easy and you don't need a server administrator support.
Enable the feature in WHM
if you have the access to WHM panel enable the Auto SSL feature there. For that naviagte to Auto SSL section using your WHM panel and then select option cPanel , click save.. That's all to enable Auto SSL in your server.
If you don't have access to WHM panel or you are having reseller version of cPanel account then ask to you account owner/ server admin to enable auto SSL for your domain.
Remember cPanel is offering SSL as a free addon service and you don't have to pay for it. Since you are already paying for your cPanel account
If your site hosted on a different a server and don't have any CPanel account then Cloudflare is the best choice.
Cloudflare offers CDN related services+.. Also it offers free accounts with lots of features like website optimization, security, prevention from site attacks.
Creat an cloudflare account
First you have to create a free account with Cloudflare .
Then add your website there. Once you add the website Cloudflare will perform a DNS scan and check if everything is configured correctly.
Refer this video to see it in action
Changing the nameserver details
This step is very important. Here you have to make an important edit in your domain's DNS records. Before cloudflare you might be pointing the domain name to your hosting server's IP/Nameserver. But in order to make cloudflare work with your domain, you should point the domain to cloudflare network.
For this login to your domain registrar account(GoDaddy, name.com, namecheap etc..)
Then goto DNS management console. This will be a direct link and here you can edit all your DNS records.
Replace the existing nameserver with the namerservers you copies from Cloudflare. That's all..
Then goback to your Cloudflare account and make sure that Cloudflare confirms that the nameserver properly poinitng. This you can confirm in your dashboard itself.
Enabling free SSL
Once you complete the domain set up, goto "Crypto" section.
In that section use SSL section to enable HTTPS feature. Recommended option is "flexible".
Create a page rule for HTTPS redirection.
Once SSL is enabled, another important thing is to redirect all requests from HTTP to HTTPS. Cloudflare provides options to set page rules. In free account we can add 3 page rules.
To create a pagee rule. select the option "Page rules" from main menu.
From there, choose create page rule and provide the URL . Make sure that the option "Always use HTTPS" is selected before saving it.
That's it. Your domain will be SSL ready.
If you are maintaining some additional DNS records in your server, like MX records for mail hosting, CNAME (for sud domains hosted other place) then keep all information in text editor as afterwards this information should be updated in Cloudflare.
Once you complete the nameserver mapping to Cloudflare, you will be able manage your DNS there.