A visual step-by-step roadmap showing exactly how to point subdomains like api.chelcamtech.co.za to your GitHub index.html files — no coding experience needed.
chelcamtech.co.za — This is your main house. Anyone who visits this sees your main website.
api.chelcamtech.co.za can show a completely different HTML file than your main domain — it's like a separate room with its own door.
GoDaddy allows 500+ subdomains per domain on all plans. For a basic domain like chelcamtech.co.za, you can practically create as many as you need — there is no strict cap for standard hosting plans.
| GoDaddy Plan | Max Subdomains | GitHub Pages Works? | SSL (HTTPS) Free? |
|---|---|---|---|
| Basic / Economy | 100–500+ | ✔ Yes (via CNAME) | ✔ Yes |
| Deluxe / Value | 500+ | ✔ Yes | ✔ Yes |
| Domain-only (no hosting) | 500+ | ✔ Yes (DNS only) | ⚠ Via GitHub |
| WordPress Managed | 100 | ⚠ Limited | ✔ Yes |
💡 Short answer: For chelcamtech.co.za on a basic plan, you can add dozens or even hundreds of subdomains — more than you'll ever realistically need.
GitHub is a free website where you can store and host your HTML files. When you enable "GitHub Pages" on a repo, your index.html gets a live public URL like yourname.github.io/project.
GoDaddy controls where your domain name goes. Using something called a CNAME record, you tell GoDaddy: "When someone types api.chelcamtech.co.za, go to GitHub Pages instead."
Inside your GitHub repo, you create a small file called CNAME (no extension). It contains just one line: your subdomain. This tells GitHub to accept traffic from that custom address.
Go to github.com and log in. Make sure you have a repository (a folder on GitHub) that contains your index.html file. If you don't have one yet, click the green "New" button and create a public repo. Upload your HTML file.
In your repository on GitHub, click Settings → scroll down to Pages. Under "Source", select Deploy from a branch, choose main branch and / (root) folder. Click Save. GitHub will give you a URL like yourname.github.io/repo-name — this confirms it's live.
In your GitHub repo, click Add file → Create new file. Name it exactly CNAME (capital letters, no extension). On the first line, type your subdomain address. Click Commit changes.
Each GitHub repository can only have ONE custom subdomain. If you have 5 different HTML projects, you need 5 separate repos — each with its own CNAME file pointing to a different subdomain.
Log in to GoDaddy.com. Go to My Products → DNS (or Manage DNS next to your domain chelcamtech.co.za). Click Add New Record and fill in these values:
Click Save. GoDaddy will save this DNS record. DNS changes can take up to 48 hours to go live worldwide (usually much faster — under 30 minutes).
Go back to your GitHub repo → Settings → Pages. In the "Custom domain" box, you should see your subdomain is saved. Wait a few minutes, then tick the box labelled "Enforce HTTPS". This adds the padlock 🔒 to your URL for free.
| Problem | Why It Happens | Fix |
|---|---|---|
| 404 Page Not Found | GitHub repo has no CNAME file, or your HTML file isn't named index.html |
Add the CNAME file to your repo with exactly your subdomain on line 1. Rename your main file to index.html. |
| Subdomain still goes to GoDaddy page | DNS hasn't updated yet (can take up to 48h) | Wait up to 24–48 hours. Usually under 30 min. Clear your browser cache or test in incognito mode. |
| No padlock / HTTPS error | "Enforce HTTPS" not yet enabled, or DNS is still propagating | Wait for DNS to settle, then go to GitHub → Settings → Pages and tick "Enforce HTTPS". |
| CNAME value wrong in GoDaddy | The Value field should be yourname.github.io — not your full repo URL | Edit the CNAME record. Value = yourname.github.io only. Do not include https:// or the repo name. |
| Two subdomains pointing to same page | Two repos with the same CNAME file content | Each repo needs a different subdomain in its CNAME file. |
https://