Hands-on

How I Built My Blog with a $12 Domain and Free Hosting: A Step-by-Step Account

From buying the domain to showing up on Google: every step as I lived it, mistakes and fixes included, for just $12.

A few days ago I didn't have a website. Today I'm writing this on my blog, satarcode.com, and the only thing I paid for was the domain: $12.28 for the first year. I'm not a professional programmer; I'm a legal professional who loves code. So I wrote this guide exactly as I lived it, mistakes and fixes included.

What you'll need

  • A domain: the address people type to reach you. I bought mine from Namecheap.
  • A free Cloudflare account: it manages the domain, hosts the site, and provides SSL and email.
  • Your site files: ready-made HTML pages, written by you or from a template.
  • One to two hours of your time.

Step 1: Buy the domain and secure it

I picked a short name that carries the idea: satar means "line" in Arabic, because every program starts with a single line. After buying it, I turned on two important options:

  1. Auto-Renew: so I don't lose the domain if I forget the renewal date.
  2. Domain Privacy: so my personal details don't appear in public domain records.
Watch out: the low price is usually for the first year only, and renewal costs more. Check it before you buy.

Step 2: Move the domain's management to Cloudflare

I added the domain to my Cloudflare account and chose the free plan. Cloudflare showed me the records that already existed: Namecheap had added some for its "parked domain" page and its email forwarding service. I deleted all of them, because they would have clashed with the site and email later.

Cloudflare then gave me two nameservers, which I entered in Namecheap under Custom DNS. Activation took a few hours for me, and it can take up to 24.

Step 3: Host the site on Cloudflare Pages for free

In Workers & Pages I chose direct upload (drag and drop), named the project, and uploaded the site as a zip file. Within seconds the site was live on a temporary link.

The mistake I almost made: index.html must sit at the top level of the zip, not inside a subfolder. Upload a folder inside a folder and you'll get a blank page.

Upload limits with this method: up to 1,000 files, each up to 25 MB, which is more than enough for any new blog.

Step 4: Connect the domain and turn on SSL

In the project's Custom domains tab I added satarcode.com, then www.satarcode.com. The first worked automatically; the second asked me to add one CNAME record pointing to the project. A few minutes later both showed Active and the padlock appeared: SSL was enabled for free without me doing anything.

Step 5: A free professional email on your domain

I wanted an address like hello@satarcode.com instead of a Gmail one. With Cloudflare's Email Routing:

  1. I enabled the service for the domain, and Cloudflare added the email records itself.
  2. I added my personal inbox and confirmed it from the verification email.
  3. I created a hello address that forwards every message to my personal inbox.

Note: this setup only receives mail; replying from the same address needs extra configuration.

Step 6: Introduce the site to Google

In Google Search Console I added the domain, and Google offered to verify it through Cloudflare automatically; it took a minute. Then I submitted the sitemap.xml file listing every page and requested indexing for the homepage and the first article. Showing up in search results takes days to weeks, so don't worry if you can't find your site right away.

What it actually cost

ItemCost
Domain (first year, with privacy)$12.28
Hosting on Cloudflare PagesFree
SSL certificateFree
Professional email (receiving)Free
Total$12.28 for the first year

What I learned

  • Don't rush the design. Content brings visitors; the look can improve later.
  • Delete old records when you move a domain; they cause most of the problems.
  • Read every screen before clicking "OK". Most of my near-mistakes came from rushing.
  • I used AI tools to understand the steps and solve problems, and that's exactly what I recommend: use them to understand, not to copy blindly.

Summary

Starting a blog on your own domain no longer requires a programmer or a big budget. With $12 and two hours, you can start today. If you get stuck on any step, email me at hello@satarcode.com.

Read next: How to Start Learning Programming: A Practical Roadmap for Beginners