All-in-One WP Migration: How to Move a WordPress Site to a New Host (Zero Downtime)

Moving a WordPress site sounds intimidating, but it is one of the most common — and most reversible — operations you will ever run on your business website. Whether you are escaping slow hosting, consolidating brands onto one server, or finally moving to faster infrastructure, an all-in-one WP migration is really just two things travelling together: your files and your database. Get the order of operations right, and your visitors never notice a thing.

I have moved sites that earned five figures a month, and the difference between a stressful migration and a boring one is never the tool. It is the plan. Below is the complete playbook — the plugin route, the manual route, and the zero-downtime sequencing that keeps revenue flowing while you work.

Key Takeaways
• A WordPress migration moves two things to a new home: your files (themes, plugins, uploads) and your MySQL database (posts, settings, users).
• Three methods exist: a migration plugin (easiest), a manual FTP + database move (full control), or a host-assisted free migration (hands-off).
• The secret to zero downtime is order: build and test the new site fully *before* you touch DNS.
• Lower your DNS TTL in advance so the final switch propagates fast.
• Budget time for post-migration checks: SSL, permalinks, search-replace of old URLs, and broken images.

This guide is part of our complete guide to WordPress hosting, where you can see how migration fits into the bigger picture of speed, security, and care.

What exactly is a WordPress migration?

A WordPress migration is the process of moving a live WordPress site from one location to another — a new host, a new server, or a new domain — without losing data or functionality. Because WordPress is built on two components, a complete migration must carry both:

  1. The files. This is everything on disk: WordPress core, your active theme, every plugin, and the `wp-content/uploads` folder full of images and media.
  2. The database. This is the MySQL database that stores your posts, pages, comments, users, plugin settings, and site configuration.

Miss either half and the site breaks. Move the database but not the uploads, and every image 404s. Move the files but not the database, and you get a fresh WordPress install with none of your content. A good migration keeps the two perfectly in sync, then updates a few configuration values so the new copy knows where it lives.

The business reason matters too: most people migrate to get faster hosting, better security, or proper support. The technical move is the means; the outcome is a site that loads quicker and costs you fewer lost customers.

Which WordPress migration method should you choose?

There is no single “right” way to move WordPress to a new host — the best method depends on your site size, your comfort with servers, and how much control you need. Here is how the three approaches compare.

Method Best for Difficulty Control Watch out for
Migration plugin (All-in-One WP Migration, Duplicator) Small-to-medium sites, beginners Easy Medium Free-version upload size limits
Manual (FTP/SFTP + MySQL export/import) Large sites, agencies, full control Hard Full Editing `wp-config.php`, serialized data
Host-assisted / free migration Anyone who wants it done for them Very easy Low Queue times; confirm what is included

A second quick comparison on what each method actually transfers:

What gets moved Plugin Manual Host-assisted
Files (themes, plugins, uploads) Yes, in one package Yes, via FTP/SFTP Yes
Database Yes, bundled in Yes, export/import Yes
`wp-config.php` updates Automatic You edit by hand Done for you
URL search-replace Usually automatic Manual or via tool Usually handled

Most readers should start with a plugin. Reach for manual when files exceed a plugin’s free limit or you need surgical control. Use host-assisted migration when your new host offers it and you would rather hand off the work.

How do you migrate WordPress with a plugin?

The plugin route is the fastest way to migrate a WordPress site because it packages files and database into a single exportable file, then unpacks it on the new host. Tools like All-in-One WP Migration and Duplicator are the popular choices. Here is the workflow.

  1. Install the migration plugin on your old site. From the WordPress dashboard, go to Plugins → Add New, search for your chosen migration plugin, install, and activate it.
  2. Export your site to a package. Open the plugin and run an export. It will bundle your files and database into a single downloadable file (often `.wpress` or a zipped archive). Download it to your computer.
  3. Set up a fresh WordPress install on the new host. Provision a database and install a clean copy of WordPress on the destination. Most hosts offer a one-click WordPress installer for this step.
  4. Install the same migration plugin on the new site and import. Activate the plugin on the fresh install, choose Import, and upload the package you exported in step 2. The plugin overwrites the blank install with your real site.
  5. Check everything. Log in, click through pages, verify images load, and confirm plugins are active. Re-save your permalinks (Settings → Permalinks → Save) to flush rewrite rules.

The one caveat: the *free* version of most migration plugins enforces an upload size limit (commonly a few hundred megabytes). If your `.wpress` package is bigger — usually because of a large media library — you will either need the premium extension, a manual increase of your server’s upload limit, or the manual method below. Before you start, it is worth running a fresh so you always have a known-good restore point.

How do you migrate WordPress manually?

The manual method gives you full control and no size limits, which is why agencies and large sites prefer it. You move the two halves separately. Here is the sequence to move WordPress to a new host by hand.

  1. Back up everything first. Download a complete copy of your files and a full database dump before you change anything. This is your safety net.
  2. Move the files. Connect to your old host via FTP/SFTP, download the entire WordPress directory (or just `wp-content` plus core if you prefer a clean reinstall), then upload it to the new host.
  3. Export the database. In your old host’s database tool (typically phpMyAdmin), export the WordPress database as a `.sql` file.
  4. Import the database on the new host. Create a new MySQL database and user on the destination, then import the `.sql` file into it.
  5. Edit `wp-config.php`. On the new server, open `wp-config.php` and update the database name, database user, password, and host to match the new database you just created. Save it.
  6. Update the site URL if needed. If your domain is changing, update the `siteurl` and `home` values — and crucially, run a proper search-replace across the database (more on this below) so serialized data does not break.

