03 Nov Mixing mapped domains and sites
As you may already know, this blog is a domain mapped blog on a WPMU site. So is ronandandrea.com, our consulting site. It's very handy to login with the same username, and only have one codebase to deal with.
We do have other domains, client sites, & sites under dev on the install, but I'll leave it at those two for the mentions for now.
One question I get asked is if you can use the domain mapping and multi site plugins together on one install. Sure you can! In fact, some of our time was taken up recently by moving my personal blog which has over three thousand posts, and my mom's blog, which also had a number of posts and attachments. Both of these were separate WordPress installs in the same server, both in subfolders.
A quick overview:
- backups. Lots and lots of backups. I backed up both databases, both wp-content folders from both sites. I also grabbed Export files from the backend using the Advanced Export plugin, because like I said above, there was a LOT of content.
- since I was already a user on the new system, I didn't have to add myself.
- made a new Site in WPMU
- since the old site was live with traffic, and the new site needed a LOT of work that was going to be done here & there, I added a record to my computer's hosts file to the IP of the new site. This means that after adding the Site in MU, the only person who could see it, access it, or even know about it was me. Each time I needed to go back to the old site for something, I had to un-do that hosts file edit. I tried to plan accordingly and do things in batches.
- I imported the main site domain's posts first. We had some technical issues with uploads, so we wound up using the database backup. Good thing we'd already done this! While we were in the SQL, we cleaned out post revisions, spam comments and tables from plugins long since deleted. I like to use an interface, so I imported the entire database into a local copy of phpmyadmin. I was able to rename the database tables under the operations tab when browsing each table. Ron ran through the database changing the image upload paths, because we knew they'd change. He also imported these new tables into the new site, replacing the empty ones.
- I then checked the blog. Sure it had the default theme, but everything was now there. I moved over the themes and plugins, skipping the ones already in the new install. I did the other blog's themes & plugins folders at the same time, since I was already logged in to the server via ssh. It was much more efficient to transfer large amounts of data this way, from one server to another.
- Once my blog was up and running, we did the same database changes to my mom's blog. On the new site, I added her blog from the backend so we'd know what the blog ID would be. once again, I double-checked everything.
- when all seemed moved over, I went to my domain registrar and changed the DNS records to point to the new site and went to bed. in the morning, after making sure my local hosts file was adjusted to show me the live site, I checked to make sure it really was live on the new site - and it was! 😀
My old blog was installed in a subfolder called 'blog' with the index file of the site calling in wp_head. This time, it's technically the "main" blog, but to maintain links, I changed the setting under Settings -> Reading to show a different page on the front and to use the "Blogs" page to show the posts. The only extra I did was make a blank Page called blog. I still want to make a home.php page for my template to let visitors to the main domain know about other blogs under AtypicaLife.net.
Now I can add new blogs to my second site with a click of a button. The signups are closed to the public, but since some of my family members were already users, or newly added, I've allowed them to set up new blogs as well. Since then, we've started one for my oldest daughter to relate her tales from her first year at college, a group blog with recipes, and there are plans for a genealogy blog for my uncle and mom. This way, users of one blog don't interfere with the management of another blog. I could have had a multi-author blog and strict categories, but this saves user from accidentally posting to the wrong area. They also have their own space and can change themes and play with plugins and widgets all they like.
Yes, this was quite a bit of work to get moved over, partly because of the established blogs. But? It has been SO worth it. The amount of time doing this would still be less than maintaining half a dozen separate installs of WordPress.
I'll be going over this in detail at one of my sessions at WordCamp New York. Will I see you there?