Estimated reading time: 12 minutes
Connecting a custom domain to your WordPress site means telling the internet where to find your site. This is done by configuring DNS (Domain Name System) records so that your domain (e.g. yourdomain.com) points to your hosting server’s IP address or nameservers. Below is a step-by-step guide covering the general process and provider-specific instructions (GoDaddy, Namecheap, Google Domains, Bluehost, etc.). We’ll explain how to update A records, CNAME records, and nameservers, plus common pitfalls and fixes.
DNS Basics: A, CNAME, and Nameservers
DNS translates human-friendly domain names into IP addresses. The two main record types you’ll use are A records and CNAME records.
- A Record (Address record): Maps a hostname to an IPv4 address. For example, an A record for the root host
@
can pointexample.com
to your server’s IP (e.g.123.45.67.89
). - CNAME Record (Canonical Name): Creates an alias from one hostname to another. For example, a CNAME for
www.example.com
can point toexample.com
, so that visitors usingwww
reach the same site. (CNAMEs must point to another name, never directly to an IP) - Nameservers (NS records): Specify which DNS provider (server) manages your domain’s DNS zone. You can either use your host’s nameservers (so the host manages DNS) or your registrar’s nameservers (and edit DNS records at the registrar).
Host / Name | Record Type | Value / Points To | Purpose |
---|---|---|---|
@ (root) | A | server’s IP address | Directs the root domain (e.g. example.com) to your server. |
www | CNAME (or A) | example.com (or IP) | Points the www subdomain to your root domain or server. |
* (wildcard) | A / CNAME | (see above) | (Optional) A wildcard to cover all subdomains. |
Typically, you’ll set an A record for @
pointing to your hosting IP, and either an A record or a CNAME for www
pointing to the same. Many providers note that @
is used for the root domain and www
for the www subdomain. TTL (Time-To-Live) defines how long changes cache; common defaults are 30 minutes (Namecheap) or 1 hour (GoDaddy). Note that DNS changes are not instantaneous: expect propagation in a few hours up to 24–48 hours globally.
General Steps to Point Your Domain
- Gather Hosting Info: Obtain your hosting server’s IP address and/or nameserver information from your hosting provider. The IP is used in A records; nameservers (usually two or more like
ns1.host.com
) are used if you want the host to manage DNS entirely. - Log In to Your Domain Registrar: Sign in to the account where you purchased or manage your domain.
- Access DNS/Name Server Settings: Every registrar has a DNS or “Zone File” settings page. It may be under “Manage DNS”, “DNS Zone Editor”, or a similar section.
- Choose Pointing Method:
- Via Nameservers: If your host gave you custom nameservers (common for shared hosting), switch your domain to those nameservers. This delegates all DNS control to the host.
- Via DNS Records: If you keep the registrar’s nameservers (or use a third-party DNS service like Cloudflare), you’ll add/modify DNS records directly. Typically, you’ll add:
- An A record for
@
with the host’s IP address (points your root domain to the server). - A CNAME record for
www
pointing to@
(sowww.example.com
→example.com
), or alternatively another A record forwww
with the same IP.
- An A record for
- Example: Set
A
|Host = @
|Value = 123.45.67.89
(your server IP) andCNAME
|Host = www
|Value = example.com
.
- Save Changes: Click Save or Add Record in your registrar’s interface. After saving, DNS propagation begins. (See troubleshooting below.)
- Point the Domain at WordPress: Once DNS updates have propagated, your domain should lead to your WordPress site. Log in to WordPress admin and go to Settings → General to update WordPress Address (URL) and Site Address (URL) to your new domain (for example,
https://yourdomain.com
). This ensures WordPress generates links with your custom domain.
Below are detailed steps for popular registrars. In each case, use the values (IP or nameservers) provided by your hosting account.
GoDaddy
- Log in and open Domain Settings: Go to your GoDaddy Domain Portfolio and click the domain name you want to connect. Select the DNS tab to view DNS records.
- Use GoDaddy DNS (add A/CNAME):
- Under Records, click Add and select A for an A record.
- Set Host to
@
and Points to to your server’s IPv4 address. (This points the root domain to your host.) - TTL: leave as 1 hour (GoDaddy’s default).
- Save the A record.
- Next, add a CNAME record (click Add → CNAME). Set Host to
www
and Points to to your root domain (e.g.example.com
). Save it. - (Alternatively, you could add a second A record for
www
pointing to the IP, but the CNAME method avoids duplicate IP entries.) - Once saved, your DNS will direct GoDaddy nameservers to the hosting IP.
- Use Custom Nameservers (alternative):
- Instead of adding records, you may choose to let your host manage DNS. On the Nameservers section of the domain’s settings, click Change.
- Choose “Custom nameservers” (or “I’ll use my own nameservers”) and enter the two nameserver addresses provided by your host.
- Save changes. GoDaddy will ask you to confirm (you may need to verify your identity if Domain Protection is on).
- Changing nameservers hands off DNS control to the new host.
- Wait for Propagation: GoDaddy notes that most DNS changes (A records or NS changes) take effect within an hour but can take up to 48 hours globally. Be patient (see Troubleshooting below if problems persist).
Tip: If your domain uses GoDaddy’s nameservers, you manage DNS via the above records interface. If you use other nameservers, make sure to update DNS there instead (e.g. Cloudflare’s dashboard).
Namecheap
- Log in and select Domain: Go to your Namecheap Domain List and click Manage next to the domain.
- Pointing via Nameservers:
- In the Nameservers section (under Domain tab), select Custom DNS from the dropdown. Enter your host’s nameserver addresses (e.g.
ns1.yourhost.com
,ns2.yourhost.com
). - Or, if your site is hosted on Namecheap, you can choose Namecheap Web Hosting DNS from the dropdown (this auto-sets Namecheap’s hosting nameservers).
- Save changes. This will overwrite any existing DNS records in Namecheap. (As Namecheap notes, changing nameservers overwrites custom DNS records, so you’ll recreate needed records in your hosting control panel if necessary.)
- In the Nameservers section (under Domain tab), select Custom DNS from the dropdown. Enter your host’s nameserver addresses (e.g.
- Pointing via Namecheap DNS Records: If you prefer to keep Namecheap’s default DNS and just add records:
- In Domain List, click Manage. Then go to the Advanced DNS tab.
- Under Host Records, click Add New Record.
- Type: choose A Record.
- Host: enter
@
to refer to the root domain (Namecheap explicitly notes to use@
for the root). - Value: enter your hosting server’s IP address.
- TTL: leave at Automatic (30 min) (Namecheap’s default).
- Click the green checkmark to save.
- Add another record for
www
: you can either add a CNAME with Hostwww
and Valueyourdomain.com
, or simply add another A record with Hostwww
and the same IP. Either way works. - Namecheap warns that if you have default parking records, remove them (default Namecheap parking sets a URL redirect and CNAME for
www
that can conflict). Delete any old parking or redirect records so they don’t override your new records.
- Wait for Propagation: Namecheap advises that newly created records usually take effect in about 30 minutes, and changing nameservers can take up to 24 hours (rarely more). DNS changes are automatic once saved, but you may need to wait a bit.
Provider Tip: Namecheap’s interface lets you easily switch between using Namecheap’s BasicDNS, Web Hosting DNS, or Custom DNS. Choose Custom DNS to enter external nameservers. If using Namecheap’s DNS (Basic or Premium), use the Advanced DNS tab to add records.
Google Domains
- Log in and open DNS settings: Go to Google Domains and sign in with your Google account. Click on your domain name under My domains, then click DNS on the left-hand menu.
- Add DNS records: Scroll to the Custom resource records section.
- Click Manage records (or Add new record).
- A Record (Root): Leave the Host name blank or enter
@
; select Type A; set TTL to the default (1h is common); and enter your server’s IPv4 address in the IPv4 address field. - CNAME Record (www): For the
www
subdomain, add another record: Host namewww
; type CNAME; TTL default; and Data set to your root domain (e.g.example.com.
with a trailing dot, or justexample.com
depending on the interface). - Click Save or Done after each record.
- (Optional) Custom Nameservers: If your host gave you nameservers and you want to use them, use the Name Servers section. Choose Use custom name servers and enter the nameserver addresses. Google will then direct DNS queries to those servers.
- Propagation: Google Domains notes these changes may take 1–4 hours to propagate, although it can be up to 48 hours in some cases.
Example: A support article shows adding an A record in Google Domains by using the Custom Records section. Once saved, your domain will point to the new site.
Bluehost
If your domain is registered at Bluehost or you’re connecting to Bluehost hosting, the steps depend on where each piece lives:
- Domain registered at Bluehost: Go to your Bluehost dashboard, select Domains, and find your domain. Use the DNS Zone Editor (or Domains → Manage) to add an A record for
@
and a CNAME forwww
, similar to the above methods. Alternatively, to use external DNS, under Nameservers select Use custom nameservers and enter them. - Pointing domain to Bluehost hosting: If your site is hosted on Bluehost and the domain is elsewhere, first get Bluehost’s nameservers. In your Bluehost Account Manager under Hosting → Server Information, copy the two nameservers listed. Then update the domain at its registrar to use these nameservers. After that, add the domain as an Addon Domain in your Bluehost cPanel so the server serves the site for that domain.
Bluehost’s knowledge base emphasises that after setting the nameservers, you must add the domain to your hosting account. They note: “After setting the nameservers for your domain, if the domain is not the main one for your hosting account, you will also need to add it as an Addon to your cPanel.”.
(If you’re using Bluehost’s domain manager, the DNS interface resembles cPanel’s; otherwise, use their Account Manager’s Domains tab.)
Troubleshooting Common Issues
- Propagation delays: DNS changes often take a few hours to spread. Typically, you’ll see updates in a few minutes to a couple of hours, but full global propagation can take 24–48 hours (some hosts even note up to 72 hours in rare cases. During this time, some visitors may still see the old site or a default page. You can try flushing your local DNS cache or checking from a different network.
- Incorrect DNS records: Double-check that your A record points to the correct IP and that any CNAMEs are correct. Remove any leftover or conflicting records (for example, default parking redirects or duplicate A records) that could override the new settings. Only one A record should be set for
@
(unless you intentionally have multiple IPs), and if using CNAME forwww
, avoid setting another A record forwww
. - Nameserver mix-ups: If you changed nameservers, ensure you entered all provided nameservers exactly. Using custom nameservers disables any records at the old DNS provider, so be sure any needed records (like MX for email) are set at the new nameservers. If you switched to your host’s nameservers, manage all DNS via the host’s control panel from then on.
- WordPress URL settings: If your site resolves but redirects oddly (or you can’t log in), check WordPress’s settings. Under Settings → General, update both the WordPress Address (URL) and Site Address (URL) to your new domain (including
https://
if applicable). After saving, your admin and site URLs will use the custom domain. If these fields are locked (grayed out), they may be defined inwp-config.php
; in that case, ensureWP_HOME
andWP_SITEURL
are set correctly or update them in the database. Entering the wrong URL here can make the dashboard inaccessible, so verify carefully. - Server configuration (Addon Domain/Parkings): For many hosting accounts (especially cPanel-based), simply pointing DNS is not enough; the server must be told to serve your site for the new domain. In cPanel, this means adding the domain as an Addon Domain (or Alias/Parked Domain). If you pointed nameservers to your host but didn’t add the domain, the host’s default page or a 404 error might appear. Bluehost’s guide explicitly warns that an Addon Domain is required for secondary domains to work.
- SSL certificate issues: If your site uses HTTPS, make sure an SSL certificate covers the custom domain. Many hosts (and services like Let’s Encrypt) can automatically issue a certificate once DNS points to the server. If you see a security warning or an “insecure” label after changing the domain, log into your host’s SSL or security settings and (re)issue the SSL cert for the new domain. For example, cPanel hosts often have a “SSL/TLS” or “Let’s Encrypt” option. Without a valid certificate, visitors will get a browser warning even though the DNS is correct.
- Mixed content and caching: After changing domains, clear any caching plugins or CDN caches. If some resources (images, scripts) still load over the old domain (or HTTP), you’ll get security warnings or incomplete loads. Use a plugin like “Really Simple SSL” or search and replace the site URLs in the database.
If you still have issues after 48 hours and have double-checked settings, reach out to your registrar and hosting support. They can often spot misconfigurations in DNS or server settings.
In summary, pointing a custom domain to a self-hosted WordPress site is usually done by updating DNS: either changing nameservers to your host’s nameservers or setting A/CNAME records to the host’s server. GoDaddy, Namecheap, Google Domains, Bluehost and other registrars each have their own interface, but the core steps are the same. Always allow time for DNS propagation, and remember to update WordPress’s own URL settings. By following these steps and tips, you can successfully connect your domain and avoid common pitfalls.
For the latest tech news and reviews, follow Rohit Auddy on Twitter, Facebook, and Google News.