Manual is more work, but nothing is hidden from you. If something fails, you know exactly which of the six steps to revisit.

The secret to a zero-downtime WordPress migration is not the tool — it is the order of operations. Fully set up and *test* the site on the new host before you touch DNS. While you build and verify the new copy, your old site keeps serving live traffic, so visitors never see anything change. Only once the new server is proven working do you point DNS to it. Beginners do this backwards: they change DNS first and migrate second, opening a window where the domain points at a half-built site and visitors hit errors. The rule is migrate-then-switch, never switch-then-migrate. The live site keeps running until the new one is verified ready, and nobody ever lands on a broken page.

How do you point DNS for a zero-downtime switch?

This is the step that turns a risky migration into an invisible one. The goal is to have a fully working copy on the new host while the old site stays live, then flip traffic over instantly.

  1. Lower your DNS TTL ahead of time. A day or two before migrating, reduce the TTL (Time To Live) on your domain’s A record — for example from 24 hours down to 300 seconds. This tells the internet to re-check your DNS far more often, so when you finally switch, the change spreads fast instead of lingering for hours.
  2. Build and test on the new host first. Get the entire site working on the new server *before* DNS knows about it. Use a temporary URL, a `hosts` file entry, or a staging domain provided by the host to load and inspect the migrated site.
  3. Verify thoroughly. Click through key pages, test forms, confirm the checkout or contact flow, and check images and SSL. The old site is still live and unaffected during all of this.
  4. Point DNS to the new server. Only now do you update the A record (or nameservers) to the new host’s IP. Because you lowered the TTL, propagation happens quickly.
  5. Watch propagation. Traffic gradually shifts to the new server. Both copies serving the same content briefly is fine — that is the seamless overlap that makes downtime zero.

DNS changes never apply instantly worldwide, so understanding helps you set expectations and time the switch. When you are also moving providers entirely, our guide on how to walks through the surrounding decisions.

How do you run post-migration checks?

A migration is not done when the files land — it is done when the site is verified clean. Run this checklist on the new host immediately after the DNS switch:

  1. Search-replace old URLs. If anything references the old domain or `http://` instead of `https://`, replace it across the database with a serialization-safe search-replace tool. Never use a raw SQL find-and-replace — it corrupts serialized data (PHP arrays stored in the database, common in theme and plugin settings).
  2. Re-save permalinks. Go to Settings → Permalinks and click Save to regenerate rewrite rules and fix 404s on inner pages.
  3. Check images and media. Spot-check several pages. Broken images usually mean a missed `uploads` folder or an un-replaced old URL.
  4. Confirm SSL. Make sure the SSL certificate is active on the new host and the site loads over `https://` with no mixed-content warnings.
  5. Test forms and dynamic features. Submit a contact form, run a test transaction, and confirm email sends.
  6. Review internal links and redirects. Make sure menus, internal links, and any redirects resolve correctly.

A fast new home is wasted if the migration left junk behind, so it is also a great moment to revisit now that you are on better infrastructure.

What are the most common WordPress migration problems?

Almost every migration headache falls into one of these buckets — and each has a known fix.

  • Upload size limits. The free plugin version rejects your package because it is too large. Fix: raise the server upload limit, use the premium extension, or switch to the manual method.
  • Broken serialized data. Settings vanish or the theme misbehaves after a domain change because a raw find-and-replace mangled serialized arrays. Fix: always use a serialization-aware search-replace tool.
  • Broken links and images. Old domain or `http` URLs linger in content. Fix: a thorough URL search-replace, then re-save permalinks.
  • Missing SSL. The new host has no certificate yet, so the site shows “not secure.” Fix: install/activate SSL on the new host before pointing DNS, then force HTTPS.
  • White screen or database error. Almost always wrong credentials in `wp-config.php`. Fix: double-check the database name, user, password, and host.

Make the move painless with DarazHost. DarazHost makes moving your WordPress site stress-free: we are compatible with popular migration plugins like All-in-One WP Migration and Duplicator, and we give you full SFTP and database access for manual moves. Free SSL is waiting on your new home, and our 24/7 support helps you set up and test everything *before* you switch DNS — so you get a true zero-downtime migration. Bring your site to faster SSD + LiteSpeed hosting without the stress, and let your visitors enjoy a quicker site that never went offline.


Frequently asked questions

Will my site go down during migration? Not if you follow the right order. Build and test the new copy fully before pointing DNS at it. Your old site keeps serving traffic the entire time, so the switch is seamless. Lowering your DNS TTL in advance makes the final flip propagate in minutes rather than hours.

Do I need a plugin, or can I do it manually? Both work. A migration plugin like All-in-One WP Migration is easiest and great for small-to-medium sites. The manual FTP-plus-database method gives full control and avoids the free-version size limits, which matters for large media libraries. Choose based on site size and your comfort with servers.

What is the upload size limit problem with migration plugins? Free versions of many migration plugins cap the import file size, often at a few hundred megabytes. If your packaged site exceeds that — usually because of a big uploads folder — you will need the premium extension, a higher server upload limit, or the manual migration method instead.

How long does WordPress migration take? The file and database transfer itself is usually under an hour for a typical site. The bigger variable is DNS propagation after you switch, which is why lowering your TTL beforehand matters. With testing and post-migration checks, plan for a half-day to be safe.

What should I check after migrating? Run a search-replace of old URLs, re-save permalinks, confirm SSL and HTTPS, verify images load, and test forms and any checkout flow. These catch the broken links, missing media, and mixed-content issues that account for most post-migration complaints.

About the Author

Leave a Reply