BuildFromZero

How to Make a Website: The Complete Path

The whole path in one page: what to prepare, the three routes compared honestly, domains, hosting, building the pages, and launch day. Nothing here is for sale.

How to make a website, in one sentence: pick a route, register a domain, put real words onto a small number of pages, and publish. That is the whole job. Everything below is the detail — and the detail is where people stall, so we are going to walk the entire path together.

This page is the map for the rest of the course. It sells nothing, ranks nothing, and will not tell you which tool is best, because there is no best. There is only the route that fits how much time you have, how much you want to learn, and who will still be looking after this site in eighteen months.

Read it once, end to end, before you open anything. Ten minutes here will save you a weekend later.

What you actually need before you start

You need three things, and none of them is software.

Your text. Roughly two hundred words for the home page, a short about page written in your own voice, and one page for each genuine thing you offer. Write it in a notes app or a document. Writing inside a website editor is slower, because you end up fiddling with fonts instead of sentences.

Your images. Fewer and better beats more and worse, and a phone camera in daylight is fine. What matters is file size — a 6 MB photo is the most common reason a first website feels slow.

One goal. What is the one action a visitor should take? Call you, book a slot, buy a thing, read the guide, join the list. If you cannot name it in five words, the site will be vague, and vague sites do not work regardless of how they look.

You do not need a logo yet. You do not need a brand colour, a business email address, or a decision about social media. Those are week-three problems, and half of them turn out not to be problems at all.

The three routes, honestly compared

There are three ways a website gets built, and every product you have ever seen advertised is one of them wearing a different coat.

A hosted builder bundles the editor, your content, the rendering and the hosting into one subscription from one company. You log in, you drag, you publish. If you want the precise, non-marketing definition, start with the lesson on what a website builder actually is.

A content management system you install — WordPress being the one everyone means — is open-source software that you put on hosting you rent separately. More parts, more control, more maintenance.

Writing the files yourself in HTML and CSS produces a folder that you can upload almost anywhere. It is the smallest amount of magic and the largest amount of understanding.

A note on AI site generators, since they are sold as a fourth route: they are not one. They are an input method. A generator assembles something and hands it to a builder, a CMS or a code repository, so classify it by where its output lands.

The three routes at a glance
RouteTime to liveWhat it costsYou'll need to learnBest for
Hosted builderA few hours to a day$16–$19/mo entry, $23–$29/mo mid tier, billed annually (vendor pricing, Aug 2026)One editor, and nothing elsePeople who never want to maintain anything
CMS you install (WordPress)About a day to live; 2–6 weeks part-time to genuinely goodRoughly $15–$35/mo hosting, plus the domain, plus $0–$300/yr for a theme and pluginsUpdates, backups, and one admin dashboardSites whose content will grow past a few dozen pages
Hand-written HTML and CSS1–3 hours for a one-page site on free hostingThe domain, and often nothing else — but free hosting tiers carry real termsHTML, CSS, and GitLearning how the web actually works

None of those rows is the winner. They fail in different places: the builder fails when you want a layout its editor cannot express, the CMS fails when nobody is assigned to update it, and hand-coding fails the moment you need a database. Work out which failure you can live with, then read the full framework in builder vs WordPress vs code — it walks eight criteria and eight real situations. If money is the deciding factor, the honest numbers are in how much a website costs.

Choosing a domain

A domain is a rental, not a purchase. You register it for a year or several, and you keep it as long as you keep renewing. Nobody owns a domain outright.

Two services get confused constantly, so learn the difference now: the registrar records who controls the name, and the host stores and serves the pages. They are frequently sold together, which is exactly why beginners cannot find their DNS settings later. The lesson on domains, DNS and hosting untangles this properly.

Naming advice that is actually true: .com is still what people type from memory; hyphens and numbers fail the moment somebody says your address out loud; and do not buy a premium name before the site exists.

Now the trap. Registering a .com and renewing a .com cost the registry exactly the same amount — wholesale is $10.26 a year, rising to $10.97 on 1 November 2026, plus an ICANN fee of about twenty cents. There is no wholesale discount for a first year. So a 99-cent or $2.99 first year is entirely a registrar's marketing decision, recovered later at eighteen to twenty-two dollars or more. Compare the renewal price. Better, compare five years of it.

What hosting is, and when you actually need it

Hosting is a computer that answers when somebody asks for your pages. That is all it is.

On the builder route, hosting is included and you never choose it. On the CMS route you rent it separately, which is the one purchase that route genuinely requires — SiteGround is one common entry-level option, and that is an affiliate link, one of only two on this whole site. On the hand-coded route a free static host often works, but read the terms rather than the marketing: GitHub Pages prohibits running an online business or e-commerce, Vercel's Hobby plan is stated as personal and non-commercial, Netlify's free plan gives 300 credits a month and one production deploy costs 15 of them, and Cloudflare Pages allows 500 builds a month, one at a time.

Two things you can stop worrying about. HTTPS is free everywhere now, issued and renewed automatically, so a padlock is not a line item on any modern quote. And you do not need "unlimited bandwidth", a CDN add-on, or anything above the smallest plan.

Building the pages

Start with four pages: home, about, contact, and one page for each real offering. Add a 404 page that says something human. That is a complete website. You can add more later, and most people never need to.

