Setting up WordPress MU Domain Mapping on GoDaddy

I recently worked with a client to help move a GoDaddy “WebsiteTonight” website into WordPress. In the process, I recommended that she turn her existing WordPress website into a multisite installation, set up her second site as another site in that install, and then set up domain mapping to give each of the websites a separate domain name.

This setup allows her to login a single time, and be able to switch back and forth between the sites to perform edits. It also makes it simpler to manage plugins, update WordPress and keep the theme consistent between the two sites.

The problem was, the website is hosted on GoDaddy. After searching Bing for a while to see what the potential problems might be, and to see what solutions other people had found, I started to get a little worried. A lot of articles indicated that they’d had to purchase a dedicated IP from GoDaddy, some even said they’d completely failed to get it set up properly.

As it turned out, though, I was worried for nothing, really. It was a frustrating process, simply because of how unfriendly GoDaddy’s account control panel is; but it was basically straight-forward.

To get WordPress MU Domain Mapping set up, I first went through the steps to convert the original installation into multisite. Then, I followed these steps (filtered a bit to leave out the steps that were unsuccessful or had no impact):

  1. Set up the new site in WordPress.
  2. Imported all of the content for the new site.
  3. Made sure that everything was working fine on the new site.
  4. Installed the WordPress MU Domain Mapping plugin using the plugin installer built into WordPress.
  5. Copied sunrise.php from the plugin’s folder into my wp-content directory.
  6. Went to Settings -> Domain Mapping in the Network admin area for WordPress; entered the IP address of the host server (I found out that this setting doesn’t really do anything, so don’t be afraid to fill it out – you can even put random numbers there if you want – the setting is strictly used to show site administrators what the IP address should be when they use their hosting control panel to map the domain). I also chose the options “User domain mapping page” and “Redirect administration pages to site’s original domain (remote login disabled if this redirect is disabled)” and unchecked all of the others.
  7. Went to Tools -> Domain Mapping in the Admin area for the new WordPress site and added the domain name that I wanted to map. I did not set it as Primary, yet, as I wanted to make sure the old address worked until I actually had the domain mapped properly. Setting up the domain before I mapped it, though, helped to make sure it did map properly once the DNS settings propagated.
  8. Went into the GoDaddy account control panel (My Account -> My Products).
  9. Followed the steps to associate a different domain name with the Website Tonight website (in this client’s case, they owned 5 domain names that were all similar, 4 of which were not being used for anything, so I was able to assign one of those to the WT site). I needed to perform this step, because GoDaddy wouldn’t let me complete step 12 until this was done.
  10. After waiting a few hours for all of GoDaddy’s servers to catch on to the fact that I had disassociated the desired domain with WT, I went back to My Products -> Web Hosting in the GD control panel and clicked “Launch” for the account that hosts WordPress.
  11. On that page, opened the Settings tab and clicked on Domain Management.
  12. I clicked the “Add Domain” button in the top right of the domain management screen and entered the domain name that I wanted to map to WordPress. After about 2 or 3 hours of waiting (and, oddly, of the domain name pointing to 3 different places in the process), it finally started pointing to WordPress.
  13. Went back into Tools -> Domain Mapping in the WordPress admin area for the new site and updated the domain so that it would act as the Primary (causing any other domains mapped to that site to redirect to it).

While the first three steps aren’t necessarily part of the setup process for WordPress MU Domain Mapping, you really should make sure they’ve been done before you try to setup the plugin. Otherwise, any issues you encounter will be much harder to diagnose (because you won’t know if the issue is related to WordPress or the plugin).

I am fairly certain that this process used to be a lot more complicated (in the early days, I think it might have even required edits to core WPMU files); but it is extremely simple, now. Since the instructions have changed so drastically over the years, be careful which articles and tutorials you read on the subject.

The plugin does not require any sort of wildcard subdomains to be set up (even when using WordPress Multisite in subdomain-mode, it doesn’t actually require wildcard subdomains; you just need to create each subdomain manually in your host’s DNS settings), nor does it require a dedicated IP address. It really only requires that your host knows where to point each domain name once it’s sent to the DNS.