Meregate.com
Saturday, November 14, 2026
Home โ€บ Computers โ€บ How to Migrate a WordPress Site to a New Host: A Simple Step-by-Step Guide (2026)

How to Migrate a WordPress Site to a New Host: A Simple Step-by-Step Guide (2026)

How to Migrate a WordPress Site to a New Host: A Simple Step-by-Step Guide (2026)

Moving a WordPress site to a new host sounds risky. One wrong step and your site could go down, lose pages, or drop in Google. The good news: when you do it in the right order, a migration causes no downtime at all. Your old site keeps working while you build and test the copy on the new host, and visitors only get sent to the new server once everything works.

This guide shows you how to migrate a WordPress site to a new host step by step. You will learn the four ways to move a site, which one fits your situation, and the checks to run after the move so nothing breaks. You do not need to hire a developer, and for most small sites the whole move is free and takes one to two hours.

Cardboard moving boxes taped shut
Source: Wikimedia Commons

Before You Start: 7 Checks That Prevent a Broken Move

A few minutes of prep saves hours of fixing later. Work through this list before you move anything.

  1. Back up everything, in two places. Take a full backup of your files and your database, and keep one copy on your computer and one in cloud storage. If anything goes wrong, a backup is your way back. Use your host’s backup tool or a free plugin like UpdraftPlus.
  2. Do not cancel your old hosting yet. Keep the old plan active until the new site is live, tested, and working. You may need the old dashboard if an export fails. Leave it running for at least two days after the switch.
  3. Check the new host can run your site. WordPress recommends PHP 8.3 or newer and MySQL 8.0 or MariaDB 10.11 or newer, plus HTTPS support. Check your current PHP version in your WordPress dashboard under Tools, then Site Health, then Info, then Server โ€” and make sure the new host matches it or is newer. A big version jump can break old plugins, so matching versions first makes problems easier to trace.
  4. Note how big your site is. In your dashboard, go to Tools, then Site Health, then Info, then Directories and Sizes. Free migration plugins have size limits (more on that below), so knowing your size tells you which method will work.
  5. Lower your DNS TTL a day or two before the move. DNS records have a “time to live” (TTL) that tells the internet how long to remember them. If yours is set to a day, some visitors may keep reaching the old server for a day after you switch. Lower the TTL on your domain’s A record to 300 seconds (5 minutes) at least 24 to 48 hours before cutover, so the switch spreads fast.
  6. Pick a quiet time. Do the move when your site gets the least traffic โ€” late evening or early morning. Put the site in maintenance mode during the final switch if people place orders or submit forms, so no new orders land on the old copy after you have moved.
  7. Write down your logins. You will need the WordPress admin login, the new host’s control panel login, and your domain registrar login. Have them ready before you start.

Which Migration Method Should You Pick?

There are four real ways to move a WordPress site. They all move the same two things โ€” your files (themes, plugins, uploads) and your database (posts, pages, settings) โ€” but they differ in effort and control. Use this table to pick.

MethodBest forCostSkill needed
Your new host moves itAnyone โ€” the easiest optionUsually freeNone
Migration pluginMost small business sites (All-in-One free caps imports at 512 MB)FreeBeginner
Manual (FTP + phpMyAdmin)Large sites, or hosts that block pluginsFreeComfortable with files and databases
WP-CLI over SSHDevelopers, very large sitesFreeCommand line

If you are not sure, start with Method 1. If your new host does not offer a free move, use Method 2. Only go manual if the plugin route fails or your site is too big for the free plugin limits.

Method 1: Let Your New Host Move the Site for You (Easiest)

Most hosts now offer a free migration service. Their team moves the site for you while your old site stays live. This is the fastest path and needs no technical skill from you.

  1. Buy the new hosting plan and log in to its dashboard.
  2. Look for “Migrate website”, “Website migration”, or “Request migration” in the dashboard. Every host names it a little differently.
  3. Fill in the form: your current site’s address, your WordPress admin login, and your current host’s login if asked.
  4. Submit the request. The host’s team usually finishes within a few hours to one business day.
  5. When they tell you the copy is ready, test it on the temporary address they give you. Click through your main pages, test a form, and check that images load.
  6. Only then, point your domain at the new host (see the DNS section below).

One limit to know: most host migration services do not move WordPress Multisite networks, and they do not move email accounts. If you run a network of sites under one install, use the manual method instead.

Method 2: Move It With a Free Migration Plugin (Best for Most People)

A migration plugin packs your whole site โ€” files and database โ€” into one file, which you then restore on the new host. The two most-used free plugins are All-in-One WP Migration and Duplicator. Both work the same way, and both are free for small sites. All-in-One WP Migration’s free version caps imports at 512 MB. Duplicator’s free version has no fixed size cap of its own, but very large sites can still stall on shared hosting limits. If your site is bigger than the free plugin can handle, use your host’s free service (Method 1) or the manual method (Method 3).

Step 1: Install WordPress on the new host

