Updated 2 hours ago
You're adding your address to a phonebook. When someone looks up your name, they get your number.
That's all DNS is. That's all "pointing a domain to a server" means. You're telling the Internet's phonebook: "When someone asks for example.com, send them to this IP address."
The rest is just knowing which forms to fill out.
Find Your Server's IP Address
Your server has a unique address on the Internet—a number like 192.0.2.1 (IPv4) or a longer hexadecimal string (IPv6). You need this number before you can do anything else.
If you're using a cloud provider like DigitalOcean, AWS, or Linode, the IP address is displayed prominently in your server's dashboard. Look for "Networking" or "IP Addresses."
If you have command-line access:
Write down both your IPv4 and IPv6 addresses if you have them. IPv4 is four numbers separated by periods. IPv6 is eight groups of hexadecimal digits separated by colons.
Open Your DNS Settings
Log into wherever you bought your domain—GoDaddy, Namecheap, Cloudflare, whatever. Find "DNS Management" or "DNS Settings" or "Advanced DNS."
Important: Check your nameservers first. If your domain uses third-party nameservers (like Cloudflare's), you need to edit DNS records there, not at your registrar. Editing records in the wrong place is the most common mistake people make.
Create the A Record
The A record is your phonebook entry. It says: "This name points to this number."
| Field | Value |
|---|---|
| Type | A |
| Host/Name | @ |
| Points to | Your IPv4 address |
| TTL | 3600 |
The "@" symbol means your root domain—example.com without any prefix.
TTL (Time To Live) tells other DNS servers how long to remember this answer before checking again. 3600 seconds (one hour) is standard. If you're about to change servers, lower it to 300 seconds a day before the migration so the change propagates faster.
Create the AAAA Record (If You Have IPv6)
Same thing, but for IPv6:
| Field | Value |
|---|---|
| Type | AAAA |
| Host/Name | @ |
| Points to | Your IPv6 address |
| TTL | 3600 |
IPv6 adoption is growing. Configuring this now means your site works for everyone.
Handle the WWW Subdomain
People will type both example.com and www.example.com. Both need to work.
The cleanest approach is a CNAME record—an alias that says "www is the same as the root domain":
| Field | Value |
|---|---|
| Type | CNAME |
| Host/Name | www |
| Points to | @ (or example.com) |
| TTL | 3600 |
Now if you change your server's IP, you only update one A record. The CNAME follows automatically.
Alternatively, create a second A record with "www" as the host. This is slightly faster (no extra lookup) but means updating two records whenever your IP changes.
Wait
DNS changes don't happen instantly. The Internet's phonebook takes time to update—anywhere from a few minutes to 48 hours. Most changes propagate within a few hours.
This is genuinely absurd. We can stream video across the planet in milliseconds, but updating a text record might take two days. The reason: DNS is heavily cached. Every ISP, every corporate network, every device remembers DNS answers to avoid asking repeatedly. When you change a record, all those caches need to expire naturally.
Don't make more changes while waiting. Repeatedly editing records during propagation can actually slow things down.
Verify It Worked
After waiting, check your work:
The ANSWER section should show your server's IP address. If it shows the old IP or nothing, propagation isn't complete yet.
For a global view, use whatsmydns.net. It queries DNS servers around the world and shows whether your change has reached each region.
Finally, open your domain in a browser. If your server is running a web server (Nginx, Apache, etc.), you should see your site. If you get a connection error, check that your server's firewall allows traffic on ports 80 (HTTP) and 443 (HTTPS).
Common Mistakes
Editing DNS in the wrong place. If your nameservers point to Cloudflare, editing records at GoDaddy does nothing. Always check where your nameservers are pointed first.
Using your internal IP address. If your server is behind a router, you need the public IP (the one the Internet sees), not the internal one (192.168.x.x or 10.x.x.x). Those internal addresses only work inside your local network.
Forgetting www. Some visitors type www, some don't. Configure both or you'll lose half your traffic.
Panicking during propagation. It's not broken. It's just slow. Wait.
Frequently Asked Questions About Pointing a Domain to a Server
Was this page helpful?