As an “advanced beginner” student of WordPress, my ambitions regularly outstrip my technical abilities. Sometimes it seems “everything” I want to do is hard, confusing, or unfamiliar. So converting my individual WordPress installations (including this website) to a single WordPress Multisite installation didn’t seem any more difficult than anything else I’d attempted.
It wasn’t…and it was. The individual steps were easy, but my own ignorance and inexperience combined with conflicting and incomplete instructions made the process harder. (As a technical writer, this was especially frustrating.) I love WordPress, but even its own Codex is lacking on this subject. But I’m a sucker for a learning experience, and always seem to do things the hard way, which pretty much guaranteed I was going to jump in anyway and see it through no matter what. Thanks to a can-do attitude, and a certain naïveté, I got most of the way through the process before I had to ask for help.
I hereby present a much more – shall we say – realistic and complete experience in migrating to WordPress Multisite, in four phases. Ironically, it’s probably just as confusing and incomplete as the instructions I read, which makes me somewhat more sympathetic to the original how-to authors. (But only somewhat, because they claim to know more than I do, so they should know better.) Feedback to improve the instructions is welcome. (Here’s the stripped-down list of steps I assembled, if you want to skip my agonized commentary.)
How To Migrate to WordPress Multisite, The Stupid-to-Think-It’s-Simple Way
WHY THE HELL
- Identify what annoys me about my current setup.
- Determine if WPMU will make those things less annoying. (Yes.) (This is the section everyone titles “Why Multisite?”)
- Check out alternatives to Multisite, i.e. plugins that will allow me to manage multiple sites. (Good, but most aren’t free and won’t solve my disk space problem.)
- Draft a good explanation as to why I’m doing this because people are going to think I’m nuts and if I have a good answer they are more likely to help me. (Reasons why: disk space, easier maintenance, theme and plugin efficiencies, specific theme changes I want, big learning opportunity.)
- Do an inventory of my sites to see what I’ve forgotten about and whether it would really be efficient. (Yes.) The inventory is a table that looks something like this:
- Confirm there are WPMU-compatible versions of the plugins and themes I want to use. (Yes.)
- Do a fast skim/read to get a sense of what’s involved in migrating to WPMU. (Editing files, copying files to server, backing up, exporting and importing, etc.)
- Ask self, Am I technically capable of doing those things? (Yes.)
- Ask self, Do I have the necessary tools and access to do those things? (Yes.)
- Ask self, Can I get help if I get stuck? (Yes.)
- Ask self, Am I fine with sites being down for awhile if I get stuck? (Yes.)
- Ask self, Am I fine with starting over from scratch in case something goes horribly, terribly, disastrously wrong? (Yes.)
- Make the decision to migrate to WPMU.
- Field questions.
- Doubt self.
- Carry on anyway.
HOW THE HELL
- Do a deep read of the steps involved in migrating. Be confused and annoyed by conflicting, omitted, and out-of-order steps. (I can’t tell you how often I read, “Oh, and don’t forget to do this before you do that.” WELL THEN WHY NOT LIST IT IN ORDER IN THE FIRST PLACE.)
- Develop strategy to avoid being driven insane by this confusing multiplicity of steps.
- Write each individual step down on its very own sticky note.
- Arrange the sticky steps in a logical order on a large piece of paper.
- While researching, add and rearrange stickies repeatedly to accommodate yet another thing someone forgot to tell me to do earlier.
- Check with web hosting service to see if they support WPMU. (Yes.)
- Kick self for not doing this obviously critical step earlier. (Did I mention omitted steps?)
- Ask if my sites need to have different IP addresses. (No. Did I mention omitted steps?)
- Decide on subdomain vs. folder configuration. (Default for converting existing site is subdomain.)
- Write down or screenshot any plugin settings I need to. (Where the heck is that Akismet email?)
- Delete quarantined spam comments — no need to bring those forward.
- Use https://sucuri.net/ to ensure my site hasn’t been hacked or infected before I back everything up.
- Back up everything six ways to Sunday (not an exaggeration).
- Export contents of each WordPress install using either a plugin or native WP Export (Tools > Export) to create and/or verify a WXR and/or an XML file.
- Disable plugins so they can’t interfere with the migration.
- Pause to learn the origin of the Hello Dolly plugin. Huh.
- Now — FINALLY!!! — the fun part: activate Multisite in my existing WP installation.
- Edit the wp-config file per instructions (found here, here and elsewhere on the Internet — use your best judgement as to the freshness, quality and authority of the source).
- Use Tools > Network Setup > Install Multisite.
- Backup wp-config.php & .htaccess files a second time because I’m overcautious and second-guessing.
- Add lines to wp-config and .htaccess files per instructions.
- Clear the cache and cookies.
- Log in again.
- Go to My Sites > Network Admin > Sites > Add New.
- Create Site2.mainsite.com.
- Cheer cautiously!
- Fail to access the dashboard of the new site. (Bummer.)
- Research frantically on Google.
- Try three stupid and less-likely fixes which don’t work.
- Try the obvious fix next which does work: creating a wildcard sub domain via my web host’s cPanel setup.
- Succeed in adding a fully functional subsite.
- Cheer with more confidence!
- Create Site3.mainsite.com.
- Create Site4.mainsite.com as a test and sandbox and because I just can’t get over the fact that OMG it actually worked!!!
- Configure Twenty-Seventeen as the default theme until I figure out WTF I am doing.
- Install Theme 1 used by sites (parent and child) > Network Enable.
- Install plugins used by sites (MU compatible) > Network Enable.
- Delete dummy content and widgets to get empty sites.
- Install WordPress Importer plugin > Network Enable.
- Import XML files (Tools > Import > WP > Run) into the appropriate subsites.
- Skip unthinkingly past the “what do you want to do with all these users” screens.
- Wonder what I will have to clean up later.
- Make what seems to be the best choice about assigning posts to users and wonder if I got it right.
- Choose to download and import attachments.
- Check to see that everything got imported correctly (YAY it did!!!!!).
WHAT THE HELL
- Attempt to map domain names to their new sites using native WP domain name hookup.
- Fail miserably.
- Shrug shoulders.
- Install WP MU Domain Mapping plugin.
- Try again to map domain names to their new sites.
- Fail miserably.
- In a furious, self-recriminating frenzy, make lots of other changes, some on purpose and some at random, which I don’t even remember but which basically involve aliases, redirects, subdomains and nameserver changes. (Not recommended.)
- Admit defeat and ask for help from Nohl Lyons of Focus Webworks, who awesomely untangled the mess I’d made and got things working again, probably without even breaking a sweat. (Apparently there was something I forgot to add to .htaccess and there was a domain name setting that needed changing and I don’t even remember what because I am so thoroughly sick of my website project and sick of myself for getting into it that I don’t even know, I don’t even know, I just don’t know. All I know now is that it works.)
And there’s still more steps that most how-tos forget to include.
- Uninstall any plugins used for the migration that are no longer needed.
- Clean up any backup or temporary files used during the migration. (Give into paranoia and tuck them away in a folder despite SIX BACKUPS.)
- Delete a bunch of unused large header images.
- Uninstall the separate WP installation of Site2 now that I feel more confident about the migration.
- Worry desperately that it will affect my Multisite install the way MS Office products get upset when you change other things.
- Breathe big sigh of relief when all is well.
- Go through a “hardening WP” checklist to do the necessary to secure my sites.
- Clean up extra users for each site and change passwords for the users I keep.
- Learn enough about parent and child themes to create a child theme from Theme 1 and make specific changes and get rid of annoying theme “features” I’d been wanting to change for a LONG time.
- Look at every CSS file on the server trying to figure out where the hell does the custom CSS live? Oh, in the database. Why? Every other CSS lives in a file! I just don’t know.
- Kludge enough CSS to turn red things blue. Awesome!
- Wonder whether or not I bought the premium version of Theme 2. (I did, had to download it again.)
- Try to upload the theme.
- Calm server down when it barfs up the too-big file.
- Unpack the theme, recreate a fussy folder scheme and upload files in stages to the server.
- Wonder again whether this stupid theme was worth all this bother.
- Remind myself of LEARNING OPPORTUNITY. Plus ALMOST DONE.
- Get Theme 2 set up pretty much the way it was before. Whew!
- Use PageSpeed Insights from Google for the hell of it to see what else I can clean up.
- Try out my refreshed websites by writing posts again because I CAN! YAY!!!
- Find and watch a truly helpful video I did not find before beginning this whole process. (Of course.)
Was the migration to Multisite worth the time and aggravation? So far, yes. I’ve already saved a lot of disk space. It’s easier to log into all my websites in one session, which encourages me to post and do necessary maintenance on the regular for each one.
Equally important, doing the migration gave me a sense of accomplishment. It spurred me to finally start learning about parent and child themes and CSS. I’ve already applied something I learned about CSS to a work project. I feel like I’ve taken ownership of my websites in a way I hadn’t before. I learned a lot about WordPress and about myself in the process.
If readers can learn from my mistakes, I’m even happier.
A few of the many, many, many helpful resources I consulted:
- Before You Create A Network – WordPress Codex
- Taylor McCaslin: Best Friend or Worst Enemy – Multisite Do’s and Don’ts (video)
- 7 Tools To Manage Multiple Sites From Single Dashboard
- The Ultimate Guide to WordPress Multisite
- The Ultimate Guide to Domain Mapping with WordPress and Multisite
- WordPress Security: The Ultimate Guide
WordPress sticker image courtesy of wpmxday on Flickr / hiveminer.com