Blog migrations
migrations

How to migrate off WordPress without losing your search rankings

The number-one fear about leaving WordPress is a traffic cliff. Here is the exact redirect-and-validation process we use to move sites to Astro + Sanity with rankings intact.

You can move off WordPress without losing rankings — if you treat URLs and structured data as first-class deliverables, not afterthoughts. A traffic drop after a migration is almost always caused by broken redirects, changed URL structures, or dropped metadata — all of which are preventable. Here is the process we follow on every migration.

Why migrations lose rankings (and why yours doesn’t have to)

Search engines rank URLs, not “sites.” When you re-platform, three things commonly break that relationship:

  • URLs change and nothing tells Google where the old page went.
  • Redirects are incomplete — the homepage and top pages get handled, the long tail does not.
  • On-page signals reset — titles, meta descriptions, canonicals, and structured data are rebuilt from scratch and quietly differ from what ranked.

Avoid those three and rankings hold. The work is methodical, not mysterious.

Step 1 — Crawl the existing site and inventory every URL

Before touching anything, crawl the live site and export a complete URL list — every page, post, tag archive, paginated URL, and PDF. This inventory is the contract: every URL on it must resolve to something sensible after launch, either the same content at the same path or a 301 redirect to its new home.

Step 2 — Preserve URL structure where you can

The cheapest redirect is the one you don’t need. Where the old URL structure is sane, keep it. Astro lets you define routes that match your existing paths exactly, so /blog/my-post/ stays /blog/my-post/. Only redirect what actually has to change.

Step 3 — Build a 1:1 redirect map for everything that does change

For every URL that changes, write an explicit 301 redirect from old to new. Not a catch-all to the homepage — that’s the single most common ranking-killer, because it tells Google the old page is gone and its equity evaporates. One old URL, one 301, one relevant destination.

Step 4 — Carry over titles, meta, canonicals, and schema

Rebuild the on-page signals to match what ranked: title tags, meta descriptions, canonical tags, and JSON-LD structured data. In a new build or revamp you might improve these deliberately; in a migration you preserve them first, then improve once rankings are stable.

Step 5 — Validate in Search Console after cutover

Flip DNS on a quiet weekday and watch. For the first 48 hours, monitor crawl errors, the Pages report, and Core Web Vitals. Submit the new sitemap, spot-check redirects, and confirm Google is indexing the new URLs. Done right, you’ll typically see rankings hold and then improve as faster Core Web Vitals are rewarded.

The payoff

A site that’s dramatically faster, that your team can edit in Sanity Studio without a developer, and that kept every bit of the search equity you spent years building. The migration is a project with a clear method — see how we run an engagement end to end.

Need help applying any of this?

We do this for clients every week. 30 minutes, no obligation.