This guide is for everyone who needs a website or makes websites
If you're going to be paying someone to make a website, it's helpful to know all the different ways websites can be made. This will help you figure out what's best for your needs, and will ensure that you don't get fooled by a freelancer or agency that only specialises in one thing.
If you build websites, either as a novice or as a professional, it's critical to know the many ways websites can be built, so that you can choose the best ways for your clients and your own projects.
Note that some of these ways to make a website are quite complex and difficult to understand if you're not a professional website developer; we've marked these as “advanced” so you can skip these if they don't seem to be relevant to you.
- Using an online site-builder
- Using a site-builder of web host
- Using ecommerce software
- Using specialist website software
- Using a CRM
- Using custom HTML, CSS and JavaScript
- Using a backend framework #advanced
- Using a traditional CMS
- Using a frontend / JavaScript framework #advanced
- Using a decoupled CMS #advanced
- Using a static site generator (SSG) #advanced
Quick glossary
Before we jump in, let's explain some of the words we use a lot in this guide.
Content is simply the text, photos and other images, videos, and other things you actually see on a website. This is the stuff that marketers are usually in charge of creating for business websites.
SEO (search engine optimisation) is building a website in a way that makes Google happy, so that the site shows up high in the results when people search for it. This includes things like using the right code, and making the site load quickly.
HTML, CSS, and JavaScript are languages that websites are made of. HTML gives a webpage structure (the foundation), CSS determines what it looks like (the colours, layout, etc.) and JavaScript makes it interactive, allowing it to do things when you click, scroll down, etc.

Using an online site-builder
Overview
Online website builders are the simplest way to make a simple website if you've never made one before. You would simply create an account, sign in, and start designing your site. When it's finished, you add a domain name (like www.mysite.com) and click a button to make it live.
These builders usually have "templates" to get started quickly, and they make it really easy to add pages, then add text, images and other components to those pages without knowing anything about websites.
They all have a monthly cost, with various pricing tiers to get more features.
Popular software
The most popular online site-builder software includes: Squarespace, Wix, Weebly, Webflow, Google Sites
Pros
- Very easy to learn and use
- Fast to build websites with
- Low monthly cost, so fairly cheap
- Very secure; will not be hacked
Cons
- Beyond the basics of websites, they don't offer much advanced features (eg. ecommerce)
- They are sometimes a bit restrictive in how you can design and build a site
- No way to edit the code, so professional developers can't help improve them
Best for
Simple websites where the business owner or an employee makes the website themself instead of hiring a professional
See also

Using a site-builder of web host
Overview
Websites that are ready to go live need to be put on a computer that's permanently connected to the internet (called a server). A web host is a company that takes care of this, and also provides services like making it easy to buy a domain name (eg. mywebsite.com) and provide email inboxes for your organisation.
Many web hosting providers offer a simple website-builder tool for their customers to use for free, or for a very low cost.
These site builders usually work just like the online site builders discussed above, but they usually have fewer features and typically produce lower quality websites.
Pros
- Very easy and quick to use
- Free, or a very low monthly cost
Cons
- Very limited in features; they only have basic website features
- May have some confusing features
- Compared to other options discussed, hardly anyone uses these, so you won't find good information / help online
Best for
If you already have web hosting (eg. for your domain name and email accounts), and you need a website in a hurry for a low cost

Using ecommerce software
Overview
To sell products online, you need an ecommerce website. These websites allow you to add products, including simple products, products with variations like size and colour, and even non-physical products like tickets. They also allow you to manage product categories and tags, and provide product listing pages and product detail pages.
They also have many other features you'll need, such as online payments using various payment methods, tax calculation, shipping options, discounts and promotions, etc.
Most website software these days have ecommerce "addons" and features, those are usually very simple and are only worth using if you already have a website and want to sell just a few simple products on the site. WooCommerce (which is an addon for WordPress) is the exception to this, since it is very fully featured.
If you need to build a new ecommerce site, you should use software that's specific to ecommerce, such as those we've listed below.
Popular software
The most popular ecommerce software platforms include: Shopify, WooCommerce, Prestashop, BigCommerce, Ecwid
Best for
Websites where the primary goal of the site is to sell products online
See also

