How to Install a Free SSL (ZeroSSL) on Namecheap Shared Hosting
This guide shows you how to install a free SSL certificate for any domain hosted on Namecheap shared hosting when AutoSSL / Let’s Encrypt is not available. It uses ZeroSSL and manual verification. Works for:
- Main domains (e.g.
example.com) - Addon domains (e.g.
myaddon.com) - With or without
www
Good for: Users who have many domains and don’t want to pay for individual commercial SSLs on shared hosting.
Prerequisites
- Your website files are hosted on Namecheap shared hosting.
- You can log in to cPanel for that hosting account.
- Your domain DNS points to the Namecheap hosting (either via Namecheap nameservers or correct A records).
- You can log in to a browser and to ZeroSSL.
If your domain does not point to the server where the site is hosted, verification will fail.
Always fix DNS first.
Step 1: Confirm the Correct Document Root
On Namecheap shared hosting, your main account domain and addon domains live in different folders. You must place the verification file in the correct folder.
- Log in to your Namecheap account.
- Go to Hosting List > Manage > Go to cPanel.
- In cPanel, click Domains or Addons / Domains (depending on theme).
- Find your target domain (example:
theusaseo.com):- If it is the main domain of the account:
Document root is usually:/public_html/ - If it is an addon domain:
Document root is usually:/yourdomain.com/at the same level as/public_html/.
Example:/theusaseo.com/,/thexgamers.com/, etc.
- If it is the main domain of the account:
If you see
youraddon.com.mynicejob.com internally, that is normal.
Use the document root folder shown in the Domains/Addons list, not the internal alias.
Step 2: Create a Free ZeroSSL Account
- Go to https://zerossl.com.
- Click Get Free SSL or Create Free Account.
- Use one email address for all your domains
(for example:
you@yourdomain.com).
You do not need a separate account per domain.
Step 3: Create a New SSL Certificate
- After logging in to ZeroSSL, click “New Certificate”.
- Under Enter Domains, add:
example.comwww.example.com
- Do NOT select wildcard (no
*.) unless you are on a paid plan. - Click Next Step.
- Choose 90-Day Certificate (Free).
- Skip any paid add-ons (just click Next).
- Select Auto-Generate CSR.
- Choose RSA 2048 as encryption.
- Continue until you reach the Verification Method screen.
Step 4: Choose File Upload Verification
On the verification step, select: File Upload (HTTP).
- Pick: HTTP (not HTTPS) as upload type.
- ZeroSSL will show:
- One Auth File name, for example:
656E9FA58575BCCD6F97612197655236.txt - A required folder path:
/.well-known/pki-validation/ - Verification URLs, for example:
http://example.com/.well-known/pki-validation/656E9F....txthttp://www.example.com/.well-known/pki-validation/656E9F....txt
- One Auth File name, for example:
- Click Download Auth File and save the file to your computer.
Step 5: Upload the Auth File to cPanel
- In cPanel, click File Manager.
- Navigate to the document root for your domain:
- Main domain: likely
/public_html/ - Addon domain: likely
/example.com/
- Main domain: likely
- Inside the correct root folder, create:
- Folder:
.well-known - Inside it, folder:
pki-validation
/example.com/.well-known/pki-validation/
- Folder:
- Open the
pki-validationfolder. - Click Upload and upload the downloaded
.txtauth file into this folder.
Common mistake: Uploading the file into the wrong folder, such as
/public_html/
when the domain actually uses /example.com/. Always match the folder shown in the
Addon Domains section.
Step 6: Verify File Access from the Browser
- Open a browser (no cache / incognito recommended).
- Visit the URL shown by ZeroSSL, for example:
http://example.com/.well-known/pki-validation/656E9FA58575BCCD6F97612197655236.txt
- You should see the contents of the file (a long code), not a 404 or redirect.
- Repeat for:
http://www.example.com/.well-known/pki-validation/656E9FA58575BCCD6F97612197655236.txt
If the file opens correctly in the browser, ZeroSSL will be able to verify your domain.
Step 7: Complete Verification in ZeroSSL
- Return to the ZeroSSL verification page.
- Click Next Step / Verify.
- Wait for the status to change to:
“Domain Verified” / “Certificate Issued”. - Click Download Certificate (Default format).
- Extract the downloaded ZIP file. You should see:
certificate.crtprivate.keyca_bundle.crt(or similar)
Step 8: Install SSL in cPanel
- In cPanel, go to SSL/TLS.
- Click Manage SSL sites (or “Install and Manage SSL for your site”).
- In the Domain dropdown, select your real domain:
- Prefer entries like
example.comorexample.com (+ www). - Avoid internal aliases like
example.com.mynicejob.comunless that is the only mapping and it is tied to your addon domain. If a mismatch error appears, switch to theexample.comentry.
- Prefer entries like
- Open
certificate.crtin a text editor and copy all of it, including:-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
Paste into the Certificate (CRT) box. - Open
private.key, copy everything:-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----
Paste into the Private Key (KEY) box. - Open
ca_bundle.crt, copy everything (it may contain 1–3 certificates):-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
Paste into the Certificate Authority Bundle (CABUNDLE) box. - Click Install Certificate.
If you see “The certificate does not match your selected domain”, choose the
domain entry that exactly matches the CN/SAN in the certificate
(for example
example.com / www.example.com).
Step 9: Test HTTPS
- Open
https://example.comin your browser. - You should see a padlock and no “Not Secure” warning.
- Also test
https://www.example.com.
If
www does not work:
Ensure DNS has a CNAME:
Host: www Type: CNAME Value: example.comThen test again.
Step 10 (Optional but Recommended): WordPress HTTPS Setup
- Log in to your WordPress admin:
https://example.com/wp-admin. - Go to Plugins > Add New.
- Search for Really Simple SSL.
- Install and Activate.
- Go to Settings > SSL and click “Activate SSL”.
- This will:
- Force all traffic to HTTPS.
- Update internal URLs to use
https://. - Help prevent mixed-content warnings.
Renewal Notes
- ZeroSSL free certificates are typically valid for up to 90 days.
- Set a reminder (e.g., 60–75 days) to:
- Log in to ZeroSSL.
- Renew the certificate for the domain.
- Repeat the verification (file upload) if required.
- Install the new CRT/KEY/CABUNDLE in cPanel.
- Repeat these steps for each domain (main + addon domains).
Advanced users can script renewals using the ZeroSSL or ACME clients on VPS hosting.
On shared hosting without AutoSSL, this manual method keeps it free.
