Moving WordPress host: a step-by-step guide

By Unlimited Published 14 December 2018 Updated 29 May 2026 13 min reading time
Moving WordPress host: a step-by-step guide

Moving WordPress host is something most WordPress site owners face at least once. Speeds slow down, support becomes unresponsive, or costs creep up past what the service justifies. The good news is that the process to transfer WordPress site files and database from one web host to a new hosting server is predictable with a clear sequence of steps. Done in order, it carries very little risk. Done carelessly, it can result in downtime, broken links, or lost data. This guide walks through the full WordPress site migration process: from taking a verified backup through to confirming your site is live on the new server and traffic is flowing correctly.

Why people switch WordPress hosts

Performance is the most common reason. Slow page load times affect search rankings and user experience directly, and shared hosting environments can degrade as a provider oversells capacity. If your WordPress site consistently loads slowly despite caching and image optimisation, the host is often the constraint. A switch to a better-resourced plan or a different provider can make a measurable difference.

Support quality is the second most common trigger. When something breaks on a WordPress site, the speed and quality of the response matters. Providers that rely on generic ticket queues with long wait times create real business risk, particularly for sites that generate revenue. Poor support in a moment of crisis tends to accelerate decisions that were already forming.

Cost increases, a better offer elsewhere, a hosting plan that no longer fits the site’s scale, or wanting features the current host does not provide, all drive the decision to switch WordPress host. Whatever the reason, the migration process is the same.

Before you start: what you need

Before moving a WordPress site to a new hosting account, confirm you have access to the following:

  • Access to your current hosting control panel (cPanel or equivalent)
  • FTP credentials for your current host, or access to the file manager
  • Access to phpMyAdmin on your current host (to export the database)
  • Login credentials for your domain registrar (to update DNS once the migration is complete)
  • Your new hosting account, set up and ready

If any of these are missing before you start, locate them first. The WordPress hosting migration process stalls fast if you hit an access problem mid-transfer.

Step 1: Back up your WordPress site

A full WordPress backup and restore capability is non-negotiable before any migration begins. If something goes wrong mid-transfer, a verified backup is the only way to recover cleanly. A complete WordPress backup has two parts: the site files and the database. You need both.

Your WordPress files live in the public_html directory (or whichever directory your domain points to). This includes your theme files, plugins, the WordPress core, and your uploads folder. The database contains everything else: posts, pages, settings, comments, user accounts and plugin data.

The most direct route is through cPanel. Use the Backup Wizard to download a full account backup, or export the database separately via phpMyAdmin. If you prefer a plugin-based approach, UpdraftPlus and Duplicator both handle WordPress backup and restore reliably, packaging the files and database together. Either approach works; what matters is that you have a verified, recent copy before you start the transfer.

Using a migration plugin

For many people, a migration plugin is the fastest way to move the entire WordPress site to a new hosting provider. WordPress plugins like Duplicator, UpdraftPlus and All-in-One WP Migration package your website files, media files and WordPress database into a single backup file. The backup file is then uploaded and restored on the destination site, handling both the file transfer and database import in one step.

The general workflow with a migration plugin: install the WordPress plugin on your existing WordPress site, run a complete backup to generate the backup file, download it, then prepare the new web host. On the destination site, install WordPress (a fresh install), then install the same backup plugin, and use it to import the backup file. The plugin restores the entire WordPress website: posts, pages, WordPress users, settings, themes and media. A domain search-and-replace is usually part of the import flow. Check PHP version compatibility between the old and new hosting server before running the import, since a mismatch can cause plugin conflicts after migration.

The manual approach in the steps below gives you more precise control over each stage. If you prefer to migrate a WordPress site manually to the new hosting server rather than via a plugin, follow the steps from this point. To migrate a WordPress site this way means handling the file transfer and WordPress database import separately. Many hosting providers also include migration tools in their control panel that simplify the file transfer without requiring a WordPress plugin.

Step 2: Set up your new hosting account

