How to Move a Single WordPress Site into a Multisite
One of the most frequent questions I get asked by my students is this: how do you move an existing WordPress site into a Multisite network?
This post answers that question and takes you through the steps you need to follow to move a site into a network. In this post, we’ll look at:
Choosing a Migration Method
Before You Start
Exporting Content from the Old Site
Creating a New Site in Your Network
Installing and Activating Plugins and Themes
Importing Content to Your New Site
Migrating Widgets
Tidying Up
Migrating Into a Network Is Easier Than You Think
Choosing a Migration Method
In this post, I will show you the easy way to migrate your site using two plugins. This has the advantage of being quick and easy, and for most sites it will migrate almost everything you need.
But if you’ve made a lot of customizations to your site using the Customizer, or you’ve spent a lot of time setting up your plugins, this method won’t migrate all of that. You can either take the time tweaking everything again (see the final part of this post), or you can manually migrate the site by copying the relevant database tables.
Migrating the database tables involves using phpMyAdmin to download database tables, editing the resulting SQL file, and re-uploading that using phpMyAdmin again. It saves you having to do any tidying up at the end but can be somewhat daunting. I’ll cover that in a separate post – if you don’t feel up to that, just follow the instructions here.
So let’s get started!
Before You Start
But wait. Before you start, there’s a very important thing you need to do. Back up your sites. Make a backup of the site you want to move AND your network. Just in case. Use your favorite backup plugin (it’s Snapshot Pro, right?).
Ready? Now you can get started.
Exporting Content from the Old Site
WordPress provides a tool you can use to import and export your content easily. Let’s start with that. Open up your starting site. Here’s mine:
In the admin screens, go to Tools > Export:
Unless you just want to export certain post types, keep the All content option selected and click the Download Export File button. WordPress will create a XML file and download it to your computer.
Creating a New Site in Your Network
Now open the network into which you want to import your site. Start by creating a new site in the normal way.
Installing and Activating Plugins and Themes
Before you import content, install the same theme you were using in the old site on your network and activate it for your new site. Do the same for any plugins.
If you’re not sure how to install and activate themes and plugins on your network, see our guide to configuring Multisite.
Importing Content to Your New Site
Now, before you import the content from your old site, go into the Posts and Pages listings in the admin screens and delete any dummy content. These are the posts and pages that get created automatically when you set up the site. Delete any widgets too. You should aim to have an empty site.
Before you can import the content from your old site, you must install the WordPress Importer plugin. Go to your Plugins screen in the network admin and install that (search for WordPress Importer).
Now in your new site’s admin screens, go to Tools > Import and scroll down to WordPress at the bottom of the list. Click the Run Importer link.
WordPress will ask you to select a file to upload:
Click the Choose File button and then select the file from your machine (it will be in your downloads folder unless you’ve moved it). Remember, you’re looking for a XML file. Once you’ve done that, click the Upload file and import button.
The importer now wants to know if you want to assign content to existing authors on your network, or import the old authors too:
Select whichever option applies to you. I’m assigning my posts to my existing username, but if you’re running a multi-author site, you may need to import authors.
Finally, select the Download and import file attachments option to copy media files from your old site and insert them in the correct place in your new one. This is one of the most useful features of the Importer. I’ve never yet come across a site where I didn’t check that box!
Click Submit and the importer will work its magic.
Eventually you’ll see the All done! message. Look at your Posts admin screen to see the imported posts: you’ll find pages too.
So that’s your content imported. Next, let’s import widgets. You can do this with another plugin.
Migrating Widgets
Before you migrate any widgets, make sure you’ve got the same themes and plugins activated on your new site as on the original site. While you’re adding plugins, install the Widget Importer & Exporter plugin and activate it on your new site.
Note: Widgets go into widget areas defined by your theme, so if you haven’t activated the correct theme, this step won’t work correctly. And if there are any widgets provided by plugins, they won’t import if you haven’t installed the plugin on the new site.
Now go to the admin screens for your old site and install and activate the widget settings plugin there too. Go to Tools > Widget Importer & Exporter to see the widget import/export screen:
The Widget Importer Exporter screen.
Click the Export Widgets button to create a download .wie export file of all your site’s active widgets and save the file on your computer
Now switch to your new site and go to Tools > Widget Importer & Exporter.
This time, we’re going to import the file you saved to your computer.
On the Widget Importer & Exporter screen under the Import Widgets section, you have two options:
You can select an upload the .wie file generated by the plugin using the ‘Choose file’ button, or
You can copy and paste the contents of your .wie file by clicking on the link.
Note that you’re looking for a .wie file this time, not a XML file.
Let’s import our widgets using Widget Importer & Exporter plugin’s Copy and Paste option.
Once you have uploaded or copy and pasted in the .wie file, click the Import Widgets button.
Then plugin will perform the import and display a list of all widgets imported into your new site under the Import Results section.
Say hello to our newly-imported widgets.
Now, got to your new site and check how similar it is to the old one:
Tidying Up
The two importer plugins you’ve used import the content of your old site to your new one but they don’t import all the settings. This means that you must make some manual tweaks before you’re done.
This might include:
Editing the site title and description.
Making any customizations to the site design you may have made in the Customizer or theme options screens.
Editing any plugin settings. Open both sites in separate windows in your browser (or in separate browsers) and check your settings for your old site, then implement them in your new one.
Checking that it has added the correct navigation menus to the correct areas in your theme. The importer plugin copies menus across, but might not have assigned the right one to your primary menu if you’ve got over one.
If you’ve got a domain you want to transfer across from your old site, you also must map that to the new site in the network. Once you’ve copied everything across, you must edit the DNS for your domain to point it at your network. You must also set up Multisite Domain Mapping properly to get things working correctly in your network.
Migrating Into a Network Is Easier Than You Think
I know from the questions lots of people have asked me about this that the prospect of moving a site into a Multisite network can be scary. But as you now know, it needn’t be difficult. In fact, bookmark this tutorial so you’ve got it on hand for the next time you want to migrate a standalone site into Multisite.
By following the instructions above, you can move your site (or your client’s site) into a Multisite network with minimal hassle.