How to create a website

Making your first proper website can be a daunting business, but it doesn't need to be complicated. You just need to understand what a few terms mean, and how browsers interpret what you type into their address bar.

How do browsers work?

Browsers translate the url you type into the address bar into different parts. The parts are defined here by googler Matt Cutts. The most important part, and the one that concerns us here, is the domain name. Usually, when you enter a url into a browser, it takes the following steps. The parts that concern us for an example url are:
  • [http://] - the protocol (language) to talk to the server in
  • [] - domain name of the server
  • [/path/to/page] - the path on the server
The steps a browser might take when visiting a url are:
  1. Find domain name -
  2. Look up domain name with DNS - this translates the domain name into an IP address
  3. Ask the server for the page specified by the url
  4. Display the response
So to have a website you need three things:
  1. A domain - this points visitors to the server with DNS and requires a registrar
  2. A server - this serves the content to browsers and requires a server host

Finding a domain name

To find a domain name, you can use a service like dainty domains to search for the possible domains that are still free. If you find one you like, you can then register the domain.

Registering a domain

Registering a domain is pretty straightforward, but will cost you money. Find a registrar that handles the domain you want to register fill in your domain name and hit purchase.

Finding Hosting

Depending on what you want to do with your domain, you might not even need to find hosting. You can use a service like to host your website for you, and just point your domain to their servers. If you want a bit more control over the server you run, you can choose from one of the many hosting companies available  we have some advice over here on who to choose.

Set up DNS

Once you have a domain name and hosting set up, there is one last step to get your server up and running - linking the domain name with the server. You do this with DNS - add an entry for both www and the bare domain in DNS records to your server IP, and when someone types that domain into your browser, they'll be sent to your server.