Buying a domain and creating your first website, Part 1

In recent years, tons of new so-called “generic top level domains”, also known as gTLDs have been released to the general public. These include things such as .club, .website, .social, and even .pizza. Those helpful wikipedians have been maintaining a full list if you're curious.

Many people don't know that these TLDs exist or that they are available, often for a discounted rate. For example, if you happen to be Steve Harrison, the domain steveharrison.best is available for only $2.99 a year right now. And of course, if you can find something in the crowded .com space, those are available for between $8 and $15 dollars. (I recommend trying somethinglikeafullsentence.com for example).

If you're interested in dipping your foot into the pool of domain ownership and simple website hosting, read on!

Domain names versus websites versus HTML pages versus URLs

Let's start with a few definitions. A domain name is something like google.com or yourawesomewebsite.pizza. It is simply an entry in a global system that you (or someone else, or some company) has bought the rights to. Once you've bought these rights, you need to “set your domain name up” so that it points to something. That's the important part: the domain needs to point to something in order to be useful.

What it points to is the website that is located at that domain name. Actually what it technically points to is an IP address (or a series of IP addresses). The IP address is often referred to as the internet “phone number” of a computer located somewhere in the world. When you type “https://yourawesomewebsite.pizza" into your web browser, the browser queries the “global system” referred to before (the Domain Name System or DNS) and finds the IP address of the computer that is hosting the website that the address refers to.

For our purposes, it's not necessary to understand the details of IP Addresses or the Domain Name System. The important part is to understand that yourawesomewebsite.pizza isn't a website. It is a domain name that points to a website.

What about an HTML page? You may have heard of HTML or HTML pages, but how do they work into the picture? Well, HTML is basically a computer language that is used to describe web pages. A website is simply a collection of web pages under a common domain, or under a path under a domain.

What about URLs? Where do they come in? You might think that yourawesomesite.pizza is a URL, but it's not: it's missing the https:// part that makes it a URL. So yourawesomesite.pizza? Domain name. https://yourawesomesite.pizza? URL. URLs can also contain paths, such as https://yourawesomesite.pizza/products/1234, where /products/1234 is the path. URLs can also contain query strings, such as https://yourawesomesite.pizza/products/1234?display=full, where ?display=full is the query strings. Query strings allow for websites to dynamically respond to things like search queries and filtering parameters, but they're not particularly important for our purposes.

Note that the last example represents a URL of a certain domain name, with a path and query string, and resolving it via your web browser will result in seeing an HTML page that represents the website that is hosted there. Just to bring it all together, but all that is again probably too much detail for the purposes of this article.

Choosing a registrar

As far as choosing a registrar, I have consistently recommended Namecheap. There are plenty of other options out there (just type “domain registrar” into Google), but I would caution against GoDaddy because of their poor customer service and predatory business practices.

Update: It appears that Netlify is a registrar now and you can actually buy your domain directly from them. This might be a much easier option, since we will be using Netlify to host our site for free.

Once you've found a registrar you like, you can go through the process of searching for your domain. You can generally type in any string you like, and the registrar will first tell you if the .com domain is taken for that string, and then recommend alternatives from the wide world of TLDs described at the top of this article. You can also put in somecrazystring.pizza directly, with the TLD (.pizza in this case) included, if you have a specific TLD in mind. (Note that some TLDs have residency or other requirements, like those for specific countries).

After you've found a domain that you like that is available, go ahead and buy it! If your registrar provides any additional services as upsells (and most of them do), be sure that you don't purchase any website creation or website hosting. We'll be handling that in part 2 of this article. One thing you might consider adding though is any “privacy guard” add-ons that allow you to hide your real name and address in the WHOIS system. Without such privacy guards, your actual name, address, and email address will appear in the global WHOIS database, which will make you a target for not only spam, but real life junk mail too in some cases.

Many folks I know have already taken the first step and registered a domain. They saw that myactuallfirstandlastname.com was available and went through the steps to buy it. If this is you, that's great! That's an awesome first step. Unfortunately, if you go to the website at that address, you find that it's probably some “Website coming soon” page, with the branding of your registrar. Less than satisfactory.

Part 2 of this guide will help you figure out how to host something on your domain (other than the so-called parking page). The best part is, with a little bit of effort, it's completely free (the hosting that is)!