Before transferring anything, prepare the destination. Log in to your new hosting provider’s control panel and add the domain for the site. You are not changing your DNS yet; at this stage you are only making the domain available on the new hosting server so you have somewhere to upload the site’s content and files.

Create a new MySQL database and a database user on the new host. Note the database name, username and password; you will need them when you restore WordPress on the new server. In cPanel, this is done through the MySQL Databases section. The creating a MySQL database guide covers the exact steps.

Step 3: Transfer your files

With the backup in hand and the new account prepared, upload the WordPress files to the new server. The two most practical methods are FTP and cPanel’s file manager.

Using an FTP client such as FileZilla: connect to the new hosting server and upload the entire site’s files from your current web host to the root folder (public_html) on the new server. This includes website files, media files and the WordPress core. Large sites with significant media libraries can take time. If you are comfortable with cPanel’s migration tooling, the cPanel manual migration guide covers how to manually migrate WordPress using the panel’s built-in tools.

Once the files are uploaded, import the site’s database. Log in to phpMyAdmin on the new hosting provider, select the database you created, and use the Import tab to upload the .sql file from your backup. Large databases may need to be imported via the command line rather than the phpMyAdmin interface, which has upload size limits.

Step 4: Update wp-config.php

After the files are uploaded, open the wp-config.php file in a text editor (referred to as the wp config.php file in some migration guides). This file tells WordPress how to connect to its database. Update the following four values to match the new database you created on the new host:

  • DB_NAME: the name of the new database
  • DB_USER: the database username
  • DB_PASSWORD: the database password
  • DB_HOST: usually localhost; confirm with your new host if you are unsure

Save the file and re-upload it to the server. Without this step, WordPress will attempt to connect to a database that no longer exists on the new hosting server, and the site will return a database connection error. The wp-config.php file is the single most common cause of migration failures when it is not updated to point to the new site’s database credentials.

Step 5: Preview the site before changing DNS

Before updating your DNS records, verify the site works correctly on the new host. The standard method is to edit your local hosts file, a system file that maps domain names to IP addresses on your own machine. By adding an entry for your domain pointing to the new server’s IP address, your browser will load the site from the new host while everyone else still sees the old one.

The hosts file guide covers how to do this on Windows, Mac and Linux. Once the hosts file is updated, browse the site and check:

  • The homepage and internal pages load correctly
  • Images and media display without broken links
  • Forms, contact pages and any e-commerce functionality work
  • The WordPress admin area is accessible and functional

Do not update DNS until this preview confirms everything is working. Rushing past this step is how migrations cause visible downtime.

SSL certificate on the new host

Check your SSL certificate before going live. If you are using a Let’s Encrypt certificate (AutoSSL), you will need to issue a new one through the new host’s control panel. The AutoSSL guide covers issuing a certificate in cPanel. Without a valid SSL certificate on the new host, the site will show a security warning in browsers, which affects both visitor trust and search rankings.

Step 6: Update your DNS and go live

Once the preview is clean and SSL is confirmed, update your DNS. The two options are:

  • Update the A record: change the A record in your domain’s DNS zone to point to the new server’s IP address. The domain stays registered where it is; only the DNS record changes.
  • Transfer nameservers: change the nameservers at your domain registrar to point to the new host entirely. This moves DNS management to the new host.

DNS propagation is the process by which the updated records spread across the global DNS infrastructure. Propagation typically completes within one to four hours, though in some cases it can take up to 24 hours. During propagation, some visitors may briefly be directed to the old host. If you want to monitor progress, tools like whatsmydns.net show which DNS servers have picked up the new record. Keep the old hosting account active until propagation is complete and you have confirmed the site is loading correctly for visitors on different networks.

How to migrate WordPress without losing traffic

Traffic loss when you migrate your WordPress site to a new host usually comes from three sources: downtime during the switch, URL changes that break inbound links, and search engine recrawling issues. Each is avoidable.

Minimise downtime by lowering your DNS TTL (time-to-live) to 300 seconds or less a day or two before the migration. Lower TTL means DNS servers cache your records for a shorter period, so when you update the A record, propagation is faster. Most visitors will be routed to the new host within minutes rather than hours.

