Importing & Exporting WordPress Sites To and From a Multisite Install
One of the most common questions about using WordPress Multisite is, “Can I import an already existing site into Multisite?”
Similarly, another common question is, “Can I peel off a site on a Multisite install and turn it into a single installation?”
The answer to both of these questions is yes, and we’re going to go through how to do that in this post. Essentially it’s as easy as using the Import/Export functions found under the Tools menu in your WordPress admin area.
What Gets Imported
While WordPress will import most things from one site to another (such as users, posts, pages, categories, media files, and more), it won’t import everything.
More specifically, it won’t automatically import your plugins or themes. It also won’t import some of your settings, things such as your permalinks structure, the title of your site, or your timezone settings. You’ll have to go into your new site and set these things up again.
The following table should help you keep track of what will and won’t get imported automatically for you. The order follows the menu order that will find in your admin area; however, you can sort the table how you like.
|Menu Items||Import - Yes/No|
|Header||Yes and No* (see below)|
|Background||Yes and No* (see below)|
|User Roles||No (all users will be subscribers by default on the new site)|
|User Passwords||No (you must update all user passwords)|
|Settings||No (nothing in the Settings section will be imported)|
* WordPress will import any media files (e.g. header image or background image), but it will not automatically apply those images. It will not import the settings for colors – e.g. if you have set your background as a certain color, it will not import those settings.
Also, there are some plugins that may be able to help you such as the Widget Settings Importer/Exporter.
Video of the Process
We have both a video of the process and a detailed step-by-step text tutorial for you. Here’s the video.
Exporting a Site from a Single Install and Importing It to a Multisite Set Up
I. Exporting Your Site
Go to Tools > Export, choose what you’d like to export via an XML file, and then hit “Download Export File.”
You’ll save this file onto your computer and then import it into the new site.
II. Importing Your Site
Some of the information below about usernames can get a little confusing. However, the nice thing about Multisite is that you can add and delete sites at will. If things get too confusing and consequently get a little messed up, you can always delete a newly created site and then start over.
With that said, let’s get into it.
Step 1. Set up a new site on your Multisite install.
Go to My Sites > Network Admin > Sites > Add New
* IMPORTANT * The name of the site URL you put in the Site Address box will also become the name of the default administrator for that site. For example, if you make the site’s URL “xyz.example.com,” the name of the default administrator for that site will be “xyz.”
* However, there is an exception to this. If you use the email address of a user already registered on the Multisite install, then the admin will take the name of that user.
The Username “Admin”
Many people use the name “admin” as the name of their administrator. However, as the name “admin” might already be taken by the Super Admin on the Multisite install, you will not be able to name your new site administrator “admin,” even if that was the name on the old site. (We’ll deal with overcoming this later.)
If, however, you are using the same email address as the Super Admin of the Multisite install, and the Super Admin has the username “admin,” then you can choose to assign the posts to that user, and it will appear that posts are still authored by the user called “admin.”
Step 2. For the Admin’s email address, you can put in the email address of your admin on your single install. If you will be running the site yourself, of course you can put in the email address for the Super Admin.
Step 3. Click “Add Site”
Step 4. Go to the Dashboard of the site you’ve just created. There should be a convenient link that says “Visit Dashboard” right on the page that appears after creating a new site.
You can also access the site by going to My Sites > Network Admin > Sites.
Step 5. In the Dashboard of the newly created site, go to Tools > Import.
The last option on the list should be the WordPress option. If you haven’t yet installed the importer plugin on your Multisite installation, you will see the following beside the WordPress option:
This importer is not installed. Please install importers from the main site.
(If your importer is installed – i.e. if you do NOT see the link above — you can skip directly down to Step 12.)
Step 6. Click that link.
When you click it, the system will take you back to the Network Admin section (i.e. out of Dashboard for your newly created site).
1.6 million WordPress Superheroes read and trust our blog. Join them and get daily posts delivered to your inbox - free!
Step 7. Click on the “WordPress” link.
Step 8. This will bring up a popup to install the plugin. Click “Install Now.”
Step 9. Then click “Network Activate.”
Step 10. You’ll now need to navigate back to the Dashboard of the newly created site. (My Sites > Network Admin > Sites)
Step 11. Once in the Dashboard, again go to Tools > Import.
Step 12. Click on the WordPress link in the list in order to upload the file you saved onto your computer.
Step 13. Browse for your file and upload it.
Step 14. In the next screen, we’ll address the problem of having an administrator on the single installation named “admin.”
As mentioned, if the Super Admin for the entire network has the username “admin” (or if anyone else in the network does), then you will not be able to create a new user on the new site named “admin.”
Also as mentioned before, when you add a new site to the network, then the site name (or actually the URL name) is automatically created into a user on that site, and that user is the default admin. So, if your new site’s URL is xyz.example.com, then you will have a user with the name “xyz,” and that user will be the admin for your that new site.
You can see below that I am beginning to import the XML file from my single installation. On that single site, I had two users – one was named “admin,” and the other was named “singleuser.”
You will also see an option that says “or assign posts to an existing user …” and then it has a dropdown box.
What you’ll want to do is to assign the posts from the user on the single site named “admin” to the new admin for the new site — the user “xyz.”
(Of course you can also make up another user on the site before you import this file and assign the posts to that user. You can also use an email address already associated with a user on the Multisite install.)
Step 15. You’ll also want to download and import file attachments. Then hit “Submit.” (see graphic above)
And that’s it. You should now have your site imported, and the “admin’s” posts from your single site should now belong to the default admin for the new site (in our example, the user “xyz”).
* Remember to update the passwords and roles of imported users. Also the new blog you set up will have the default sample page and first sample post (“Hello World”). You’ll need to delete those.
Exporting a Site from a Multisite Set Up and Importing It to a Single Install
Install a single version of WordPress where you’d like before beginning this process.
Step 1. Go to the Dashboard of the individual site (on your Multisite install) that you wish to export. Then go to Tools > Export.
Export the XML file for that site, and save it on your computer.
Step 2. Choose what you wish to export, and click the “Download Export File” button.
Step 3. On the Dashboard of the single version of WordPress (i.e. the single install), go to Tools > Import.
The WordPress option should be the last option in the list. If you haven’t installed the importer plugin yet, you will need to do so now. Clicking on the “WordPress” link will automatically bring up an installation screen.
Step 4. Browse to the XML file that you saved on your computer in Step #1, and upload it.
Step 5. You can decide if you need to assign posts to a different user or not.
If you need a more detailed explanation of this, then begin reading from Step #1 in the section above titled, “Exporting a Site from a Single Install and Importing It to a Multisite Set Up.”
When you’re ready, click submit.
* Remember to update the passwords and roles of imported users.
* Also remember, if you have problems when you import your file, you can always go through, delete everything imported (posts, pages, images, users, etc. – everything that’s been imported) and then reimport the file.
Assign Posts to a New User After Importing
If you would like to assign posts to a different user after importing your content, follow the instructions below.
Step 1. Go to Posts > All Posts.
Then click on the username of the author whose posts you’d like to change to a different user.
(In this example, I’m going to change posts of the user named “singleuser” to be assigned to the user named “xyz.” )
Step 2. In the next screen, you will have a list of all the posts made by that author. You can then either click the “Select All” box at the top of the post grid, or you can select individual posts as you like.
Step 3. In the pull-down menu at the top, select “Edit,” and then click the “Apply” button.
Step 4. Next, under the “Categories” column you should now see an option to select a different author through a pull-down menu.
Select the author you’d like, and then click update.
And that’s it. The author of those posts should now be changed.
And so that’s it. Though it may get a little confusing with the usernames, just remember to assign posts to users already on your site, and that should make things simpler.