Moving a very large WordPress site comes with special challenges not found with small and ‘standard’ sized sites. Shared hosts, especially cheaper budget hosts, can be tightly limited in both CPU and I/O.
What follows are a couple of options for moving a very large site using Duplicator Pro. It is not a comprehensive explanation about how to move a site, but rather a complement to the main article on moving a WordPress site, How To Easily Move A WordPress Site so be sure to read that as well.
Option 1: Use the DupArchive Format (Duplicator Pro Only)
Duplicator Pro now includes a new beta feature we’ve added to Duplicator Pro – the “DupArchive” archive format. Switching to the DupArchive format allows one to bundle up a large site into a single package rather than have to filter and move files as Option 2 does.
DupArchive is only available for migration right now (not scheduled backups) but it has worked quite well in our testing. To use DupArchive:
- Check Duplicator Pro > Settings > Enable Beta Features
- Set Duplicator Pro > Settings > Packages > Archive Engine to DupArchive
After making these settings changes, building and installing a package is identical to the way you do it when using the zip format.
Option 2: Use the Zip Format and Perform a Two-Step Move
The key to moving a very large site while building a Zip archive is to filter files from inclusion in the package which can later be transported after installation. The following steps describe exactly how to do this.
Step 1. Set Up A Directory Filter
First, enable the File Filters and click the ‘wp-uploads’ quick link above the Directories input box. This will prevent the files from the wp-content/uploads directory from getting included in the archive. Alternatively, you can set this filter to the full path of the wp-content directory.
The choice of which directory to use (uploads or wp-content) comes down to whether the package will properly build if only filtering the uploads directory. If in doubt, just filter wp-content.
Step 2. Build a Package
Build a package as you normally do.
Step 3. Copy Package to Destination
Copy the package to the destination server.
Step 4. Install Package
Install the package as normal protocol dictates. After installing, you’ll have a partial site installed – it will contain all files that are in the source site except for the contents of the directory filtered in step 1. Additionally the destination site will now have the database contents installed.
Step 5. Download Filtered Files from Source Site
We now need to copy the files that were filtered out in step 1 to the destination server. The first part of doing that is to FTP the files from the directory you filtered to your local development machine.
Note: Rather than FTPing the files individually you may want to zip the filtered directory when it’s on the source site then download the single zip.
Step 6. Upload Filtered Files to Destination Site
Now that you have the files on your development machine, upload them to the appropriate spot on the destination site. If you zipped up the files in step 5 unzip them in this location.
The Site Has Now Been Moved
Congratulations, you’re done! Your very large WordPress site has been moved to a new host or domain.