Importing & Exporting WordPress Sites To and From a Multisite Install

Update – Also see how to migrate multiple sites into one Multisite install here.

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 ItemsImport - Yes/No
PostsYes
CategoriesYes
TagsYes
MediaYes
PagesYes
CommentsYes
ThemesNo
WidgetsNo
MenusYes
HeaderYes and No* (see below)
BackgroundYes and No* (see below)
PluginsNo
UsersYes
User RolesNo (all users will be subscribers by default on the new site)
User PasswordsNo (you must update all user passwords)
SettingsNo (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).

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.

That’s It

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.

Comments (16)

  1. Currently I am migrating couple of websites of ours to a new brand and it involves around 700+ post 400+ pages and during the import I have trouble with the media files. It took forever for the attachment to be uploaded to the new container.

    Q: The media files (not attached) linked to the post/page are also downloaded from old-site and imported to new site?

    What I did was, downloaded the media folder and FTP’ed to the new site and problem is that WordPress doesn’t recognized the media files I just uploaded as I learned during the process that WordPress only recognize the media files if and only if uploaded using its own download manager.

    Further research and thanks to Sarah Goodin’s article a plugin Add from Server saved my date. I uploaded the /uploads/%years% folder and scan it with the said plugin.

    I will try this solution with my migration of our Chinese Language site to our new Multisite with WPML to see if the media files are also included in the import. What is important to me are the attached/linked images to the articles as it would take time to do it manually.

  2. Its amazing that no-one has mentioned the amazing Duplicator plugin found here… http://wordpress.org/extend/plugins/duplicator/

    I’ve successful duplicated stand alone wordpress sites and a multisite with this plugin and it makes my top 10 essential plugins list.

    Cory is a great guy and tries his best to respond to every query in the help forums.

    I would urge you all to give this plugin a go!

  3. Thanks ,Joe did what you said as I read on the other page not sure what is really happening but the site when haywire timed out lot of goofy things .going back to play some and thank you very much the advise is Great. I think one video didn’t load properly as it may be some one mess with me. Thank You and GOD bless. John

  4. Joe, thank you for this awesome article. This is probably a dumb question, but do sites as part of a multisite network all have to be hosted on the same server or provider?

  5. Great article, am going to go import a site to our multi site installation now, see how it goes, its a great feature to offer our (new) users,

    If they have a blog somewhere else but are unable to (because of rules) monetise it, they can import it to us and we have them coved with lots of great stuff from WPMU.

    Peace

    JT

Participate