When you understand what a website is and how it's built, it's easier to understand the trade-offs between the different options for building them.
Websites are like houses. The cost of construction and maintenance depends on what you build and how you choose to build it.
You need three things to build a house:
Websites are like houses. The cost of construction and maintenance depends on what you build and how you choose to build it.
You need three things to build a house:
- The house itself, made with the materials/design of your choice
- Some plot of land, for the house to sit on
- An address, so people know how to find it
Likewise, you need three things to build a website:
- The website itself, made with the code/design of your choice
- Some computer, for the code to run on
- An address, so people know how to find it
Those are the basic ingredients, although we usually call the computer a 'host' and the address a 'domain'.
The Code
How much does it cost to build a home? Not much, if all you need is a prefab tiny house with an air unit. On the other hand, it costs a lot of money to build a 12,000 sq ft mansion with copper flashing and custom carved wood molding.
What about maintenance costs? Wood lap siding looks better than vinyl, but you'll pay more for restains and replacements over the years. And what about renovation costs? If you suspect that you'll want to add on to a home someday, it's cheaper in the long run to design a house with spots to add on rooms or floors.
The upfront and ongoing costs of a website depend on the quality and complexity of its underlying code. What does that code look like? You can divide it up into roughly four parts:
What about maintenance costs? Wood lap siding looks better than vinyl, but you'll pay more for restains and replacements over the years. And what about renovation costs? If you suspect that you'll want to add on to a home someday, it's cheaper in the long run to design a house with spots to add on rooms or floors.
The upfront and ongoing costs of a website depend on the quality and complexity of its underlying code. What does that code look like? You can divide it up into roughly four parts:
Content ⟹ Markup ⟹ Styling ⟹ Interactivity
- Take some content ( text, images, videos, etc.)
- Give it some structure ("this word goes in the nav bar", "this picture goes next to the article")
- Add some style ("the logo is green", "let's make all the font comic sans for some reason")
- Make it interactive ("make sure the user types in a valid email address")
You can group it or subdivide it in different ways, but that's what the code tells your browser to do -- take some stuff and make it look/behave a certain way.
How we do this has changed over time, yielding a few different approaches to building sites. You'll understand the costs and trade-offs of those approaches if you know the broad strokes of how web development, erm, developed.
---
In ye olden times (think early 2000s and before) the size of your website was limited to the amount of pages you could create/maintain individually. Beyond a dozen pages or so, it became hard to avoid things like links to discontinued pages or inconsistent assets (i.e. the nav bar on a lesser-used page gets outdated).
---
Wordpress came out in 2003 and changed the game. The old one-to-one model -- each page of content needed its own page of code -- gave way to a scalable model: one template plus a content management system equals as many pages as you want.
The revolution of Wordpress (and Ruby on Rails, which came out a year later) led to a Cambrian Explosion of websites. (Click here for a fun map of what the web looked like circa 2010!) Right now, in August 2025, almost half of the Internet still runs on Wordpress!
---
React arrived in 2013 and improved things by another order or magnitude. Instead of page templates, React broke things down even further, into components. The nav bar you use on every page? Split that sucker out into its own code. Let that code talk to the code around it, so that it can do neat things like switch to dark mode or change the CTA button text, depending on where you stick it in the site.
Early sites were like early homes -- a lot of time and work, limited by the capabilities of the builders. Wordpress was like Levittown -- the dawn of assembly-line suburban homes, all similar and rather boring compared to the old custom Victorian metalwork, but much cheaper and more accessible. React was like the rise of mass-produced prefabricated doors, windows, and fixtures -- you get the performance of custom builds with the speed of the assembly line.
---
Another decade on, and the next revolution seems to be one of frameworks. Out-of-the-box React still takes a lot of skill to implement correctly. React frameworks like NextJS simplify that process by automating hard tasks like complex page navigation, memory caching, image optimization, etc.
Sidenote: NextJS (and alternatives like Nuxt and Astro) are especially good for SEO -- a lot of content on vanilla React sites end up invisible to Google's crawlers. These frameworks largely automate the SEO work as well.
---
The hard stuff gets automated away, but that can still be expensive (in time and money, but I repeat myself) to implement. So what do you do if you need something with the speed of custom code, the precision of React , and the ease of use of Wordpress?
It feels a little early to say 'this is the next big thing!', especially because it's proprietary and vendor-locked, but Webflow is at the forefront of the low-code/no-code movement -- the idea that coding a fully-functional, blazing-fast website should be as fast as making a design mock up in Photoshop or Figma.
With Webflow, software does a lot of the heavy lifting, while still allowing pixel-perfect control of the final result. The house analogy breaks down a bit here, because it's akin to drawing up blueprints, then supervising a team of robots who build the house for you 10x faster than humans could, to a level of quality rising to world-class artisans.
---
There is more than one way to code a website, it really all comes down to what you need the site to do. Once you figure that out, it's just a matter of gather content and writing code.
Code affects website cost via the complexity of the design, the effort required to build it, and the ongoing work of maintenance and improvement.
The Host
A website is just a bunch of files that you view with a web browser. The browser doesn't really care where the files live, it just loads them, reads the instructions, and renders the final result. You can build and host a website on your own computer in less than a minute.
Open the notepad app on your computer. Paste in this text:
Open the notepad app on your computer. Paste in this text:
<h1>This is (technically) a website!</h1>
Save the file with a name that ends in html, like 'website.html' or 'index.html'. Now click on the file and your browser will open the page. Congrats! You just built and hosted a website.
Here's the takeaway: all websites work like this! They're all just files on a computer somewhere. That's it. Your browser is just getting files from another computer, parsing the instructions, and displaying the final result.
Where's the other computer? Doesn't matter. Maybe on a desk in someone's house. Or in a giant data center with thousands of other computers. It could be an old phone. The point is, your browser is getting the website from somewhere. That 'somewhere' is the host.
This makes intuitive sense with the house analogy. The land a house can affect the house, but doesn't have to define it. You can build a modern suburban ranch house on almost any piece of land, with little to no change in the plans. Most website code is agnostic about the kind of computer it lives on.
Sidenote: This isn't always the case. Some platforms, like Webflow or Elementor, don't let you pick your own host. They provide both the code and the computer, since their business model only makes money if you're locked in to their platform.
What about hosting costs? That depends on the resources you need. Maybe you have a dead-simple three-page website without any interactive content. You can host that for free on a site like Github or Cloudflare.
On the other hand, maybe you use that three-page site to store several terabytes of 4k video files. Well, now you have to pay for a computer with enough storage space to hold those files. Digital Ocean and Amazon both offer storage solutions.
Imagine that same modest ranch home, which is pretty affordable on a half-acre lot in the 'burbs, but now you're putting it on 600 acres of prime cattle pasture. Your cost shot up to mansion-level expense, but it's because of the resources that the home requires, not the home itself.
There are all sorts of specialized and expensive resources a home could require -- oceanfront property for a beach home or a view of the Tetons for a vacation cabin. The size and build quality of the home might be average, but the specialized purpose translates into a higher cost.
The site you just built and hosted is a 'static site'. That is to say, it doesn't change or respond to anything you do. There's nothing interactive about it. Some websites work just fine as static sites. They don't need to allow users to log in, search for something, video chat, etc.
Sites that can do that stuff are 'dynamic sites'. With a dynamic site, your browser isn't just receiving information, it's sending it too. It's not just listening, it's speaking to another computer somewhere.
"My user wants to search for 'birds with arms'!"
"My user is logging in! Here's a password!"
"My user is trying to check the status of their order!"
The host computer on the other end isn't just serving up files. It's listening to requests and taking action in response. That uses more resources than simply storing something. Sites built with Wordpress, NextJS, Rails, etc. require computational power to run, so the costs to host them are a combination of the storage space their files take up, plus the cost of computation.
Here's a few more examples of a dynamic site:
- Uploading, processing, or playing back a video.
- Running a CRM for a business.
- Letting users build a custom pizza order and sending it to the kitchen.
- Powering a live chat where fans argue over which superhero would win in a fight.
In all of those cases, a computer somewhere is interacting with a database, doing something with the info, and serving the results back to your browser as part of an ongoing conversation. The key difference between static and dynamic is whether there is some sort of code running behind the scenes to change the website on the fly.
Hosting affects website cost via the resource needs of your website, in terms of storage and computation.
The Address
You built an awesome house and want people to visit you. What do you do? Let people live their lives and wait for them to stumble across it. No! You tell them where you live.
I know, I know. I'm being pedantic here. But think about it. In the US (and a lot of first-world countries) the government will just assign you an address. A new neighborhood gets built and boom! street names and house numbers. You rent out your basement and the local post office designates it #121B.
I know, I know. I'm being pedantic here. But think about it. In the US (and a lot of first-world countries) the government will just assign you an address. A new neighborhood gets built and boom! street names and house numbers. You rent out your basement and the local post office designates it #121B.
Sidenote: This is one of those miracles of modern life we take for granted. I lived in Mexico for two years, and was surprised at how common duplicated, missing, and ambiguous addresses were. The address of the office I worked in translated to "Building 1234 on _____ Ave in ____ neighborhood at the bottom of the big hill". That was in a large, modernized city! In outlying towns it was common to struggle to find places for simple lack of addresses.
The point is, there is a difference between a house and an address. If you build it, they won't come unless you have a way to tell them where it is. An address is a standardized way for us to all agree where things are.
The same thing holds true for websites. If you've made a website (code) and put it on a computer (host), then you've created a resource for people to access. But they need some sort of locator to find it. And it would be chaos if everyone made their own rules about this, so the process should be uniform.
Hey presto! Enter the uniform resource locator, aka the url, aka the address.
Here's the thing to remember about web addresses: they are not websites. They are locators and their job is to tell a computer where to find another computer.
Why is this important to understand? Well, let's say you buy the domain "picklesweaters.com". Yes, you could set up that domain to point at the location of the computer hosting the code for your website about garbed gherkins. But do you know what else you can set up using that domain?
- Email services for any address ending in "@picklesweater.com"
- A subdomain, "beta.picklesweaters.com", for testing out new versions of the site.
- Another subdomain "lab.picklesweaters.com", to give you remote access to a computer controlling the manufacturing line for your sweater factory.
- A redirect, so that all traffic headed for "picklesweaters.com" gets sent to the website of the company that just acquired you.
- All of the above, simultaneously!
A web address ≠ web site. It's just a way to tell one machine how to talk to another machine.
So how does the web address affect the cost of a website? It depends on what you buy and who you buy it from. The sale of domain names is governed by a global nonprofit called ICANN. They authorize other companies, registrars like Cloudflare or Namecheap, to sell domain names.
If the domain name is in high demand, it will be expensive. Less than 6 characters? Special ending like ".studio" or ".io"? Thousands of dollars per year. Web addresses have to be unique by nature, so supply and demand can do crazy things.
Side note: check out the Wikipedia list of the most expensive domain names and click through to read the entry about Sex.com. People will do crazy things to get their hands on coveted web addresses!
The other way the price comes into play is through bundling. Many website host services will bundle domain registration with hosting services. GoDaddy and Wordpress.com are two of the best-known, but there are many others.
While there's nothing inherently wrong with getting the address from the same place as the host, you should understand that domain pricing is often cheaper through a reputable company like Namecheap or Cloudflare. The address simply points to the host, decoupling them won't affect performance.
The other risk of a host-bundled address is service lock-in. Some hosts make it difficult or impossible to set up email services, subdomains, or redirects through third-party services. They'll lure you in with a cheap domain, then bleed you dry for the privilege of email forwarding!
So watch out for that and remember that you can completely separate the address from the host. (Also, Cloudflare and Namecheap are both infinitely more capable and easy to configure than most hosting services!)
Bringing It All Together
A website is just some code, running on a computer somewhere, with an address that points other computers to it.
How much does a website cost? It depends on what you decide to build and maintain, now and in the future. The kind of code you create will dictate the kind of host you need. And your host might affect where you buy the web domain.
That's the long version, but the short version is this: think of a house. If you build a copper-roofed bespoke chateau in Jackson Hole, that's a different use case, build cost, and maintenance cost than a prefab tiny house in Jacksonville.
In the next post, I'll run through popular code frameworks, web hosts, and domain registrars, to give you a better idea of costs and trade-offs. I'll also touch on content management systems and third-party integrations.
How much does a website cost? It depends on what you decide to build and maintain, now and in the future. The kind of code you create will dictate the kind of host you need. And your host might affect where you buy the web domain.
That's the long version, but the short version is this: think of a house. If you build a copper-roofed bespoke chateau in Jackson Hole, that's a different use case, build cost, and maintenance cost than a prefab tiny house in Jacksonville.
In the next post, I'll run through popular code frameworks, web hosts, and domain registrars, to give you a better idea of costs and trade-offs. I'll also touch on content management systems and third-party integrations.