We offer free WordPress site migrations to our high-performance plans, and occasionally for our shared hosting customers. However, you might still need to migrate a WordPress website manually sometimes. Here’s how you can do it.
Since WordPress functions the same regardless of hosting panel or environment, these steps should be usable with any plan and panel.
*This guide covers the migration of WordPress.org installs, not WordPress.com
Plugin #
For this, you’ll need to install WordPress on the new server first. (cPanel, Plesk).
Then you’ll need some way to access your website. You can change your hosts file after you’ve generated the WPVivid backup (this will require manually uploading/restoring the backup). This will be referred to as the “new WordPress install.”
We recommend installing the WPVivid backup plugin for easy migrations. To use it, install and activate the plugin from WP Admin on both the old WordPress website and the new blank WordPress install.
Next, navigate to it’s Backup & Restore page on the old WP install and click “Backup Now”
Make sure both files and database are selected.
Once the backup finishes running successfully, hit the download button and download all the files
Then, click the “Clone and Transfer” button and wait for it to automatically migrate everything for you.
Note: If you are migrating from a host that severely limits your resources (GoDaddy, Bluehost, Hostgator namely), you may need to enable the “Enable optimization mode for web hosting/shared hosting” option in the “Advanced Settings” page.
Once you have the backup downloaded, edit your hosts file and point your domain to our shared IP. (Locate this in cPanel’s right sidebar). Ignore the SSL error.
Open your domain again and you should see your blank WordPress install on our server.
From here, install the “WPVivid Backup and Restore” plugin again, and then upload the backup files you previously downloaded.
Once they have successfully uploaded, hit the “restore” button.
WPVivid will automatically correct any URLs in the DB that need to be updated if you are migrating to a different domain.
However, if something goes wrong, you may need to correct the URLs manually. See here.
After the backup has restored, your new site will now have the same content as your new one! Remember, this includes your WP-Admin credentials.
Manually #
If plugins don’t work for you or you don’t want to use one, you can also migrate a site manually. Here’s how.
First, open up your FTP client or the panel file manager. Navigate to the directory of your WordPress install or the directory where your wp-config.php file is located.
Select all the files in the directory, either using CTRL + A or some other method and then click the “Add to Archive” or “Compress” or “Zip Files” option, depending on your client.
Once you’ve made a zip or tar archive of your WP files, download the archive, upload it to the new server, and extract the files, either in the public_html OR httpdocs, or another folder if your WordPress install in on a subdomain or non-root path.
Next, go back to the old server, and open up its database client or manager. This can be the panel’s native manager or phpMyAdmin.
Find the database WordPress is running on, usually the one with tables beginning with “wp_” and dump or export the database. (Here’s how to export a DB in phpMyAdmin )
Import the DB via phpMyAdmin on the new server (after creating the database in the panel).
Next, create a database user, make sure to assign it permissions to the database you just created, and update your wp-config.php file with the update credentials and database name.
If all goes well and there are no errors, your site should be fully accessible on the new server now. Check to make sure URLs, posts, images, and themes are all displayed properly.
Please contact support if something goes wrong, and we will be happy to help.