How to Migrate WordPress Site to New Host: A Runbook

Wordpress migration runbook

Share This Post

Knowing how to migrate WordPress site to new host without downtime comes down to a fixed order: exporting the database, transferring files via SFTP, updating configuration constants, and lowering DNS TTLs before flipping traffic. This process protects your content while moving server infrastructure. You will handle serialized data carefully so your layouts stay intact throughout the move.

#ad – we may earn a commission from the links in this post. How this works

We have moved some client websites between providers. The difference between a clean migration and a week-long support ticket usually comes down to pre-flight checks, handling serialized data correctly, and managing DNS propagation windows.

This is the workflow we use when sites need to move without breaking layouts or losing content. You will follow each step in order so the new environment matches your old one exactly. The how to migrate WordPress site to new host process feels technical until you separate file transfer from database import and DNS updates into distinct phases.

How to migrate a WordPress site to a new host: pick a method

There are three ways to move a WordPress site, and the one you pick decides how much of this runbook you actually need.

FactorHost-Assisted MigrationMigration Plugin (e.g., Duplicator)Manual SSH/rsync
Best forSites under 2GB with low technical comfortSites up to 10GB where you need a staging copy firstLarge sites, multisite, or complex .htaccess chains
Data safetyProvider handles backup; limited client controlYou control local backups and package integrityFull control; you own the backup chain
SpeedDependent on host internal network; often slow for large DBsLimited by PHP max_execution_time and upload capsFastest for file transfer; requires manual DB export/import
TroubleshootingYou wait on support tickets if they stallYou debug import timeouts yourselfYou fix errors directly via terminal or error logs

Choose a plugin if:
* Your site is under 5GB and you need to verify the move on a staging URL before going live
* You want to package everything into one downloadable archive for safekeeping
* You are comfortable running wp search-replace locally after unpacking

Because large packages require upload time, you should test your bandwidth first.

Go manual if:
* You have a site over 10GB or complex custom server configurations
* Your host’s migration assistant fails on serialized data or PHP limits
* You need to preserve exact file permissions and .htaccess rewrite rules

Since you manage every transfer step, you will catch permission errors before they break the front end.

Back up your WordPress site before you migrate to the new host

Before anything moves, you need a backup you can restore and a record of what the current site runs. The diagram below shows where those two steps sit in the sequence.

Diagram of how to migrate a WordPress site to a new host, from backup to DNS cutover

What to back up before you touch anything

  • Run a full site export to local storage using Duplicator before touching the live server.
  • Verify database integrity with a dry-run search/replace on a staging clone.
  • Reduce DNS TTL to 300 seconds at least 24 hours before the planned cutover.
  • Snapshot the current php.ini values from your existing host for reference.

Where host-assisted backups fall short

  • Host-assisted backups often fail on large sites exceeding PHP memory limits.
  • Skipping local verification risks corrupted exports that you cannot fix later.
  • High TTLs left in place can force propagation delays of hours or days.
 

Since you already know how to migrate WordPress site to new host files, you will notice the backup step dictates every downstream decision.

Moving files and database to the new server

This is where most migrations go wrong. The database moves first, then the files, and then you edit the constants shown below so WordPress can find its new database.

wp-config.php constants to update after you migrate the WordPress site to the new host
The settings shown in the image are some of the configurations that need to be updated when moving the database to a new server. You may also need to modify the table_prefix value shown on line 74.

Why SFTP and the mysql client

  • SFTP preserves file permissions better than cPanel File Manager.
  • mysqldump with compression reduces transfer time for large databases.
  • Manual config updates let you tweak constants like WP_HOME without plugin interference.

Who should take the manual route

  • Practitioners comfortable with terminal commands and server configuration files.
  • Sites with custom caching layers that need manual replication on the target server.

When manual is the only option

  • Migrating a multisite network where subfolder vs. subdomain routing must be preserved exactly.
  • Moving between providers that use different control panels but identical PHP stacks.

What breaks during a manual import

  • Manual database imports can timeout if max_execution_time is not raised on the target server before you start.
  • A single typo in wp-config.php locks you out of the admin dashboard immediately.
  • You are responsible for regenerating CSS and JS bundles for page builders after the move.
 

Once you establish the connection, you will run the database import first so the file upload can proceed simultaneously.

When a search and replace leaves serialized data broken, work through this checklist before you reach for the backup:

Checklist for repairing serialized data after a WordPress site migration

After you migrate: DNS cutover and WordPress site checks on the new host

Once you migrate, the WordPress site sits on the new host, but nobody is seeing it yet. These are the checks worth running before and immediately after you flip DNS.

Checks to run the moment DNS flips

  • Purge all cache layers (Redis/Memcached) and page builder caches immediately after import.
  • Verify SSL certificates are installed and redirecting HTTP to HTTPS correctly on the new host.
  • Test admin login and front-end assets before flipping production traffic.

