If you set up a WordPress Multisite Network on a server with other websites on it (for example, Lawyerist Sites is hosted on the Lawyerist server, so there are a number of directories on the server. If your network is set up similarly, you will probably get frustrated trying to set up domain mapping according to the “standard” tutorial by Otto on WordPress.
Here are a few problems I solved on the way to getting domain mapping working on Lawyerist Sites.
Install the WordPress MU Domain Mapping plugin
For installing the plugin, the directions at Otto on WordPress are spot-on. Just don’t try to install it the usual way, through the WordPress dashboard. It won’t work.
Directing the domain to your network
First, you need to point a domain at your network. The easiest way to do this is by setting up nameservers for your subdomain. In my case, I set up nameservers for lawyeristsites.com, because it will be relatively easy to help our customers point their domains at our server from their registrar. Most will not actually have hosting, so we will simply set up email forwarding or set them up with a Google Apps account. (It would be relatively simple to redirect mail servers back to a customer’s server, if they want to host their own email.)
This seems easier than talking people through setting up A records or CNAME records. And if I ever need to move the server, I can redirect the nameservers without our customers having to do anything.
If you aren’t sure how to set up nameservers, consult your own domain registrar (for the domain you want to use as a nameserver). They should be able to help you do it, or do it for you.
Once you have set up nameservers for your subdomain, visit the domain registrar and update the nameservers for the domain you want to map to your Multisite Network. In other words, make sure your domain — in our case, lawyeristsites.com — is using your nameservers.
Adding on a domain
Now, log into your server’s control panel (mine uses cPanel, so that’s what I’m used to) and add on the new domain. This is where Otto’s tutorial gets vague.
The key is to create an add-on domain and set the Document Root field to the same directory as your network’s installation directory. So if your WordPress Miltisite Network were installed on
public_html/network, and the domain you want to map is newsite.com, you would create an add-on domain for newsite.com and put
public_html/network in the Document Root field.
Mapping the domain
Now, you can pick up with Step 4 of Otto’s tutorial, starting at the third paragraph.
If, for some reason, you map the domain before updating the nameservers (or before the updated nameservers take effect), you may get some unusual behavior. It will go away as soon as the nameservers resolve, though, so don’t worry too much about it.