How to Map Domains in WordPress (Domain Mapping)
Are you trying to point multiple domains to a single WordPress installation? Do you want to display unique content for each domain and have it all easily managed in one site?
Domain mapping is the solution!
Many people looking for a solution like this don’t often know what to call it, so here are a few of the most common ways I’ve heard of people referencing domain mapping:
- Multiple domains in one WordPress site
- Managing two domains in one WordPress site
- Pointing multiple domains to a single WordPress site
- Showing content for a different domain on the same WordPress site
Whatever you decide to call it or how you want to use it, it’s not wrong! Domain mapping can be used in so many unique ways that can achieve all the goals above.
In this article, I’ll share the best ways to map multiple domains in WordPress, and how it can super-power your WordPress site based on your unique needs.
What is Domain Mapping?
Domain mapping is the process of directing traffic for multiple domains within one WordPress installation.
Why would I need multiple domains on my WordPress website?
There are a lot of reasons why you might want to manage multiple domains in a single WordPress website. Here are a few use-cases to give you an idea of why this might be useful. Domain mapping is great for:
- Building a custom landing page with its own domain to target a specific audience for a product/service.
- Creating pages on your site with a different domain for each language or country, without using a translation plugin.
- SaaS or WaaS products that give users the option to bring their own domains or provide vanity URLs.
- Multisite networks using WordPress multi site capabilities.
This is not a complete list of what you can do with domain mapping, so you may find other creative use-cases and ways to take advantage of it.
How does Domain Mapping Work?
Let’s assume you have two domains. You can point both of those domains to the same WordPress website, and by mapping the domains, you can manage content for each domain from within the WordPress install.
Each domain can be used to show a specific post, page, custom post type, or an entirely different “sub-site” altogether (in the case of multisite networks).
Effectively, this organizes your site into “sections” based on each domain.
This graphic gives a good example of a domain mapping structure with 3 domains pointing to a single WordPress site:
In this case, domain2 and domain3 would be the mapped domains. The WordPress site would display content from the corresponding landing-page and product-page assigned to each domain.
This is a bit different from a multisite network, which is more complex and might be structured like this:
The key here is that, in either the case of domain mapping or a multisite network, the URL bar will show domain2.com and domain3.com or each designated page or “subsite”, so the user will be visiting a different domain, but the same core WordPress install.
It’s important to note that domain mapping isn’t something that works out of the box with WordPress. By default, each WordPress installation is set up for one domain and must be configured properly to handle multiple domains being pointed to it.
Prerequisites for Domain Mapping
There are a few things you need and bits of information to know before you start mapping domains to your WordPress website.
Buying your Domains or configuring Subdomains
You’ll need to purchase your primary and secondary domains, or create a subdomain of your primary domain.
A subdomain is a prefix to your primary domain, like “support.your-domain.com”.
Domain mapping can be used with primary domains and subdomains, depending on which of the solutions you decide to use below.
Configuring Name Server + DNS Records
It’s vital to properly configure Name Server and DNS Records for all the domains or subdomains you’re mapping.
If you have trouble with this, I suggest taking a look at this video to help:
Configuring your Server
Your server will need to be configured to handle domain Aliases in the case of a secondary domain, or subdomains.
If you’re using cPanel, a common server management interface provided by many hosting companies, you can go these apps to configure the domains very easily:
Setting up your WordPress Website
The last step is setting up your WordPress website to properly handle the domains being mapped to it. This is where you may need to configure your core WordPress configuration or install a helpful plugin to make things easier.
Let’s go through some of the options available.
Methods for Domain Mapping in WordPress
Historically, domain mapping in WordPress was dominated by the need for a Multisite Network, which is a method of creating a network of sites that have their own administrators and users separate from each other and the primary site on the network.
This is how WordPress.com is built, and many other projects that allow you to create a blog using a subdomain of their network.
There are now other methods available that make mapping domains to your WordPress site much easier and less complex than a multisite network, or even custom coding your solution yourself.
Option 1: WordPress Multisite Network
❌ Complex to Set Up
❌ Difficult to Manage
If you’re interested in creating a WordPress multisite network, you can follow these steps from WordPress.org.
The process involves configuring your WordPress website to handle multiple domains using subdomains or subdirectories for each site on your network.
After you’ve finished the complex setup process, you’ll be able to easily switch between sites on the Network on the top left of your Dashboard, as featured in the Network Admin Settings.
Multisite networks will effectively give you multiple WordPress websites using different domains or subdomains, and allow you to manage them separately in some ways.
The complexity arises when it comes to plugins and themes, the limits of plugin licensing for multiple WordPress websites, and other limitations presented by multisite networks.
For instance, you may not want to create a whole separate subsite in order to manage two domains on your site. This means you’d have to constantly switch between them to manage the domains and the content on them, which can be a pain if you have a lot of content.
Also, if you’re using premium plugins that give you features for your site, you often won’t be able to use those features across your multisite network, as most plugins require a unique license for each site.
For the plugins and themes that do work across your network, you’ll be able to customize the settings for them individually only if they’re properly configured for multisite networks, otherwise changing a plugin setting on one site might affect the entire network!
Option 2: WordPress Plugins
✅ Easy to Set Up
✅ Easy to manage
Domain Mapping System
Using a plugin like Domain Mapping System, you can easily manage mapped domains to your WordPress site and point them to specific posts, pages, products, or other custom post types of any kind.
Domain mapping lets you manage a lot of domains in a single WordPress site without having to switch between “sites in your network.”
Step 1: Select the Available Post Types for Mapping Domains
After configuring your DNS Records and server properly, all you need to do is install the plugin, and activate the post types you want to map domains to:
Step 2: Enter the Domain You Want to Map
Enter the domain you want to map in the field, and select the post, page, product or custom post type you’d like to appear for that domain.
Then, open the mapped domain in your web browser, and you should see the URL bar showing your mapped domain, but the content from the designated post type will appear on the page.
The plugin’s documentation has some other expert tips and items to be aware of during the configuration process.
Let’s move on to the last option available for mapping domains to your WordPress website.
Option 3: Custom Coding your own Domain Mapping Solution
❌ Complex to Set Up
❌ Difficult to manage
The best part about WordPress is that it’s fully customizable! You can customize your domain mapping solution however you want – if you have the skills to to customize the code on your own.
Just like multisite requires some fancy customizations for WordPress, you’ll need to follow a few key steps to get it working properly.
However, every server environment and setup is different, so while we can’t foresee the wide variety of domain mapping solutions you might need to build or customize, here’s what you need to be aware of:
- NGINX or Apache require server-side customization for each domain or subdomain that you’re setting up.
- NGINX or Apache can communicate with your WordPress website via the WordPress REST API, depending on the approach you want to take, in order to establish the proper domain mapping for each post type on your site.
- You’ll likely need to make customizations in the .htaccess, wp-config.php, and page template files of your WordPress installation.
- Sitemap indexing will not be automated with Yoast SEO for any additional domains you want to map (like other plugins and multisite support).
Where to Go from Here
Mapping domains in WordPress isn’t always easy, but hopefully the tools above can get you started. Whether you choose to use the more advanced approach of a multisite network, or a simplified approach with a WordPress plugin, you have many useful options available to get you started – it’s just a matter of finding the right fit for your needs and considering how long it will take to set it up.
If you are a developer or have a developer on your team, you can always go the more advanced route of custom coding your own solution, but most unique use-cases already have solutions available and existing options are often satisfactory in the WordPress space. Feel free to get in touch with questions or comment below, and thanks for reading!
Nice informative article thanks. I am intrigued that you have not included management plugins like MainWP under Option 2 as alternatives to Domain Mapping System. I’ve used Multisite for some time and have recently migrated to MainWP – so far so good.