Using specialist website software
Overview
Besides ecommerce, there are loads of other niches that need website software specifically designed for them, such as blogging, for photographers, for learning institutions, and so on.
Each of these will have many features specific to that niche, however they will often lack features that other more general website software will have. This is especially true because these niches are usually much smaller, so there is less incentive for the software developers to spend as much time building this software.
Popular software
Popular learning management systems (LMSs) include: Moodle, Blackboard, Sakai
Popular blogging software and platforms include: Ghost, Blogger, WordPress
Popular website software for photographers include: Adobe Portfolio
Best for
Niches where the websites should have features that are specifically designed for people in that group

Using a CRM
Overview
CRMs (customer relationship management software) are used by businesses to keep track of potential customers (leads), current and past customers, and other notable people and organisations in their industry. Businesses that need a reliable sales system use a CRM.
CRMs usually have features that allow the business to contact their leads and customers via phone calls, emails, and other communication channels.
Because websites are usually such a vital part of the journey that people go through as they become customers, the popular CRMs developed features that let the businesses track the behaviour of visitors to their sites.
Most recently, these CRMs have extended this focus on websites, creating their own online website-building software with all these sales features built-in.
Popular software
The most popular CMR website builders include: Hubspot CMS, Salesforce CMS, MailChimp Website Builder
Best for
Businesses that have a major focus on selling, and where learning all about website visitors and communicating with them is a key concern.

Using custom HTML, CSS and JavaScript
Overview
Websites are really all composed of HTML, CSS and JavaScript, so we can build a website just using these. This is a feasible way to make really simple websites, and they can look amazing if designed well. All we would need is a text editor app, and a web host to make the site live when we're finished.
However, as the site gets bigger and more complex, we would be basically building our own framework, and the last thing the world needs is another framework.
Pros
- Can be very fast to build with for very simple websites
- The best performance: The website will load super quickly
- Ultimate control; the site can do / have anything you can imagine
Cons
- No way to log in to manage content like text and images; this is all done in code
- Can take very long to build a large or complex site
- Adding advanced features to the site can take loads of work and time
- The code will typically be specific to the developer building it, meaning that no other developers will want to work on it in future
Best for
Really simple websites, or proof-of-concept websites (prototypes) that need to look and act like the finished complex website, but without any of the features and complexity.