Most hosts offer a one-click WordPress install. Install a fresh copy on the new host โ€” it will be replaced by your site in the next steps, so do not add content to it.

Step 2: Install the plugin on both sites

On your old site, go to Plugins, then Add New, and search for “All-in-One WP Migration” or “Duplicator”. Install and activate it. Then do the same on the fresh WordPress install on your new host.

Step 3: Export from the old site

On the old site, open the plugin and choose Export. Pick “Export to File”. The plugin will build one archive file with everything in it. Download that file to your computer. For a small site this takes a few minutes; a site near the 500 MB limit can take longer.

Step 4: Import on the new site

On the new site, open the same plugin and choose Import. Upload the file you just downloaded. The plugin will unpack it and overwrite the fresh install with your real site. When it finishes, log back in with your usual WordPress admin login โ€” the imported site uses your old login, not the fresh install’s login.

With Duplicator, the steps look a little different: you create a “package” on the old site, upload the package file plus the installer.php file to the new host, then open installer.php in your browser and follow the setup screens. The result is the same.

Step 5: Save your permalinks

After the import, go to Settings, then Permalinks, and click Save Changes without changing anything. This rebuilds your site’s URL rules on the new server and fixes a common cause of “page not found” errors after a move.

Method 3: Move It by Hand (FTP + phpMyAdmin)

The manual method takes more steps, but it works on any site of any size and gives you full control. You will need an FTP client such as FileZilla and access to phpMyAdmin on both hosts.

  1. Download your files. Connect to your old host with FTP, open the public_html folder (or wherever WordPress lives), and download everything to your computer. The wp-content folder โ€” themes, plugins, and uploads โ€” is the part that matters most.
  2. Export the database. In the old host’s control panel, open phpMyAdmin, select your WordPress database, and choose Export with the Quick method. Save the .sql file.
  3. Create a database on the new host. In the new host’s control panel, create a new empty database and a database user, and give the user full access to the database. Write down the database name, username, and password.
  4. Upload the files. Connect to the new host with FTP and upload all the files you downloaded, into the same folder (usually public_html).
  5. Import the database. Open phpMyAdmin on the new host, select the new empty database, choose Import, and upload the .sql file.
  6. Update wp-config.php. In the uploaded files, open wp-config.php and change the database name, username, and password to the new ones you created in step 3. If the database host is different, update that line too.
  7. Fix the URLs if the domain changed. If the site address stays the same, you can skip this step. If the domain or the http/https part changed, do not run a plain find-and-replace on the .sql file โ€” WordPress stores some data in a format that breaks if text lengths change. Use a tool that understands this format, such as the free Better Search Replace plugin, or the WP-CLI command below. And leave the guid column alone.
  8. Save your permalinks. Log in to the new site’s dashboard, go to Settings, then Permalinks, and click Save Changes.

Method 4: WP-CLI (For Developers)

If you have SSH access on both servers, WP-CLI moves a site fast and handles big databases well. The basic flow is: copy the files with rsync or scp, export the database with wp db export, import it on the new server with wp db import, update wp-config.php, then run a safe search-replace if the URL changed:

wp search-replace 'https://oldsite.com' 'https://newsite.com' --skip-columns=guid --dry-run

Run it with –dry-run first to see what would change, then run it again without –dry-run to apply it. The command handles the stored-data format correctly, which is why it is safer than editing the database file by hand.

A data center hallway with server racks
Source: Wikimedia Commons

How to Switch the Domain Without Downtime

The move itself causes no downtime if you follow one rule: build first, switch last. Your old site keeps serving visitors while you copy and test the new one. Only when the new copy works do you point the domain at it.

  1. Test the new copy before anyone sees it. Most hosts give you a temporary address to preview the new site. Click through your home page, a few posts or product pages, your contact form, and checkout if you sell online. Check that images load and the layout looks right.
  2. Test with your real domain, privately. You can point your own computer at the new server by adding one line to your computer’s hosts file, mapping your domain to the new server’s IP address. Only your browser is affected โ€” the rest of the world still reaches the old host. Log in, resave permalinks, and click through the key pages.
  3. Switch the DNS. At your domain registrar or DNS provider, change the A record to the new server’s IP address (or change the nameservers to the ones your new host gives you). This is the final and most important step.
  4. Wait for the change to spread. DNS changes can take up to 48 hours to reach everyone, though most visitors see the new server within 1 to 4 hours. Because you lowered the TTL earlier, the wait is usually short.
  5. Keep the old host running. Leave the old server live and paid for at least two days after the switch. If something looks wrong, you can point the domain back in minutes.

After the Move: 10 Things to Check

