After spending several hours poring over a variety of sites, tutorials, forums, and FAQs, I was able to get the following configuration working on my main site and all subdomains:
This guide will cover how to setup custom domain mapping for subdomains on a WordPress 3.0+ multisite platform using the WordPress MU Domain Mapping plugin. There will be a separate guide for setting up Thesis 1.8 on those subdomains.
Getting started
First, I’m assuming that you have a functional install of WPMU or WordPress 3.0 with multisite enabled, and are somewhat comfortable with:
- making simple modifications to code (PHP, CSS) files, and
- changing DNS settings
If you’re new to WordPress, or especially if you’re new to the multisite functionality in WordPress 3.0+, then this tutorial is probably not for you. We will be making changes to core files and DNS settings — if you make a mistake you can bring down and seriously bork your site. Probably not something irreparable, but more than a minor annoyance.
Also, I would recommend at least a passing familiarity with FTP software and text editors.
Still here?
Okay, let’s get started…
Installing WordPress MU Domain Mapping
The WordPress MU Domain Mapping plugin permits users of a WordPress MU site or WordPress 3.0 network to map their blog/site to another domain.
This plugin must be installed manually – it will not work correctly if you try to use the Plugins -> Add New functionality from your dashboard.
Here’s how to do it:
- Download the plugin and unzip it.
- Upload the plugin to
wp-content/plugins.

- Go to Plugins, then Network Activate the plugin.
- Now you need to edit your
wp-config.php file. This file is typically located in the root of your domain (e.g. “public_html/”).

- Uncomment the SUNRISE definition line:
define ('SUNRISE','on') - If you don’t see the SUNRISE definition line on your
wp-config.php file, then add it to the line above the last "require_once"command. - The COOKIE_DOMAIN definition will conflict with logins on your mapped domains, so go ahead and comment this out as well:
//define('COOKIE_DOMAIN',")
Setting up DNS for your subdomains
I use separate providers for my domain registration and my WPMU hosting, so the steps below are what I used to get everything up and running.
Your steps may vary depending on your setup and the tools offered by your domain registration and hosting providers, but the general process is the same.
FYI, I like to keep Network Tools handy during this process so I can make quick checks of the DNS settings.
Here we go…
- Login to your domain registrar and edit the DNS settings for the domain (mysite.com) you want to point to the WordPress subdomain (mysite.mywordpress.com).
- Change the nameservers for the domain (mysite.com) to the nameservers of your hosting provider. For example, ns##.domainregistrar.com would change to ns##.webhosting.com.
- Login to your hosting provider and park the new domain (mysite.com).
- Wait. It can take anywhere from a few minutes (typical) to a few hours (unlikely, but possible) for all of these changes to propogate throughout the system, so go grab a cup of coffee and check everything when you get back.
Now that everything is resolving correctly, we can go back to WordPress…
Configuring the WordPress MU Domain Mapping plugin
- Go to Network Admin -> Settings -> Domain Mapping to create the domain mapping database table and set the IP address to point your domains to (this is the IP address for your site, provided by your hosting company).

- You can learn more about the Domain Options on this page from the plugin page, but here’s a quick overview (thanks, Otto!):
- Remote Login: This will make your login pages for all sites redirect to your main site to do the actual login. The benefit of this is that when you log in to one, you log into all of them. The downside is that the URL changes to another domain in order to log in.
- Permanent redirect: This makes your subdomain or subdirectory sites redirect to their domains. You should leave this on.
- User domain mapping page: Turn this on if you want users to be able to put in their own domains for mapping.
- Redirect administration pages to blog’s original domain (remote login disabled if redirect disabled): This makes all admin pages show up on the original domain instead of on the new domains. You need this enabled for remote login to work.
Once the plugin is configured, it’s time to actually map your domain!
Mapping your domain
The simplest way to map a domain to one of your sites is through the user dashboard.
- Log into the site (mysite.mywordpress.com) you actually want to map to a new domain (mysite.com), then go to Tools->Domain Mapping.
- Put in a new domain and set it as the primary.

- Click the Set Primary Domain button.
That’s it! You should now have your domain (mysite.com) redirecting to your WordPress subdomain (mysite.domain.com). Hoorah!