ZeroSSL was my favorite free application for deploying free SSL certificates until recently when they started paid version of their services and additionally the free version was restricted to a maximum of 3 domains. If you are on a shared hosting things get complicated when your server like in my case namecheap does not support installation of certbot for letsencrpt to work automatically. Here is a manual guide to help you make your site secure using letsencrypt without necessarily having SSH and regardless of server rescrictions.
Install certbot in your local machine sudo apt install certbot or git clone https://github.com/letsencrypt/letsencrypt ~/letsencrypt
Next run this command and follow steps as advised.
./letsencrypt-auto certonly --manual --manual-public-ip-logging-ok --email firstname.lastname@example.org --agree-tos --domain yourdomain.com --domain www.yourdomain.com --rsa-key-size 2048
You will be required to verify ownership of your domain, this is simply achieved by uploading or creating a small file named and with contents specified in the step by step instructions above to your public_html folder, or public folder depending on your webroot.
The only remaining thing is to install your certificate, copy the crt bundle and install it under install certificates in your cpanel.