How to host your business website for free (₹0 a year)
A typical small-business website does not need a paid hosting plan. With Claude to build it, GitHub to store it and a free host to serve it, you pay only for your domain name — about ₹5,500 a year saved, per website. About an hour, start to finish.
Enter your email to read the full guide
You'll get a 6-digit code to confirm it. After that the whole guide, the PDF and the WhatsApp forward are open — on every guide on this site.
Your email goes only to CC (growth_by_cc), who may write to you about guides like this. No spam, never sold. Want it deleted? Write to cc@marketingstrategy.today.
ContentsHow a site goes live
How a website actually goes live
Every website, no matter who hosts it, goes through the same journey. Paid hosting plans bundle these steps together. You can do each one yourself with free tools.
- Code — the files that make up your site. Claude writes them.
- Store — the code kept safely online, on GitHub, free.
- Host — serves the site to visitors. Vercel or Cloudflare Pages, free.
- DNS — an A record and a CNAME point your domain at the host.
- Live — yourbusiness.com opens on any browser or phone.
What it costs
| Item | Typical paid plan | Free stack in this guide |
|---|---|---|
| Hosting, per website | Hostinger “Premium” renews at ~₹449/month = ₹5,388/year + 18% GST | ₹0 on GitHub + Vercel or Cloudflare Pages |
| Domain name | Paid yearly to your registrar | Same — still paid yearly |
| SSL (https padlock) | Included | Included, automatic |
| Updates | Upload through a panel | Push to GitHub; live in about a minute |
Renewal price from a public Hostinger India price listing, October 2026. Intro prices on long plans are lower; check hostinger.in for current prices.
Which free host should you pick?
- Personal site, portfolio or side project → Vercel (Hobby plan). The easiest setup, and the one the main steps use.
- A business or commercial website → Cloudflare Pages (Free plan), step 3B. Vercel's free plan is limited to non-commercial, personal use; for business use, pick Cloudflare Pages or pay for Vercel Pro.
Before you start — about an hour in total
- A Claude account (claude.ai) to build or edit your website
- A free GitHub account (github.com) to store the code
- A free Vercel account (vercel.com) or Cloudflare account (dash.cloudflare.com) — sign up with “Continue with GitHub”
- Login details for where you bought your domain (GoDaddy, Hostinger, Namecheap, BigRock…)
- Your logo, photos, business details, phone number, WhatsApp and address
Step 1 — Build your website with Claude
Claude writes the code. You describe what you want.
- Open Claude and describe your business clearly. Start from the prompt below.
- Ask for a static website (plain HTML, CSS and JS). It is the simplest kind to host for free.
- Review the preview and ask for changes — “make the header green”, “add a WhatsApp button” — until you are happy.
- Download all the files into one folder on your computer. The main page must be called
index.html.
# Example prompt
Build a mobile-friendly static website (HTML, CSS, JS only, no build step)
for my business "Sharma Interiors", a home interior designer in Pune.
Pages: Home, Services, Gallery, About, Contact.
Include a click-to-call button, a WhatsApp button (+91 XXXXX XXXXX),
Google Maps embed, and an enquiry form. Clean, modern, fast-loading.
Give me every file with its folder path so I can save them.Step 2 — Store your code on GitHub
Free, unlimited repositories. Every change is saved, so it doubles as your backup.
- Sign in at github.com and click + → New repository.
- Name it (e.g.
sharma-interiors-website), choose Private or Public, and click Create repository. - On the new page, click uploading an existing file. Drag in all your website files and folders, then click Commit changes.
- Check that
index.htmlsits at the top level of the repository, not inside another folder.
Comfortable with the terminal? Run these in your website folder instead:
git init && git add . && git commit -m "First version"
git branch -M main
git remote add origin https://github.com/<your-username>/<repo-name>.git
git push -u origin mainStep 3 — Put it online
Choose 3A for a personal project or 3B for a business website.
3A · Vercel — personal use
- Go to vercel.com → Sign Up → Continue with GitHub.
- Click Add New… → Project.
- Find your repository and click Import. Allow GitHub access if asked.
- Leave the settings as they are and click Deploy.
- In about a minute you get a live link like
your-project.vercel.app. Open it to check.
3B · Cloudflare Pages — business OK
- Go to dash.cloudflare.com and sign up (free plan).
- Open Workers & Pages → Create → Pages and choose to connect a Git repository.
- Connect GitHub and select your repository.
- For a plain HTML site, leave the build command empty and the output directory as
/. Click Save and Deploy. - You get a live link like
your-project.pages.dev.
Step 4 — Add your domain to the host
Tell Vercel or Cloudflare which domain belongs to this website.
On Vercel: open your project → Settings → Domains. Click Add, type yourbusiness.com and confirm; add www.yourbusiness.com too when offered. Vercel then shows the exact DNS records you need — keep that page open.
On Cloudflare Pages: open your Pages project → Custom domains → Set up a custom domain and enter your domain. Follow the screen: Cloudflare shows the records to add, or offers to manage your DNS for you.
Step 5 — Update DNS where you bought the domain
This is the A record and CNAME step — the mapping that connects your name to your site.
- Log in to your domain registrar (GoDaddy, Hostinger, Namecheap, BigRock…) and open DNS / Manage DNS / DNS Zone Editor for your domain.
- Edit or delete the existing A record for
@that points to your old hosting. Also remove any AAAA record for@. - Add or update these records (Vercel example), then save:
| Type | Name / Host | Value / Points to | TTL |
|---|---|---|---|
| A | @ (your main domain) | 76.76.21.21 | Default |
| CNAME | www | cname.vercel-dns.com (or what Vercel shows) | Default |
- Go back to the Vercel or Cloudflare domains page and wait for Valid Configuration / Active. Usually minutes, but DNS changes can take up to 24–48 hours worldwide.
- The https padlock (SSL) is set up automatically once the domain is verified. You don't need to buy anything.
Step 6 — Updating your website later
No hosting panel and no FTP. Push, and it updates.
- Ask Claude — “change the phone number”, “add a new service”.
- Push to GitHub — upload the changed files, or
git push. - Auto-deploy — Vercel or Cloudflare rebuilds in about a minute.
- Live — your domain shows the new version.
If something breaks, roll back to the previous version from your Vercel or Cloudflare dashboard. GitHub keeps every earlier version of your code.
Switching from paid hosting? Do it in this order
- Back up your current website files and any content from your hosting panel.
- Build and deploy the new site (steps 1–3). Check it fully on the free
.vercel.appor.pages.devlink. - Check where your email is hosted. If it is part of your hosting plan, arrange email elsewhere (or keep that plan) before cancelling.
- Change DNS (steps 4–5) and confirm the domain shows the new site.
- Only then turn off auto-renewal of the old hosting plan. Keep renewing your domain — you can keep it with the same registrar.
Troubleshooting
| Problem | Fix |
|---|---|
| “Invalid Configuration” on Vercel | Check the A and CNAME values match exactly. Delete old A/AAAA records for @ that point to the previous host. Wait 15–30 minutes and refresh. |
| 404 or blank page after deploy | index.html must be at the top level of the repository, not in a subfolder. |
| Domain still shows the old site | DNS is still updating. Try mobile data or another device, and allow up to 48 hours. |
| Contact form doesn't send | Static sites need a form service (many have free tiers) or a WhatsApp / mailto button. Ask Claude to set one up. |
| Emails stopped arriving | An MX record was changed or deleted. Restore it from your email provider's setup instructions. |
Free plan limits to know about
| Service | Free plan highlights | Watch out for |
|---|---|---|
| GitHub | Unlimited public and private repositories | Keep passwords and API keys out of your code |
| Vercel Hobby | 100 GB data transfer a month, automatic SSL, 100 deployments a day | Non-commercial, personal use only under Vercel's fair-use rules |
| Cloudflare Pages Free | 500 builds a month, up to 100 custom domains per project, automatic SSL | 20,000 files per site, 25 MB max per file |
Limits checked against vercel.com/docs and developers.cloudflare.com in October 2026. Providers change their plans — check their pricing pages before relying on them.
A typical small-business website doesn't need a paid hosting plan. With Claude to build it, GitHub to store it and a free host to serve it, you pay only for your domain name — roughly ₹5,000–₹6,500 saved per website, every year.
A note on fairness. Paid plans give you real value: support, email, one-click WordPress and convenience. If you need those, they are worth paying for. This guide is about awareness, so you can make an informed choice.
Not affiliated with Anthropic, GitHub, Vercel, Cloudflare or Hostinger. Product names belong to their owners. Prices and plan details are as of October 2026 and may change.
Questions
Is hosting a website on Vercel or Cloudflare Pages really free?
Yes, on their free plans. You still pay for your domain name every year, which you would pay with any host. SSL (the https padlock) is included and set up automatically.
Can I use Vercel's free plan for a business website?
Vercel's free Hobby plan is for non-commercial, personal use only. For a business or commercial website, use Cloudflare Pages' free plan, or pay for Vercel Pro.
Will my business email stop working if I move hosting?
Not if you leave your MX records alone — they control email. If your email is part of your current hosting plan, arrange email elsewhere (or keep that plan) before you cancel it.
Can I move a WordPress site or an online shop this way?
No. This works for brochure-style sites — home, about, services, gallery, contact, landing pages. A WordPress site, an online shop or anything that needs a database is not a drop-in fit.
How long does it take for my domain to show the new site?
Usually minutes once the DNS records are saved, but DNS changes can take up to 24 to 48 hours to reach everyone.
Know a business owner still paying for hosting? Forward this to them on WhatsApp — or keep the PDF for when you sit down to do it.