Caches that keep serving the old site

  • Elementor‘s elementor/css directory often serves stale layouts until purged or recreated.
  • Leaving old DNS records active too long can cause intermittent access failures during propagation.
  • Skipping post-migration cache clearing forces you to troubleshoot layout drift with no data saved.

Object caching and wp-config changes

  • Sites using aggressive object caching that need wp-config.php to disable caching for the initial login verification.
  • Domains moving from HTTP to HTTPS where mixed-content warnings block scripts after the move.
 

Since you already understand how to migrate WordPress site to new host infrastructure, you will notice this phase depends entirely on cache layer management.

Which host is right for you?

When you plan how to migrate WordPress site to new host, where you are moving to changes how much of the work above you have to do yourself.

Matching the new environment to the old

  • Matching PHP versions and extensions prevents fatal errors after you update your config.
  • Selecting a host with appropriate RAM per process matters more than CPU cores for WordPress imports.
  • Managed hosts handle cache layer tuning; bare-metal requires manual PHP-FPM pool configuration.

Where entry-level plans struggle

  • Entry-level shared plans often throttle I/O during large file transfers, stalling migration scripts.
  • Moving from managed to unmanaged hosting shifts the burden of server security patches and updates to you.
  • Some hosts disable required PHP functions like exec() or shell_exec needed by backup tools.
 

Choose SiteGround if:
* You need managed WordPress support and can pay above entry-level shared pricing
* Your site relies on specific cache optimizations they provide out of the box
* You want a migration assistant that handles standard themes without custom server tweaks

Because you will avoid manual PHP tuning, your migration time shrinks significantly.

Choose NameHero if:
* You want faster hardware than budget shared plans without paying for full management
* Your project requires specific PHP extensions or higher process limits
* You are comfortable configuring your own cron jobs and server-side security rules

If you prefer raw performance over hand-holding, this path gives you more control.

For readers on a tight budget starting their first site, Bluehost remains a viable entry point where cheap shared hosting is genuinely the right answer. However, you will manage server configurations yourself instead of relying on platform tools.

Conclusion

Learning how to migrate WordPress site to new host safely is mostly about sequence. Think of a migration as moving a library while the doors are still open. The books (your content) don’t change, but if you pack them in boxes without labeling them correctly, nobody can find anything when you arrive. Our runbook keeps the labels intact by backing up first, verifying on a staging shelf, and swapping the sign outside the building only after we’ve confirmed every page is readable on the new street. You will save hours of debugging by following this sequence instead of guessing file paths or DNS timing.

Related guides

FAQs

1. Can I migrate my site without downtime?
You can minimize downtime by reducing your DNS TTL to 300 seconds 24 hours before moving, uploading the site to a staging URL on the new host, and flipping the A record during low-traffic hours. Propagation usually clears within minutes at this setting, so visitors see the new server almost immediately.

2. What happens to my Elementor layouts after migration?
Elementor stores cached CSS in the elementor/css directory, which can serve stale layouts until purged. We always clear this cache and regenerate bundles on the new host before turning traffic back on. If layouts look broken, it is usually due to a server-side caching layer that has not been flushed.

3. Do I need to install WordPress again on the new host?
You do not reinstall WordPress if you use a migration plugin or manual file transfer; you upload your existing wp-admin and wp-content folders and import your database. The core files are included in your package, and only wp-config.php needs updates for the new connection details.

4. How do I fix serialized data errors after import?
Serialized data corruption usually occurs if a raw SQL replace breaks string lengths. We run wp search-replace with the --precise flag to keep serialization intact. If you already have broken arrays, export the corrupted wp_options rows, decode them manually, correct the values, and re-upload the fixed records.

5. Should I keep my old host active after migration?
Yes, keep your old hosting account open for at least seven days while you monitor error logs and verify all functionality. This gives you a rollback option if DNS propagation leaves some users on an incomplete site or if you miss a custom configuration detail during the move.

→ Manual migration workflow checklist: duplicator.com
→ Zero-downtime cutover sequence details: wppioneer.com
→ Pre-migration best practices for backups and verification: wpremote.com

Handy to have: If rankings are the worry, a solid SEO book explains the why behind steps like these.

As an Amazon Associate, Gila Bytes earns from qualifying purchases.

If this sounds like more than you want to take on yourself, this is exactly the kind of work we do for clients at Gila Bytes. Get in touch and we’ll handle it.

#ad – This post has affiliate links; we may earn a commission at no extra cost to you. Draft was created with assistance of AI, reviewed and edited by people at Gila Bytes. How we handle affiliate links

We sell managed hosting and maintenance ourselves, so read this as a comparison from someone with skin in the game – our interest, in full.

Subscribe To Our Newsletter

Get updates and learn from the best

More To Explore

Contact Us

Have questions? We’re here to decode the details and guide you, byte by byte.

Receive the latest news

Subscribe To Our Newsletter

Get notified about new articles, sales and updates