Preserve URLs exactly. Moving to a new host is a hosting change, not a site restructure. Do not use the migration as an opportunity to clean up permalinks or change URL structures, unless you have a full redirect strategy in place. Every URL change that is not covered by a redirect is a broken link that loses its search engine rankings history.

Keep the site on the same domain throughout. A host migration should be invisible to search engines: same domain, same URLs, same content. The only thing that changes is where the server is. If Google recrawls the site in the days after migration and finds the same content at the same URLs, rankings are unaffected. If it finds errors or redirects, rankings may drop temporarily.

Common problems after migration

A handful of issues come up regularly after WordPress migrations. Most are resolvable once you know what to look for.

White screen or database connection error

This almost always points to incorrect database credentials in wp-config.php. Check the database name, username, password and host values match exactly what you set up on the new server. Even a single character discrepancy will cause the connection to fail.

Broken links or missing images

If the old site used a different domain or a temporary URL during testing, WordPress may have stored those URLs in the database. A search-and-replace across the database using WP-CLI’s search-replace command or the Better Search Replace plugin will update them throughout. This is a common issue when migrating a staging site, a site that was previously on a new domain, or any site moved from a temporary URL. In each case, a database search-and-replace updates the stored URLs to match the new site’s domain.

Redirect loops

These typically occur when SSL settings or the .htaccess file conflicts with the new server configuration. The fixing redirect loops guide covers the most common causes and how to resolve them.

Slow load times after migration

If the site loads more slowly on the new web host than expected, check whether WordPress caching is configured correctly. Caching plugins that were working on the old hosting provider may need to be flushed or reconfigured on the new server. The WordPress caching guide covers what to check and how to apply it correctly.

After the migration: the final checklist

Once the site is live on the new host, work through these checks before closing out the migration:

  • Confirm the site loads over HTTPS with a valid SSL certificate
  • Check the WordPress admin area (WordPress dashboard) is accessible
  • Verify PHP version compatibility: confirm the PHP version on the new hosting server matches what your WordPress plugins require
  • Submit a fresh sitemap to Google Search Console
  • Verify Google Analytics or other tracking is still firing correctly
  • Test contact forms and any e-commerce checkout flows
  • Update DNS settings if you have not already done so, and confirm propagation is complete
  • Monitor uptime and load times for the first 48 hours
  • Cancel the old hosting account only after this window passes

Keeping the old account active for a few days gives you a site backup fallback if something surfaces that was not caught in testing. You should also confirm that WordPress users can log in to the new WordPress site and that no accounts were lost during the migration. Once you are confident the entire site is running correctly on the new web host, you can close the old account.

Wrapping up

Moving your WordPress site manually to a new host is a methodical process. Back up the entire WordPress site fully before anything else, prepare the new hosting provider account before transferring any files, test thoroughly using the hosts file preview before updating DNS settings, and keep the old account available until you are certain everything is working. Following these steps in order means the server migration is invisible to visitors and carries no risk of losing search engine rankings or traffic. To keep your site secure during and after the transfer, confirm SSL is active on the new server before pointing DNS, and update any hardcoded URLs in the database before going live. The same approach applies whether you are moving your site to new host for performance reasons or switching hosting provider entirely.

If you are looking for a new home for your WordPress site, take a look at [PRODUCT LINK: WordPress Hosting]. If you run into any issues during the transfer, the migration mistakes guide covers the problems that catch people out.

You May Also Like

Related articles you might find interesting.

Web Hosting

Running Node.js apps like n8n on shared hosting: what to expect

6 min read. 28 May 2026. Angus.
WordPress

Boost WordPress speed with caching

5 min read. 31 March 2025. Angus.
WordPress

WordPress staging sites: what they are and how to use them

5 min read. 10 September 2021. Lee.

Running a WordPress site?

Get fast, secure and reliable WordPress Hosting with optimised for performance with AccelerateWP.

Get WordPress Hosting

Need multiple accounts?

Create fully isolated individual accounts for your clients and manage them all from one dashboard.

Get Reseller Hosting