The first time I moved a WordPress site to a new host, I did it on a Friday evening, after work, with zero plan beyond "export, import, done." By Monday morning, half my images were broken, three of my best-ranking pages were returning 404 errors, and my traffic graph looked like it had fallen off a cliff. It took almost two weeks to fully recover.

How to Migrate Your WordPress Site to a New Host Without Losing Google Rankings

The frustrating part? None of that needed to happen. Migrating a WordPress site is genuinely not that complicated — what trips people up almost every time is doing things in the wrong order, or skipping a step that seems "optional" but really isn't.

This guide walks through the exact order I follow now, every single time, whether I'm moving a small blog or a site with a few hundred pages. If you follow this in order, there's a very good chance your rankings won't move at all — and if they dip slightly, they'll recover within days instead of weeks.

Why Migrations Cause Ranking Drops in the First Place

Before jumping into steps, it helps to understand what Google is actually reacting to when a migration goes wrong.

Google has crawled and indexed your current URLs, and it has a "trust score" built up for your domain based on how long it's been around, how reliably it loads, and how consistent the content has been. When you migrate poorly, a few things can happen at once: pages that used to load in 1-2 seconds suddenly take 8-10 seconds (or time out completely) because DNS hasn't fully propagated or the new server isn't configured properly. Internal links break because the database still references old file paths. Images return broken-link icons because media files weren't transferred correctly. And in the worst cases, URLs change entirely without redirects, so Google's index is now pointing at pages that simply don't exist anymore.

None of these things are permanent damage — Google isn't "punishing" you. But each one sends a small signal that something's wrong with your site, and enough of those signals at once can cause a temporary ranking dip while Google re-evaluates things. The goal of a careful migration is simply to avoid sending those signals in the first place.

Before You Touch Anything: Your Pre-Migration Checklist

This part takes maybe 20-30 minutes and it's the difference between a smooth migration and a stressful one.

Write down your current traffic and ranking baseline. Open Google Search Console and Google Analytics, and just take screenshots (or note down numbers) for your top 10-15 pages — their current rankings for main keywords, and their traffic over the last 28 days. This isn't just for peace of mind; it's your reference point for spotting if anything actually changed after migration, versus normal day-to-day fluctuation.

Get a full list of your indexed URLs. In Search Console, go to the Pages report and export the list of indexed URLs. You'll use this later to double-check that every important page still works after the move.

Take a complete backup — files AND database. WordPress sites are really two things: the files (themes, plugins, uploads folder, core files) and the database (your actual posts, pages, comments, and settings). You need both. Most hosts offer a one-click backup tool, or you can use a plugin. Download this backup to your own computer too — don't just leave it sitting on the old server.

Note your current PHP version and any active plugins/theme. Sometimes a new host runs a different PHP version by default, and certain plugins or themes can behave unexpectedly on a version they weren't tested with. Knowing your current setup helps you match it (or at least be aware of differences) on the new host.

Step 1: Set Up the New Host Before Touching the Old One

This is the step almost everyone skips, and it's the single biggest source of stress during migrations. Don't cancel, pause, or change anything on your current hosting yet. Instead, sign up for the new hosting plan and get WordPress installed there fresh — separately, on a temporary URL.

Most hosts give you a temporary domain (something like yoursite.temporaryhostname.com) that lets you access and configure the site before your real domain is pointed at it. If your host doesn't offer this, you can also test locally by editing your computer's "hosts" file to preview the new site under your real domain name, without affecting what visitors or Google currently see.

The point is simple: your live site keeps running normally on the old host while you build and test everything on the new one, completely in the background.

Step 2: Move Your Files and Database to the New Server

With the new WordPress installation ready, it's time to bring your content over. There are a few ways to do this, depending on your comfort level.

The simplest approach for most people is using a migration plugin (several popular ones are built specifically for this and handle both files and database in one go). You install the plugin on your old site, create a migration package, then install the same plugin on the new site and import that package. It handles a lot of the technical details — like updating internal database references — automatically.

If you're more comfortable with manual methods, you can export your database, download your wp-content folder (themes, plugins, uploads) via FTP, then import the database into the new server and upload the files. This gives you more control but takes more time and has more room for small mistakes — like forgetting to update the site URL inside the database, which can cause strange redirect loops.

Either way, once this step is done, your new server should have an exact copy of your site, accessible at that temporary URL.

Step 3: Test Everything Before Going Live (This Is Non-Negotiable)

This is the step that saved me the most headaches once I started taking it seriously. Before pointing your domain at the new server, go through your site on the temporary URL and actually check things.

Click through your main navigation menu. Open a handful of your top-performing posts (the ones from your baseline list) and check that images load, internal links work, and formatting looks correct. Test your contact form if you have one. Check that your site loads over HTTPS properly once SSL is set up (more on that in a second). And run a quick speed test using a free tool — if the new server is noticeably slower than your old one even at this stage, that's worth investigating now, not after you've already switched.

If something looks broken, this is the safe time to fix it — your live site and your real visitors haven't been affected at all yet.

Step 4: Set Up SSL on the New Server

Most hosts now offer free SSL certificates that can be issued in a few clicks, but it needs to be set up on the new server before — or immediately as — you switch your domain over. If your site briefly serves content over HTTP without a valid certificate after the switch, browsers will show security warnings, and Google strongly prefers (and in some cases requires) HTTPS for proper indexing of modern sites.

