If you've never moved a WordPress site before, you'll find that it isn't as straightforward as moving a static website. In the introduction to this series, I described in detail what you need to move and the considerations you may need to be aware of.
However, moving a WordPress site can be very easy if you use a plugin. Here I'll look at some of the free plugins that can help you do this.
To follow this tutorial, you'll need:
The plugins below will only work with a single-site WordPress installation: if you need to move Multisite you'll need to follow the tutorial on moving a Multisite network.
Note: I've tested the plugins below on my own site and they all worked as detailed. However I can't guarantee that they will work perfectly for you and can't answer support questions in the comments: if you have any problems, please use the support forum for the relevant plugin on the WordPress plugin repository for help.
There are a number of migration plugins to help you move your site, but for a very simple move you might find that plugins to import content do the job.
I'm going to look at two categories of plugin here:
There are free plugins that will let you export content from one WordPress site and then import it into another. Let's take a look at them.
If your new site is running themes and plugins that you can install without copying them (e.g. from the plugin or theme directory), all you'll need to copy is the content itself.
The WordPress Importer plugin lets you do this: not only does it import the contents of your posts, pages etc., but it'll also import the media files you've attached to your posts and the authors of your content.
To use the plugin you follow these steps:
In your old site, click on Tools > Export to open the Export screen. Delete the post types you want to export, then click Download Export File to export your content to an
In your new site, install the WordPress Importer plugin, and then click on Tools > Import. Select WordPress, then select the
xml file which was downloaded to your computer from the old site. Click on Upload file and import, and follow the instructions on-screen for importing attachments and authors.
You'll now find that your new site contains all of the content from your old site.
Note: If you have plugins set up and configured on your old site, or you've used the Theme Customiser to tweak your theme, this method won't copy any of that configuration. You'll need to use a migration plugin or do a manual move instead. If you have widgets configured, the next plugin can help with that.
Using the WordPress Importer won't import any widgets you've added to your site, and if you've got a few, adding them fresh to your new site can be a pain. However, help is at hand. The Widget Settings Importer/Exporter plugin will export widget settings from your old site and import them to the new.
To use it, follow these steps:
jsonfile you downloaded and click on Show Widget Settings to see the widgets to be imported. Select the ones you want to import, and click Import Widget Settings to import your widget settings.
You'll now find that your widgets are the same for both sites. Sometimes it's necessary to make a few tweaks, for example if a widget is in a different widget area, but as long as you have the same theme activated on both sites, it should work.
Sometimes the importer plugins aren't enough for your site. For example, if you've spent time configuring plugin settings, these won't be imported and you'll have to do it all over again. Or if you've customized your theme using the Theme Customizer, this also won't be imported.
If this is the case, you'll need a plugin that migrates the contents of your old site's entire database to the new site.
The All-in One WP Migration plugin is free and lets you download one site's database and files and then upload them to another site. It edits the database for you so that all of your links work on the new domain if you're changing domains. Let's take a look at how to use it.
Firstly, install the plugin in your old site and activate it. You'll see a new admin menu item called Site Migration.
In your old site, go to Site Migration > Export to see this screen:
Tick the checkboxes for anything you don't want to migrate. Here I'm not migrating plugins and theme files, as I already have them set up on my new site. However, if you are doing this, make sure you install and activate the correct themes and plugins on your new site before migrating, so that the settings for them which will be migrated across in the database work correctly.
Click Export and a zip file will be downloaded to your local machine.
Note: If you're using Safari, you may find that it unzips the file on download. Zipping it up again in File Manager won't work. To stop the zip file from being unzipped, go to Safari > Preferences > General, and uncheck the Open "safe" files after downloading box.
In your new site, install and activate the migration plugin. Go to Site Migration > Import and upload the zip file you just downloaded.
Depending on how big your old site was, this may take a while—I used the WordPress theme test unit data and it took about half an hour.
The plugin will upload the file and instate all of the content, files and settings from your old site in the new one. It will also change any links using your old domain to the new one.
Before finishing, visit the Settings > Permalinks screen twice to refresh permalink settings. You don't actually have to save your permalink settings again: just visiting the screen flushes your rewrite rules and updates the permalinks.
If you're new to moving a WordPress site, using a plugin will be a less daunting way to proceed than doing things manually. The two options above will enable you to migrate your site to a new location without having to manually edit your database or use FTP.
However, there will be times when you have to migrate WordPress manually, which is what I'll be covering in the rest of this series.