A common issue during web development is that you have the site at one URL, and you want to move the whole thing to a different URL. Most commonly, this occurs when revamping an existing website, where you want to develop the new look in a staging area and then at some point replace the entire existing site with the new design. Or, you may be changing hosting providers and just want to move everything over.
Some hosting providers give you staging and migration tools as part of the deal — this is true of my current web host SiteGround.com, for instance. But if your website host doesn’t, or if their tool doesn’t work for you, the plugin All-in-One WP Migration by ServMask is a good alternative. Their website has full instructions including videos. The process in broad strokes is as follows:
- Install the migration plugin on the site you want to move data from (the “source” site).
- Use the export function of the plugin to create a single compressed file with all the site data in it.
- If you don’t already have a WordPress installation at the receiving end (“target”), install WordPress there.
- If you do already have a WordPress site at the receiving end and you care about its contents, create an offline backup of the site so that you can restore it if there’s a problem with the migration. I would use UpdraftPlus Backup tool for this.
- Install the migration plugin on the receiving end.
- Use the plugin’s import function to replace the target site with your exported file.
If your site is large, you may need to tell the tool to break the export file into “chunks” that can be uploaded separately and reassembled by the import function. This is to bypass a restriction on upload file size imposed by most hosting providers. The exact point where this becomes necessary, depends on your hosting provider. It’s best to find out what the limit is first so you can avoid repeating the export with different options.
If the URL of the site you import into is different from the URL you exported from, the import function will search for and replace occurrences of the old URL, so everything will work consistently at the new location. However, if the target is a temporary URL, you may have to search and replace again, using a different plugin, when you switch it to the final URL.