By Joel Dare - Written April 15, 2026
In this post I’ll describe I how buy a domain name and forward it to my blog. We can do this in three basic steps.
To buy a domain name you use a company called a registrar. I prefer to use Namecheap. They also provide Domain Name Service (DNS), which is responsible for sending traffic to your web host. There are many other registrars and you can use any you like, but I’ll give instructions for Namecheap since it’s what I know. Others will vary slightly and a few do not provide DNS.
Go to namecheap.com and click Sign up.
You’ll enter your name, email address, create a username, and enter a password. At the time of this writing it takes you directly into your account.
Next, you’ll search for your domain name. Many domains are already taken. It will probably take some time to find the perfect name that is available.
I personally prefer to buy .com domains. This is called the top level domain (TLD). There are many others like .net, .org, .io, and many more. Any will work but each has different prices and policies. For example .io domains are favored by tech organizations and cost more. You cannot enable privacy protection on a .us domain and getting one will automatically get you a series of spam calls and emails.
Once you find the domain, click Add to Cart then Checkout and walk through the rest of the registration process. You’ll enter your full contact informationn, including your full mailing address and phone number. Your contact info will become public record unless you opt for privacy protection, at a later step, currently a free option.
Next, you’ll point your DNS at GitHub. This gets a little technical but it’s not difficult and you can go back and correct mistakes with a little bit of waiting between changes.
Go to your dashboard.
Click on the manage button next to the domain name.
Go to the Advanced DNS tab.
You’ll add four new A Records. Each will point at a GitHub Pages IP address.
@ → 185.199.108.153
@ → 185.199.109.153
@ → 185.199.110.153
@ → 185.199.111.153
So, for each of these, set the type to A Record, the host to @, and the value to username.github.io. (note the trailing period). The @ means no subdmain, so example.com will point at GitHub. GitHub has four IP addresses and you’ll want to setup all of them.
You can’t use a CNAME for the root domain (it violates DNS standards and breaks other records like MX that you may want to use later).
With that done, you’ll add a CNAME for the www subdomain.
www → username.github.io.
Add another new record.
Set the type to CNAME, this time set the host to www and set the value to username.github.io. (replacing username with your actual GitHub username). This will point www.example.com to GitHub as well.
You can setup both of these domains/subdomains or just one, depending on what you want, but you’ll often setup both of them.
You should have five total records when we’re done.
@ → 185.199.108.153
@ → 185.199.109.153
@ → 185.199.110.153
@ → 185.199.111.153
www → username.github.io.
DNS takes time to propegate throughout the internet. It can take up to 48-hours although I often find it working within a few minutes, especially if you did everything right the first time.
If it doesn’t work for you, go back and carefully double-check each of these settings.
JoelDare.com © Dare Companies Dotcom LLC
through formrobin.com