Are you looking to migrate your WordPress website to a new web host?
One of the best things about great CMS platforms like WordPress is that the end user is more empowered to manage content than ever before. This step by step guide will provide you with a step-by-step guide to migrate any website with a database, including a WordPress website.
Before we get started, if you are unfamiliar with the technical aspects of your website, we recommend working with one of our trusted web development partners. Our partners will be able to help you move your WordPress site.
Skip to steps:
Step 1: Decide on Web Hosting
Step 2: Backup your WordPress website
Step 3: Migrate your WordPress files + database
Step 4: Update your Nameservers and DNS records
Migrate your WordPress site to a new host
If you find yourself in a situation where you want to migrate your WordPress website and don’t know where to start, we’ve made this guide to help you.
We offer all services below for FREE! With all new annual web hosting orders, we migrate 1 website and 5 email accounts as seen here: How Web Hosting & Email Migration Works.
To skip this tutorial, you can choose a web host that offers free WordPress website migrations.
All of our shared hosting plans and WordPress hosting plans include free website and email migrations.
Once you have decided on a new web host, login to your new control panel.
If you are hosting your WordPress website with us, this will be your Plesk Control Panel.
If you are with another web host, they should provide access from your billing portal.
Before running any migrations or major upgrades to your website, we always recommend running a complete backup of your WordPress website files and database.
For this specific tutorial, we recommend manually downloading your WordPress files and database, as it will speed up the process and does not require a plugin. We have created a step-by-step guide to download your WordPress website.
You should have a complete backup of your site, and are now ready to begin the migration process.
This step depends on which hosting provider you have chosen. Some web hosting providers will have cPanel, Plesk, or their own proprietary hosting control panel. Before starting the process, we recommend reaching out to your web hosting support team to find out if they provide free migrations.
Upload your WordPress files
Login to your new control panel, and navigate to your website domain. From there, navigate to your File Manager.
Once in your file manager, follow the instructions below for Plesk control panels.
For a Plesk control panel, you are looking for a folder called “httpdocs” in the root.
Delete all files and folders from this httpdocs folder.
Drag and drop to upload the zip archive of your website files from step 2 above to the root folder. Next, unzip or unarchive the folder, and select the overwrite existing content option if it appears.
Once this is completed, navigate to the newly unzipped folder, and select all the files and folders.
Next, move the files and folders to the httpdocs folder in your Plesk control panel.
Delete the original zip folder you uploaded earlier.
You are now ready to upload your database.
Upload your WordPress database
Navigate to the httpdocs folder and look for a file named “wp-config.php”. Open the file and scroll down to the section where you can see the following information:
/** The name of the database for WordPress */ define(‘DB_NAME’, ‘xxxxxxxx‘); /** MySQL database username */ define(‘DB_USER’, ‘xxxxxxxx‘); /** MySQL database password */ define(‘DB_PASSWORD’, ‘xxxxxxx‘);
Copy the above part to a new text file, you will need this to create your WordPress database.
Navigate to the PHPMyAdmin section of your control panel. In Plesk, this is under the Databases section. Once there, select the “Add Database” option.
Using the data from the wp-config.php file from earlier, copy and paste the database name, database user name and database password exactly how it appears between the ‘ ’ symbols from your wp-config. Select OK, and the database will be created.
Navigate to the new database you created under the Databases tab in Plesk. Select the Import Dump option.
Upload the database file (this file should have the extension .sql or .gzip or .sql.zip) created earlier in step 2, check the box for “Recreate the database” and select OK. Your database should now be imported, and your website live.
Navigate to your domain in your Plesk control panel and select the WordPress option from the left navigation menu. Once you are in the WordPress Toolkit, select the Scan option, which will scan and connect your WordPress website to your control panel.
Once the scan has completed, refresh the page. You should see your WordPress website. To preview your website before updating your DNS, select the preview option in the WordPress Toolkit.
If everything looks good, you can now move on to step 4.
* For cPanel, you are looking for a folder called “public_html” in the root. Follow the exact instructions above, substituting httpdocs for public_html.
Some of you may have custom DNS records created at your old web host. You will want to copy these over to your new web host before updating your Nameservers. ONLY copy over custom DNS records that you created, leave all existing DNS records on the destination server in place.
If your old web host is using cPanel, you can find your DNS records in your control panel under “Zone Editor”. In Plesk, you can find these records in “DNS Settings”.
What are some common examples of custom DNS records you may have added?
- Outlook or GSuite email accounts
- Google Search Console domain verification
- Email marketing platforms like Mailchimp, Activecampaign, etc
If you did not add any custom DNS records at your old web host, you can ignore this step.
Now that the files, database, and DNS records are on the new web hosting server, you can update your Nameservers or DNS records to resolve your website domain to the new web host.
If you are pointing to your current web host with custom Nameservers, you can simply update these to your new web host Nameservers.
For ease of access, our Nameservers are as follows:
* This should take up to 48 hours to resolve, but most of the time it only takes a couple of hours. If your website was migrated successfully, you should experience no down time at all.
If you are pointing to your website using Cloudflare, you can simply update the A record to point your website to the new web host.
A Record: Update the IP address for yourdomain.com to your new server IP address in your current DNS manager. You can find your new server IP address in the DNS settings of your new destination server.
You are done!
If you are looking to migrate your WordPress website to a subdomain, you can use our tutorial: Creating a WordPress Staging Site.