How to Use Domain Mapping When You’re Not Running Multisite

How to Use Domain Mapping When You’re Not Running Multisite

Mapping domains super easy in Multisite. It lets you create as many sites as you want in one WordPress installation and then make them all behave as if they’re separate sites on their own domain.

But sometimes you want to map a domain when you’re not running Multisite. Say you’ve created a site in its own WordPress installation somewhere on your server, maybe in a sub-directory, but you want to direct it to an external domain name. You want the custom domain name to show up in the browser, instead of the primary domain with the sub-folder or sub-domain showing up.

By default, the domain mapping functionality only works with Multisite setups, so you can’t use that to map domains within a single WordPress installation. And if you’re on hosting accounts that allow only one domain, you can still bypass that restriction with this method.

The good news is that you can map a domain to a sub-directory on another domain, so it works in just the same way. We’ll be doing this by using cPanel and changing some WordPress settings.

In this post, I’ll show you how to do it.

This consists of four steps:

  1. Register the domain and configure it to point to your server if it isn’t already.
  2. Add the domain to your hosting account, using cPanel.
  3. Wait for your DNS changes to take effect.
  4. Edit the URL and settings in your admin screens.

So let’s step through the process.

1. Register the Domain and Point it to Your Server

You can’t do any of this without a domain registered. So begin by registering a domain with the registrar of your choice.

If you register it with your hosting provider, it will automatically direct to their nameservers, so you won’t then have to configure it to point to your server. You can go straight to Step 2.

But if it’s registered elsewhere, for example, if you use different providers for hosting and domains (which can be cost effective and spread risk) or if a client has registered the domain and you’ve created a site for them, you’ll need to configure the DNS settings for the domain.

Go to your domain registrar’s admin screen and edit one of the following options:


If you want every aspect of the domain to point to your hosting server (which for most of us means the domain itself and any email addresses associated with it), then change the nameserver.

I use Big Wet Fish for my domains: here’s their admin screen for changing nameservers:

Big Wet Fish nameserver editing
The admin screen for changing nameservers on my domain.

The screen for your domain registrar will look different but will be essentially similar. You get the nameservers from your hosting provider – they’ll send these when you sign up and you can find them in their admin screens or on cPanel. I use Siteground for my hosting, and they display their nameservers in cPanel:

nameservers displayed in cPanel

That gives me the values I need to add to my registrar’s nameservers admin screen.

Note: If you want to direct a domain to your nameservers but have your email hosted elsewhere, and you’ve directed the domain to your hosting provider’s nameservers, then you need to edit the DNS for email (or the MX records) in your hosting provider’s admin screens.


I’ve mentioned above that if you don’t want your domain’s email address hosted with your hosting provider, you can edit this on your hosting account. This means that your DNS for email will redirect twice. If you want to avoid this and either keep email with the domain registrar or direct it somewhere else (such as Gmail) from your registrar’s admin screens, you can do this by editing the CNAME value for your domain instead.

The CNAME points to the domain you want the original domain to redirect to. So if you want to point to, you’d add in your domain registrar’s admin screens.

Here’s my registrar’s DNS admin screen, showing the options you have:

[DNS editing]

DNS editing showing options for DNS management

If you use the CNAME, simply select CNAME and type the address for the new site on your hosting (i.e. in the Address field. The domain will automatically point to the right place and you can skip the next step which is creating the add-on domain.

A Record

Another option is to configure the A record for your domain to point to the IP address where your hosting is.

Like the CNAME record, this only affects the website, not email. Use the same DNS screen as you would for the CNAME, select A and type in the IP address. Your hosting provider will give you this or you’ll be able to find it in cPanel or your hosting admin screens.

Note: If you do this you’ll still need to set up the add-on domain.

2. Create an Add-on Domain

You can skip this step if you used the CNAME option above.

In cPanel, which your hosting provider will give you access to, go to the Domains section:

domains section of cPanel

Select Add-on Domains. This will take you to a screen where you need to enter the domain name that you’ve directed to your server:

configuring an addon domain

Type the URL of the domain (without http or www) in the New Domain Name field and the sub-directory where your site is stored in the Document Root field. So using the example above, I’d type and mydomain, respectively.

If you want to create an FTP account for this site, then add the details in the FTP Username field. Create a password for your new domain and click on Add Domain.

3. Wait for DNS to Take Effect

This can take anything from moments to a day or even two, and you have no control over it. You simply have to wait for your changes to propagate, which means that they’re picked up by web servers around the world meaning that your domain will be redirected correctly.

If you want to keep an eye on progress, check out the whatsmydns site, to see where in the world your DNS is resolving correctly. Here’s my site’s DNS: shows my site's name servers
My site’s DNS.

Note: My DNS points to CloudFlare because I’m using that with our Hummingbird plugin for performance.

If there are any problems, this is a useful tool to track them.

4. Amend Site Settings

Once you’ve redirected your domain, created an add-on domain and the DNS changes have taken effect, the redirect will work. When you type into a browser, you’ll be taken to

But the URL in the browser will still show up as You want it to show up as

To change this go to Settings > General in your WordPress admin screens. The two fields you need to edit are WordPress Address (URL) and Site Address(URL):

editing site url and WordPress url in settings

Right now, both of these read Edit them, so they read, then click Save Changes.

Because you’ve changed your site’s domain (and cookies won’t work), you’ll probably have to log in again. If you find your site doesn’t work properly, then clear your browser cache. Once you’ve done that you’ll find that your domain is mapped to your new site in just the same way as it would be with Multisite domain mapping.

Mapping Domains is Easier Than You Think

By following these four steps, you can map a domain you’ve registered to a sub-directory of your hosting account. It’ll behave as if it’s hosted along with the domain. This can be useful if you need to direct a second or alternative domain to your site. You can safely create multiple instances of WordPress on your hosting account without having to set up multiple hosting accounts, each with their own domain. This will save you money while getting the same results.

Get mapping!

Rachel McCollin
Rachel McCollin Rachel is a freelance web designer and writer specializing in mobile and responsive WordPress development. She's the author of four WordPress books including WordPress Pushing the Limits, published by Wiley.
Salman Ravoof
Salman Ravoof A self-taught web developer, writer, and creator. He finds science, philosophy, technology, and food exciting. When he's not busy exploring the dankest memes on the web, he can be found petting cats and cooking delicious meals. And sleep, lots of it!
Got a question about what we've covered in the post? Don't hesitate to ask in the comments below.