Do not cancel the old host until every item on this list passes.

  1. Your home page and main pages load, with images and styling intact.
  2. You can log in to the WordPress dashboard on the new host.
  3. Your contact form sends a test message, and your checkout works if you sell online.
  4. Your SSL certificate is active โ€” the padlock shows in the browser and the site loads on https. Most hosts install this for free; if it is missing, turn it on in your hosting panel.
  5. Permalinks are saved (Settings, then Permalinks, then Save Changes).
  6. Internal links and images point to the right places, with no old-host address left in them.
  7. Your site loads at a normal speed. Test it with PageSpeed Insights and compare with before.
  8. Search Console still sees the site. If the domain stayed the same, nothing needs to change. If the domain changed, submit a Change of Address in Google Search Console and add 301 redirects from every old URL to its new twin.
  9. Your sitemap works. Open yoursite.com/sitemap_index.xml and check it loads.
  10. Your backups are running on the new host. Set up the same backup schedule you had before.

What a Migration Does Not Move

A WordPress migration moves WordPress โ€” not everything attached to your hosting account. These things need separate attention:

  • Email accounts. Mailboxes and forwarders set up on your old host do not come with the site. Recreate them on the new host, or move them to a mail service, before you cancel the old plan.
  • DNS records. Your domain’s DNS records (MX records for email, TXT records for verification) live at your registrar or DNS provider, not in WordPress. If you change nameservers to the new host, copy those records over first.
  • Files outside WordPress. Anything stored outside the WordPress folder โ€” a separate app, a download folder, a staging copy โ€” stays behind unless you copy it yourself.
  • Server settings. Cron jobs, PHP version settings, and redirect rules in .htaccess may need to be set up again on the new host.

Common Problems and How to Fix Them

“Error establishing a database connection”

This is the most common error after a move, and it almost always means the database details in wp-config.php are wrong. Open the file and check the database name, username, password, and database host against the ones you created on the new host. One wrong character is enough to break it.

White screen or “There has been a critical error”

This usually comes from a plugin that does not work with the new server’s PHP version. Rename the plugins folder to plugins-old with FTP โ€” if the site comes back, rename it back and then rename plugins one by one inside it until you find the one that breaks the site.

Images or styles look broken

This is often mixed content: the site loads on https but some images or files still use http. Check your site address in Settings, then General โ€” both fields should start with https. Then save permalinks again.

Pages show “404 Not Found”

Go to Settings, then Permalinks, and click Save Changes. This rebuilds the URL rules and fixes most 404 errors after a move.

The import stops at the size limit

If All-in-One WP Migration refuses your file, your site is over its 512 MB free limit. Try Duplicator instead, ask your new host to move the site for free, or use the manual method, which has no size limit.

Some links still point to the old domain

Run a proper search-replace (Better Search Replace plugin or WP-CLI) and leave the guid column untouched. A plain text edit of the database file breaks stored data and causes strange errors later.

Frequently Asked Questions

How long does it take to migrate a WordPress site?

For a small site under 1 GB, a plugin migration takes 60 to 90 minutes from start to finish. A host-managed migration usually finishes within a few hours to one business day. The slow part is waiting for DNS to spread, which can take up to 48 hours even though most visitors switch within 1 to 4 hours.

Will my SEO rankings drop after migration?

If you keep the same domain and the same URLs, no. Google treats it as the same site on a new server, and a faster host can even help rankings over the next few weeks as Google recrawls. If the domain also changes, expect some short-term movement โ€” Google says to expect temporary fluctuation during a site move. Good 301 redirects from every old URL to its new twin, plus a Change of Address in Search Console, protect your traffic.

Do I need to reinstall WordPress on the new host?

No. With a plugin, the import replaces the fresh install with your real site. With the manual method, you upload your existing files directly โ€” no fresh install is needed. You only install a blank WordPress first as a starting point for the plugin method.

Can I migrate a WordPress site for free?

Yes. Most hosts move your site free when you sign up, and the free version of All-in-One WP Migration handles sites up to 512 MB at no cost. Duplicator’s free version has no fixed size cap. You only pay if you want a premium plugin for a very large site, or a paid migration service.

How do I export my entire WordPress site?

The easiest way is a migration plugin: install All-in-One WP Migration, open Export, and choose “Export to File”. That one file holds your posts, pages, media, themes, plugins, and settings. If you only need the content (posts and pages, without themes or settings), use Tools, then Export in your dashboard instead.

Will my email stop working after the move?

Only if your email runs on the old host and you cancel it before moving the mailboxes. Email is separate from WordPress. Set up the same mailboxes on the new host (or a mail service) and copy your MX records before you cancel the old plan.

What if I am changing the domain too?

The steps are the same, with three extras: run a proper search-replace to update every stored URL, add a 301 redirect from each old URL to its new twin (redirecting everything to the home page throws away the value of your ranking pages), and submit a Change of Address in Google Search Console.

Can I migrate a Multisite network?

Most host migration services and free plugins do not support Multisite. A manual move works, but it has extra steps for the network’s domain mapping, so it is best left to someone who has done it before.

Last updated: November 2026

Taylor Orlando

Taylor Orlando is a content writer at Meregate covering websites, SEO, and AI. Taylor breaks down complex topics into simple, practical guides that help small businesses build better websites, rank higher on Google, and get real value from AI tools โ€” no jargon, no fluff.

Related Articles