This guide explains how our Shipper site migration plugin allows users to move an entire site anywhere with a click. Use the Index on the left to quickly locate usage guidance on specific features.
If you haven’t installed Shipper yet, then you should visit the Shipper Pro page where you can explore the plugin’s many features, download the free version, and where WPMU Dev members can install Shipper Pro directly to any connected site.
5.1 Before You Ship OutLink to chapter 1
A few things need to be in place before you ship out.
To get started you need:
- One Destination site
- One Source site
- Both sites connected to your Hub via WPMU DEV Dashboard
- Shipper installed on both sites
Local installation note:
- Shipper will work with local installations, but if you’re using Local by Flywheel it needs to be on NGINX
- You can’t trigger an import of the source site from your local installation
- You can’t trigger an import from the destination site of your local installation
5.2 MigrateLink to chapter 2
You can do your migration in 2 ways:
- Importing to your Destination site or
- Exporting from your Source site
In this example, we’re going to import a site, from a third party hosting provider, to our own WPMU DEV hosting. We suggest you always use a clean installation for your destination site (in order to avoid any issues present on a used destination site).
Navigate to https://premium.wpmudev.org/hub/hosting/ and create a new site which we will use as a destination site.
Created your site? Excellent, navigate to /wp-admin of your newly created site and install Shipper via WPMU DEV Dashboard:
Now go to Shipper/Migrate:
and add your Source site by clicking on the “Add destination” button located in the top right corner (if you already have Shipper installed on both sites skip these steps and start your migration):
In a new window click on “Connect a website”:
If your other site is already connected to your Hub just select it from the list and press on the blue arrow button. This action will install Shipper on that site.
In case you need to connect your other site to our servers (source site in this example) press on “Connect new website” and on “Go to the Hub” in the follow-up window:
Follow our easy auto installation procedure and navigate back to your site destination site once done. You can install Shipper directly on your other site (from your site’s dashboard) or automatically from your destination site as explained above.
Before doing so you might want to visit Shipper/Settings and set up your working directory, accessibility options, what happens to your data and your migration notifications.
Make sure you don’t have any resources heavy services running in the background before migration (for example Security Scans, Backups etc) as this might end up interfering with your migration due to high memory consumption of those processes.
Also, migration is a relatively demanding process which can use up a fair amount of resources and migration can be stalled in cases when your source site has high traffic, no traffic at all, is highly loaded or runs on a server with limited resources.
Press on “Import” (or Export if you’re doing this from your Destination site) to start a checkup procedure:
On the next step select a site you want to Import and press on the blue arrow in order to start a pre-flight check:
Note: In case you want to migrate your local development site to a live one you need to start an Export from your development site as Shipper doesn’t support local development site import.
Once “Pre-flight” checkup is done you will be presented with your source configuration, your destination configuration, files present on your source site and estimated time of completion (can be seen under Files tab).
You will get 3 types of notifications:
- Green: These ones present that everything is ok and that configuration on both sites is the same
- Yellow: These present warnings you might want to look into and fix before starting your migration. Shipper will try to migrate your site even with yellow warnings but sometimes this can cause issues on your destination site even when migration successfully completes.
- Red: In case of red warnings Shipper won’t allow you to proceed as differences are too big or some of the crucial functionalities are missing (for example PHP version too low)
In order to see your notifications navigate to one of the tabs and expand the yellow/red warning to take a closer look:
Many notifications can be fixed, for example, if you’re PHP version is too low you can contact your hosting provider to get this sorted or you can contact our 24/7 Live Support for troubleshooting assistance.
Once you’re ready, press on “Begin migration” button to start your Import/Export:
You can track your progress in the follow-up screen but you can also close your browser and let your migration run in the background.
Migration duration depends on the size of your site and can take a while to complete.
What happens during your migration you wonder? Shipper will take each file, from your source site, one by one, upload it to our super servers and then deliver those files from our super servers (also one by one) to your destination site. Once migration completes Shipper will send you an email to your set Recipients.
Take note that once migration completes you will need to log in to your destination site using your source site administrator credentials (as everything gets copied over from your source site to your destination site).
5.3 ToolsLink to chapter 3
This section allows you to monitor your migration and to download migration logs if needed, by clicking on the “Download” button. Logs are most useful when something went wrong so our support can better troubleshoot the issue.
Each time you start a new migration site logs will reset so make sure to download them beforehand.
In case you are having issues with migrations you can see your server configuration from here:
5.4 SettingsLink to chapter 4
By default Shipper will use the default temporary folder of WordPress. There are some hosts that limit the size of this folder, empty it very frequently or use it for a totally different purpose which can all result in migration interruption.
In case this is the behavior of your hosting provider you can set a “Working directory” to allow Shipper to temporarily store progress information and other temporary files generated during migration in that folder.
Important note: Since the uploads folder is web accessible, your temporary data will be accessible on the web until migration completes. We try out best to protect that folder by adding our own .htaccess which limits the access to it, but this is not 100% bulletproof.
- Do not replace domain name in email: By default, Shipper replaces all the instances of your source domain with the destination domain. However, if you use an email on your site linked with your source domain and don’t want the email to be changed then keep this option enabled.
- Do not migrate wp-config file: Due to some host specific setups wp-config file can cause migration issues or can even be the cause of a broken migration. If your wp-config file has hardcoded paths exclude it from your migration.
This option increases the visibility and accessibility of the elements and components of the plugin to meet WCAG AAA requirements.
Once activated your Shipper interface will look something like this:
Here you can define what will happen with your data once your uninstall Shipper and control what happens with your accessibility, data and notifications settings.
Shipper will, by default, send out an email to the site admin but here you can change the email recipient, completely disable notifications, add new recipients or send out notifications only if something goes wrong:
In case you want to sort your files a little and have a better overview of the Files tab in the Pre-Flight checkup (when there are a lot of files presented) you can set that here:
An example of a paginated Files tab from the Pre-Flight check will look something like this:
This concludes our Shipper usage doc. In case you have any additional questions our experts will be right by your side 24/7 via Live Chat.