Pick the template second, not first. Choose one whose shape matches the content you already wrote: three short service descriptions slot into a three-card layout effortlessly, and will fight a full-bleed photography template for a week.

Keep the structure boring: one main heading per page, subheadings in order, link text that says where it goes. Write for someone holding a phone at a bus stop, because most of them are.

And remember the thing nobody tells beginners: the build is never the bottleneck. Copy, photos and decisions eat the calendar on every route. If you want to see how far four hours actually gets you, the lesson on going from zero to live in one afternoon walks all three routes side by side.

The things every site needs before you launch

  • A contact method somebody actually monitors. An unwatched form is worse than no form.
  • A privacy policy, if you collect anything at all — and analytics counts as collecting.
  • Cookie handling that matches the law rather than the fashion. Under the ePrivacy Directive, storing or reading anything on a visitor's device needs prior consent unless it is strictly necessary for something they asked for. Logins and carts are exempt; analytics is not, pre-ticked boxes are invalid, and non-essential scripts must not run before someone agrees.
  • Analytics installed before launch, so you have a baseline to compare against. A cookieless, consent-free analytics tool sidesteps the banner question entirely.
  • A favicon, and an Open Graph image with a title and description. Without them, social platforms invent a preview out of whatever they find.
  • Alt text on meaningful images, readable colour contrast, headings in order, a language attribute on the page, and pinch-zoom left alone. Never disable zoom.
  • A speed sanity check. The published thresholds are LCP under 2.5 seconds, INP under 200 milliseconds and CLS under 0.1, at the 75th percentile of real loads. On a first site the fix is almost always image size, not code.
  • An answer to "if this breaks, what restores it?" Builders back up for you, self-hosted WordPress does not unless you set it up, and a hand-coded site in Git is backed up already.

The full version, with the parts you can genuinely postpone marked as such, lives in your first website checklist.

Going live

Going live is usually one DNS change: you point the domain at the host with an A record, a CNAME, or by handing the domain to the platform's nameservers. Your host tells you which.

Then the part that causes the most panic: DNS does not propagate. There is no broadcast, no queue, nothing travelling anywhere. It is a distributed cache with an expiry clock called the TTL, and resolvers keep serving the old answer until their copy expires. The wait equals the TTL that was set before you made the change, not the mythical forty-eight hours. Lower the TTL to 300 seconds a day ahead of a planned switch and the move takes minutes. The genuine exception is a nameserver change, which can carry registry-set timings of up to two days.

One warning worth the rest of this section: your email lives on the same domain. Changing hosting does not move email, but deleting the MX records does. Photograph your DNS panel before you touch it.

When the site answers on HTTPS, click every link, submit your own contact form, and read it all on a real phone. Then verify the domain in Google Search Console. A Domain property covers every subdomain and protocol and can only be verified by DNS record: more work once, less confusion forever.

What to do in week one

Do not redesign anything. Watch instead.

Send the link to five people who resemble your audience, and if you can, sit beside one while they open it on a phone. You will learn more in four minutes than in four hours of adjusting spacing.

Send yourself a message through your own contact form and confirm it lands somewhere you read. Check the spam folder. This fails more often than anything else on a new site.

Fix the three real problems that surfaced, and only those three. Leave the analytics alone for a fortnight; there is nothing to conclude from eleven visits.

Finally, set two calendar reminders: one for the domain renewal, and one a month before the card on file expires. Expired cards, not hacking, are the leading cause of small sites quietly vanishing.

Then stop. You do not need a newsletter yet, or a blog, or ads, or a second language. You need the site to exist and the contact route to work. Everything else is a later lesson.

Where to go next

Questions from the class

Do I need to know how to code to make a website?
No. Two of the three routes require no code at all: a hosted builder gives you a visual editor, and a CMS like WordPress gives you a dashboard and a theme. Coding is only required if you choose to write the files yourself, and people choose that to learn how the web works rather than because it is necessary.
How long does it take to make a website?
A simple site can be live the same day on any route. Industry figures for 2026 put a template-based builder site at a few hours to a day, a WordPress site at about a day, and a one-page hand-coded site at one to three hours. Something you would happily show a customer takes longer, typically one to three months part-time, and the delay is nearly always the content rather than the building.
How much does it cost to make a website?
Doing it yourself, expect the domain at ten to twenty-five dollars a year, plus either a builder subscription of roughly sixteen to twenty-nine dollars a month, or hosting at fifteen to thirty-five dollars a month for self-hosted WordPress. Hand-coding on free static hosting can cost nothing but the domain. Hiring changes the scale entirely: freelance projects commonly run from fifteen hundred to eight thousand dollars.
Do I need hosting, or is it included?
It depends on the route. A hosted builder includes hosting in the subscription and you never choose it. WordPress needs hosting you rent separately. A hand-coded site needs somewhere to put the files, which can be a free static host if your use fits its terms. Every route needs a domain, and that is always a separate purchase.
Can I move my site somewhere else later?
You can always move, but the cost varies by route. Hand-coded files move for free, because the files are the site. A WordPress site moves reasonably well, because the database and files are portable. A hosted builder is the hard case: what comes out is content, not design, so moving usually means rebuilding. Decide how much that matters before you start.