Set this up while you're still testing on the temporary URL if your host allows it, so it's ready to go the moment your domain points to the new server.

Step 5: Update Your DNS Records

This is the step that actually "flips the switch." Your domain's DNS settings control which server responds when someone types your domain into their browser. You'll update these records (usually an "A record" pointing to the new server's IP address) through wherever your domain is registered — sometimes that's your old host, sometimes a separate domain registrar.

Here's the part that surprises people: DNS changes don't happen instantly everywhere. It can take anywhere from a few minutes to about 24-48 hours for the change to fully propagate across the internet, depending on caching. During this window, some visitors (and some Google crawl requests) might still hit the old server, while others reach the new one. This is normal — both versions of your site should be identical at this point anyway, since you copied everything over in Step 2.

Pick a low-traffic time to make this change — for most sites, that's late at night in your main audience's timezone — just to minimize the number of people who might experience any hiccups during propagation.

Step 6: Handle URL Changes With Proper Redirects (If Any)

If your URLs are staying exactly the same — same domain, same permalink structure — you can mostly skip this step. But if anything about your URLs is changing (switching from http to https, changing your domain entirely, or restructuring your permalinks), you need 301 redirects from every old URL to its new equivalent.

A 301 redirect tells both browsers and Google "this page has permanently moved here" — and importantly, it passes along most of the ranking value from the old URL to the new one. Without it, Google treats the old URL as simply gone, and the new URL as a brand-new page with no history. This is the single most common cause of serious ranking drops during a migration that involves URL changes, and it's also the most preventable one.

Most WordPress redirect plugins let you set these up in bulk, especially if you're working from the list of indexed URLs you exported earlier.

Step 7: Update Your XML Sitemap and Resubmit to Search Console

Once your site is live on the new server and everything checks out, regenerate your XML sitemap (most SEO plugins do this automatically) and submit it again in Google Search Console, even if the URL of the sitemap itself hasn't changed. This nudges Google to recrawl your site sooner rather than waiting for its normal schedule.

If your domain or URL structure changed, this is also when you'd use Search Console's "Change of Address" tool, which specifically tells Google "this entire site has moved here" — it's designed exactly for this situation and helps preserve rankings during domain migrations.

Step 8: Monitor Closely for the First 1-2 Weeks

For the first few days after migration, check Search Console's Coverage/Pages report every day or two, not just once. Watch for any sudden spike in "Not Found" or "Server Error" entries — these would indicate something didn't transfer correctly or a redirect is missing somewhere.

Also keep an eye on your Core Web Vitals report. If your new server is slower or configured differently, this is often where it shows up first, before it shows up in your rankings.

Some fluctuation in rankings during this window is completely normal — Google is essentially re-confirming that everything still works as expected. What you're watching for is anything that looks like an actual error, not just minor day-to-day movement.

Step 9: Keep the Old Host Active for a Few Days

Don't cancel your old hosting plan the moment you switch DNS. Keep it active for at least a week, ideally two. If something unexpected comes up — a missed redirect, an email account that was tied to the old server, or DNS propagation taking longer than expected for some users — having the old environment still available gives you a safety net while you sort it out.

Common Mistakes That Cause Avoidable Ranking Drops

A few patterns show up again and again when migrations go badly. Forgetting to update the "site URL" and "home URL" settings inside WordPress after a domain change is one — this alone can break your entire site's internal linking. Migrating during a high-traffic period (like right before a big sale or a viral post) is another, simply because any hiccup affects more people and gets noticed faster. And skipping the testing step on a temporary URL — going straight to DNS changes and "hoping it works" — is probably the most common one of all, mostly because it feels like it saves time, right up until it doesn't.

How Long Until Rankings Fully Stabilize?

For a clean migration — same URLs, proper redirects if needed, SSL handled correctly — most sites see little to no noticeable ranking change at all. If there is a small dip, it typically resolves within a few days to about two weeks, as Google recrawls your pages and confirms everything is functioning normally on the new server.

If a dip persists longer than that, it's usually a sign that something specific is wrong — a missing redirect, a broken sitemap, or a speed issue — rather than just "migration settling time." That's exactly why the monitoring step matters: catching a specific issue early is much faster to fix than waiting and hoping it resolves on its own.

Quick FAQs

Will my site go down during migration if I follow these steps? No — since you're building and testing the new site separately before switching DNS, your live site keeps running normally on the old host the entire time. The only "switch" moment is the DNS update, which is typically seamless if SSL and everything else was already configured and tested beforehand.

Do I need to tell Google I'm migrating? Not for a same-domain migration with no URL changes — Google will simply recrawl your pages as usual, and resubmitting your sitemap helps speed that up. For domain changes, using Search Console's Change of Address tool is the recommended way to inform Google directly.

What if I don't use any redirect plugin — is that a dealbreaker? Only if your URLs are changing. If your domain and permalink structure stay exactly the same, there's nothing to redirect — the same URLs simply now live on a different server, which is invisible to both visitors and Google.

Final Thoughts

Migrating a WordPress site without losing rankings really comes down to one principle: build and verify the new version completely before switching anything that visitors or Google can see. Every step in this guide exists to support that one idea — keep the old site running while the new one gets fully tested, and only flip the switch once you're confident it's ready.

Take it slowly, do it during a quiet period, and keep that old hosting account active as your safety net for a week or two. Done this way, migration becomes one of those tasks that's much less scary in practice than it sounds on paper.

Read More:

The Hosting Renewal Price Trap Nobody Warns You About