Using a backend framework #advanced
Overview
In the early days of the web, developers realised they were building larger and larger websites with loads of content, and they were writing the same code on most sites.
So to solve both of these issues, they developed software that would help them build big websites while reusing the components they built with code. This software runs on computers called "servers", which they call the "backend". They save the text and other content to a "database".
It's important to note that these backend frameworks don't have a "graphical user interface", meaning that they don't have a way to log in to add an edit content. These frameworks each provide various ways to add content, but they usually require the professional developer working on the software to be involved each time.
There are many backend coding languages, so each of these has their own popular backend framework. The languages they're built in are shown in brackets below.
Popular software
Django (Python), Laravel (PHP), Symfony (PHP), Ruby on Rails (Ruby), Express (Node.js) ASP.NET (C#)
Pros
- They're relatively simple for web developers to use
- They're usually very secure, meaning the site is unlikely to be hacked
- Good SEO: It's easy to optimise the site for search engines like Google
- They're flexible with the types of websites they can be used for
Cons
- No GUI, meaning no easy way to log in and manage content
- No easy way to add interactivity with JavaScript
Best for
Large websites with loads of custom data (such as large ecommerce websites), where there is a separate team working on the website's frontend.

Using a traditional CMS
Overview
Traditional content management systems (CMSs) are software for building websites where you can log in to add new webpages, blog posts, and other content.
They also allow administrators (usually the web developers) to manage things like menus, themes and addons, and users (who can log in).
These are designed for most typical websites; websites that aren't very similar, but also aren't very complex and interactive (like apps)
Popular software
The most popular CMS platforms include: Drupal, WordPress, Joomla
Pros
- They're free to download and use
- They have thousands of themes to choose from to make the site look just the way your business needs it to
- They have thousands of addons (often called plugins or modules) you can use to add additional functionality and features to the site, such as ecommerce
Cons
- It can take several weeks for someone to build a site using these, so they can cost quite a bit
- If they are not optimised by a web developer, webpages may take a few seconds to load, meaning poor performance
- They may require a professional developer to maintain them to keep them secure, which can be a significant monthly cost
Best for
Traditional organisation websites where there's a need for editors to log in to add and manage content, and also be easy to add new features, and where the performance of the website isn't a major concern.
See also

Using a frontend / JavaScript framework #advanced
Overview
While traditional CMSs are great for static websites where each page has text and images that don't change very often, they're often slow to load, and they aren't good for very interactive websites (like apps).
To address this, there has been a huge shift in the web industry to building websites using frameworks (software) that mostly uses JavaScript to build the pages.
Popular software
Popular JavaScript frameworks include: React, Angular, Vue, Svelte
Pros
- After the first time the website loads, every other page will load super quickly
- They're excellent for adding interactivity to webpages, meaning the website can do almost anything, like a phone app
- They're built with JavaScript, which is by far the most popular coding language, which means there are thousands of web developers to choose from who specialise in these
Cons
- As a website owner or manager, there's no simple way to log in and add or edit content (images and text)
- The first time the website loads can take several seconds because all the code is being delivered and processed by the visitors' browsers
- Without spending time to optimise them, they can be really poor for SEO (search engine optimisation)
Best for
Websites that are primarily interactive, such as a map app, or a booking system, or a a photo sharing platform
See also

Using a decoupled CMS #advanced
Overview
The most powerful and impressive websites combine a JavaScript framework with a CMS (content management system), allowing the website to be very fast, while making it easy for the website owners / content editors to log in and manage its content.
A new type of CMS has evolved that specialises in just handling the content without being concerned with how it is presented to the website visitors, which the JavaScript framework takes care of.
Basically each one has its own responsibility, and they don't directly depend on each other, which is why this setup is called "decoupled".
The JavaScript and the CMS communicate with a sort of language called an API, which is why these are often called API-first CMSs
For example, imagine you have an event with a date, a venue, and a logo. When the website visitor wants to see the event, the JavaScript sends a message to the CMS saying "give me the information about the event"; the backend replies by sending the information, then the JavaScript framework builds the webpage and shows it to the visitor.
Popular software
Popular API-first CMSs include: Contentful, Storyblok, ButterCMS, Strapi, Prismic, Netlify CMS
Pros
- These combine the performance and flexibility of a JavaScript framework, with the ease of managing content of a CMS
- The website can be made very fast, very secure, and very easy to use for visitors and for the owners and managers
Cons
- These are very complex to build, requiring professional developers and lots of time
- This is the most expensive type of website to build
- Webpages can still load slowly because of all the back-and-forth work that happens each time a page needs to be built and shown
Best for
Large and complex websites with lots of content and lots of advanced features and interactivity, where the features and flexibility of the site are major concerns.

Using a static site generator (SSG) #advanced
Overview
The fastest websites are the simplest ones; ones where the webpages are just HTML, CSS, and a little bit of JavaScript, which we call static webpages. But as we discussed in the sections above, this doesn't allow for flexibility.
A new type of website software has become popular because it builds the webpages into static pages each time on
The SSG software gets the content either from pages in a format called markdown that anyone can write, or from a CMS.
The difference between this and other JavaScript frameworks mentioned earlier is that a SSG builds the webpages every time the content changes, not when the webpages are requested by visitors.
Popular software
Popular static site generators include: Gatsby, Hugo, Jekyll, Next.js
Pros
- Fantastic performance; the webpages will load incredibly quickly
- Excellent for SEO
- Can have the content-editing convenience of a CMS
Cons
- These can be difficult to develop, so these require a professional web developer
- These encourage webpages with little JavaScript, meaning that pages won't typically be very interactive
- If using markdown, it can be difficult for non-developers to edit the markdown files
Best for
Business websites with content that doesn't change often, where the website needs to load super fast, and have great SEO.
Conclusion
There are dozens of ways to build websites, each with their own competing software that can be used. Some of these methods overlap or complement each other, but for the most part, you’ll need to pick just one for your next website.
There are several other very closely-related ways to build things on the internet that we didn’t include for various reasons. We didn’t include wikis, because these are very niche and not the sort of website we’re focussing on here. We didn’t include social media profiles, because those aren’t really websites, and they provide very little control over what you can put on them. And we didn’t include AI site builders, because these don’t seem to have matured to the point of being a practical way to build a website.
We hope you’ve found this guide helpful! If you have any questions about websites at all, just get in touch with us.