Lesson 04
How to Make a Website Without a Website Builder
In this lesson
Search for how to make a website without a website builder and most of the results recommend a different website builder. This lesson does not. There are three genuine routes off the hosted-builder path — writing HTML and CSS yourself, running a CMS on hosting you rent, or generating a static site from files — and each one asks something specific of you.
It also covers the part that quietly catches people out: the free hosting all three routes lean on has acceptable-use terms, and several of them prohibit precisely what a beginner is trying to do.
What you are actually replacing
A hosted builder bundles four things into one subscription: an editor in your browser, a database that stores your page as structured data, a renderer that turns that data into HTML, and the hosting, CDN and certificate underneath. Leaving means sourcing those four things yourself — or deciding you do not need all of them.
That framing makes the three routes easy to tell apart. They differ mostly in how many of the four you keep, and who supplies them.
Route one: hand-written HTML and CSS
You write the files. A text editor produces .html and .css, you put them somewhere that serves files over HTTPS, and that is a website. No database, no renderer, no build step, nothing that needs updating.
What it demands: enough HTML to structure a page, enough CSS to lay one out, and acceptance that every content change is a file edit. Five pages is comfortable. Fifty pages sharing one header is miserable, because you are now maintaining that header fifty times.
What it gives you: complete ownership and no recurring cost beyond the domain. Nothing deprecates. A page written by hand in 2010 still renders today. The next lesson walks a blank file to a live page line by line if you want the practical version.
Route two: a CMS you host yourself
A content management system is software you install on hosting you rent. WordPress is the one people mean — W3Techs figures dated 21 August 2026 put it at 40.7% of all websites, and 58.9% of those whose CMS is known — but the shape is the same for any of them: application code on a server, a database behind it, an admin area you log into.
What it demands: maintenance. Somebody updates the core software, the theme and the extensions. Somebody takes backups. Somebody notices when it breaks. That somebody is you, or a person you pay. This is the entire decision, and it is not a technical one.
What it gives you: an editor a non-technical person can use, content at scale — hundreds of posts, categories, multiple authors, an editorial workflow — and real portability. The files and the database are yours and they move between hosts.
Choosing a self-hosted CMS because it sounds professional, and then assigning nobody to update it, does not produce a website. It produces a security liability with a homepage.
Route three: a static site generator
A generator sits between the other two. You write content in plain files, usually Markdown, and templates in HTML. A build step combines them into finished static pages, which you upload. One header template, fifty pages, one edit.
What it demands: comfort with a terminal, a build command, and the idea that the thing you edit is not the thing that ships. There is a dependency tax too. Generators change, plugins break, and a site you have not rebuilt in two years may refuse to build at all.
What it gives you: the speed and safety of static files with the maintainability of templates. It is the natural home for a developer's personal site or a documentation set. It is a poor fit for a client who wants to change their own opening hours.
The free hosting terms nobody reads
All three routes can land on free static hosting, and this is where beginners get hurt — not by capability, but by terms and by billing models nobody explains. Here is what the official documentation says.
GitHub Pages
The published limits are generous: source repository up to 1 GB, published site up to 1 GB, a soft bandwidth limit of 100 GB per month, a soft limit of 10 builds per hour, and a ten-minute deployment timeout.
The prohibited uses are the problem. GitHub Pages is explicitly not a general-purpose free web host. Running an online business or e-commerce platform is prohibited. So is commercial SaaS. So is handling passwords or credit-card data. A portfolio is fine. A shop is not, by terms, before you even ask whether it is technically possible.
Netlify — the trap on this list
Netlify moved to credit-based billing in 2026. Free gets 300 credits a month. Bandwidth costs 20 credits per GB, compute 10 credits per GB-hour, web requests 2 credits per 10,000 — and a production deploy costs 15 credits.
Do that arithmetic slowly. Roughly twenty production deploys exhaust the entire free month before a single visitor arrives. On a day when you are actively building, twenty deploys is one normal afternoon.
When Free credits run out the project is paused and visitors get a "Site not available" page. You cannot buy extra credits on Free — you wait for the next cycle or you upgrade. The Personal plan at $9 a month carries 1,000 credits. Form submissions are free of credits, which is genuinely useful.
Vercel
Hobby looks generous: 1 million edge requests a month, 100 GB of fast data transfer, four hours of Fluid Active CPU, 1 million function invocations. The sentence that matters is not in the limits table. It is on the pricing page: "Our Hobby plan is for personal, non-commercial use." A business site on Hobby is out of terms no matter how little traffic it gets. Pro is $20 a month.
Cloudflare Pages
Free allows 500 builds a month, one concurrent build, 20,000 files per deployment, a 25 MiB ceiling on any single asset, and 100 custom domains, with a twenty-minute build timeout. Bandwidth is not metered in the limits document. The single concurrent build is the practical constraint: multi-branch deploys queue.
Saying the quiet part out loud
A great many tutorials recommend these platforms for small business sites. In plain terms, those tutorials are recommending a terms violation. This is not a grey area of interpretation: GitHub Pages prohibits running an online business, and Vercel's Hobby plan says personal, non-commercial in so many words.
Nobody is going to knock on your door over a five-page consultancy site, and that is not really the point. The point is that you do not want to learn the terms on the morning your project is paused or pulled down, with no way to buy your way out of it before the next billing cycle. If the site earns money, put it on a plan that expects the site to earn money. It is $9 to $20 a month.
One genuinely good piece of news across all four: every one of them provides free HTTPS on custom domains. Certificates are not a cost item in 2026 on any route.
Choosing between the three
Ask two questions about eighteen months from now, not about this weekend. Who edits the content? Who maintains the system?
If the answer is "me, and I edit rarely", write HTML by hand. If it is "a non-technical person edits weekly", host a CMS and name the human responsible for updates. If it is "me, I am fine in a terminal, and the content is mostly files", use a generator. Almost nobody regrets that ordering, and almost everybody who regrets their choice picked on how it felt in week one.
Where this sits in the course
This lesson is the fork in the road. If you are still weighing it against the hosted-builder side, the full guide to how to make a website lays all the routes side by side before you commit to any of them.
Questions from the class
Is a hand-coded site worse for search than a builder site?
Can I use GitHub Pages for my business website?
Why did my Netlify site go offline when nothing changed?
Do I need JavaScript to build a website without a builder?
Before you move on
- You can name which of the three routes you are taking, and why.
- You know who maintains the system in eighteen months, by name.
- You have read the acceptable-use terms of the host you plan to use.
- If the site will make money, it is not on a personal-use-only free tier.
- You know what happens on your host when a free limit is reached.
- Your files are in version control before you write the second page.
Next up — Lesson 05: HTML and CSS from zero. Or jump to the complete path.