How to Move a WordPress Site Without Hassle with Snapshot
Moving your site to a different server, or to a different kind of WordPress installation, can be a time-consuming nightmare if you don’t have the right tools. But with our Snapshot plugin, the experience is more of a sweet dream.Since Snapshot was launched we’ve added sooo much new stuff! Head over to the project page to check out all the new features.
While Snapshot wasn’t initially designed with site migration in mind, we have since developed it to include this all-important requirement since so many of you asked for this feature and, of course, we like to keep our members happy!
Migration is a little-known feature in Snapshot, so in this tutorial I’ll cover how to do it. I’ll show you how to move a single install and Multisite install of WordPress, then how to move one site from a Multisite to a single WordPress install.
If you need to change your domain name along the way, I’ll give you pointers on how to do that, too.
Snapshot isn’t just for backing up and restoring anymore, so without further delay let’s look at how to migrate your site.
Please note: our Shipper plugin is in the pipeline and it’s coming real soon. It’s going to make WordPress site migration (auto)magical.
It All Starts with a Backup
First thing’s first: If you want to migrate your site with Snapshot, you need to backup your site. But before you even do that, you need to install and activate Snapshot. You can do this either using the WPMU DEV Dashboard plugin in the backend of your site, or by downloading Snapshot directly.
Before we move on, it’s worth noting early on that sometimes Snapshot may run into problems if you have an insufficient memory limit on your WordPress install. So to get around this, check out our post How to Increase the Maximum Upload and PHP Memory Limit in WordPress. It will only take a minute to do and is worth doing anyway as you might come across memory limit issues in future if you haven’t already.
Once Snapshot is installed and activated, it’s time to set it up. You can learn how to do this in one of our other posts called How to Backup Your WordPress Website (and Multisite) Using Snapshot.
Here’s how you create a backup: Go to Snapshots > Add New in your (super, if you have Multisite) admin dashboard.
If your site URL is not displayed under Blog to backup, click the Change button to select another site if you are using Multisite. This won’t be a problem on single installs.
Next, enter a name for your snapshot and any optional notes you would like to add as a private reminder of why you created this backup profile.
Select include selected files from the What Files to Archive section, then click all the checkboxes that dynamically appear for their corresponding files.
In order to migrate your site successfully, you need to save everything. If you choose any of the other options, custom changes you made won’t be copied.
If you plan to backup to Dropbox, you can leave the Archive option as the default instead of the Mirror/Sync option.
In the next section, click the Include selected database tables in this Snapshot radio button.
When your database tables dynamically appear as a list, click the Select all links to automatically check all the boxes. Taking this step ensures all your tables are backed up so your site looks the same after you’re finished migrating it.
You could also select the middle radio button to include all blog tables automatically without having to select them all, but selecting all your tables yourself means you’re extra sure everything is backed up. It’s up to you which one you would like to select.
Under Backup Interval, keep the Run Immediate selection and type in an appropriate number in the Maximum number of local archives field. I usually type in
2 so only two backups are stored at one time for this particular snapshot profile.
If you type in a large number or
0 to keep all your backups, make sure you have sufficient storage space to keep them all.
Select your Backup Destination by clicking the drop down box and selecting one of the options you have previously set up.
If you don’t have any destinations saved and you don’t want the backup on your server, bypass this section for now.
Once you have made your selection, click the Create Snapshot button at the bottom of the page. You can see your snapshot being created on the next page.
Don’t worry if this takes a few minutes, especially for larger sites since this is normal. It shouldn’t take too long, but you can grab a drink or take a well-deserved break while you wait.
Once you see a success message at the top of the screen, your snapshot is all done being created. Go to Snapshots > All Snapshots to see it in the list.
Lastly, check the status of your snapshot under the Archives column. It should list the status of the backup for the destination you chose.
If it lists
Destination: 1 Pending, that means your snapshot is being uploaded to your destination. In my case, this means it’s in the process of being synced with my Dropbox account.
1.6 million WordPress Superheroes read and trust our blog. Join them and get daily posts delivered to your inbox - free!
Once your snapshot has been synced to your destination, you’re ready to start migrating your site.
Migrating Your Site
Now that you have your snapshot ready, install a brand new WordPress site (or Multisite install) on your new server.
Install and activate the same themes and plugins on your fresh install that are currently included and activated on the site you want to migrate.
Next, install and activate the theme you would like to use for your migrated site. It needs to be activated before migrating your site, even if it’s included with your snapshot. Taking this step means your site can be ready immediately after migrating.
Install and activate Snapshot on this new site if you don’t already have it active.
Next, go to Snapshots > Import and enter a public URL or file path to your snapshot.
This means if you sent your backup to Dropbox, Amazon S3 or other destinations, you need to either make the file temporarily public, share it with a link or save it to another location.
If you have your snapshot on your server, just type in the file path to the backup.
When you have your snapshot entered into the import field, click the Scan/Import Snapshots button.
A “success” message should be displayed at the bottom of the page. If you entered a file path, more than one message may appear. Now it’s time to complete the site migration by going to Snapshots > All Snapshots.
Find your snapshot listed, then hover over the title and select the restore link. If you’re not sure which is which, try matching the snapshot file name with the one in your destination folder.
Next, you should be redirected to the archive page for all the backups for the snapshot profile you chose.
I only have one snapshot in my archive, but you may have more listed. Pick the one you would like to use, then hover over the snapshot title.
Click the restore link that appears. On the next page, you can review the options and what you would like to migrate.
Finishing the Migration and Changing the Domain
Scroll down to the Restore Blog Options section and click the Change button next to the label Site URL. This is where you can change the URL of your backup files so your old site can be used with your new domain.
In the field that dynamically appears, you can enter the site ID or blog path of the fresh site you created to be replaced by your snapshot. Click the Lookup button and you should see the site you selected now displayed.
In the next section called What Tables to Restore? click the option for Restore selected database tables.
Click the Select All link next the label WordPress Global Tables. The other tables should be selected by default, but if they’re not, also click the Select All links.
Select the Include selected files option in the next section and make sure to check all the boxes. If you’re not migrating to your main site, then select the Restore all files option instead.
In the last part of the page, choose the theme you would like to use from the list of ones available in your current installation.
Also, be sure the checkbox for Turn off all plugins is not checked, otherwise your migrated site may not display correctly.
Finally, click the Restore Snapshot button at the bottom of the page.
On the next page that loads, you should see a list of your tables and files with a loading bar to display the uploading progress. Once your migration is complete, a success message appears at the top of the page and that’s how you know you’re done.
Easy Migration with Snapshot
Your newly migrated site is now ready to go and looks exactly the same on your new server and even with a new domain. You have also migrated your site easily with Snapshot in well under the several hours this process would take if you completed it manually.
There’s also another way you can easily copy any site within your Multisite network in just a few clicks and that’s with our Cloner plugin. To see how you can copy a site, make changes, then push your new site live in a few clicks, check out one of our other posts: Quick and Reliable Bug Testing with Cloner for WordPress Multisite.