Site migrations that keep your rankings, leads, and orders

Migrations fail in the gaps: a URL nobody mapped, a form that stopped reaching the CRM, a product feed still pointing at the old domain. We inventory everything before cutover and verify it afterwards — the way we moved Squeaky Clean Turf from two WordPress sites to one headless storefront.

TL;DR

Who this is for

Any business whose current site earns search traffic, leads or orders and is about to change platform, domain, URL structure or host. The more of these you combine in a single launch, the harder it is to know what caused a drop, so the first thing we do is name which kind of move you're making.

Migration Example Risk
Hosting move, same URLs One WordPress host to another Low, if DNS and caching are handled
Platform or CMS change WordPress to Astro, WooCommerce to Shopify High: URLs, templates and data all change
Domain change or consolidation Two brand domains merged into one High: every URL changes, signals must transfer
URL structure change New category paths, removing dates from blog URLs Medium to high, depending on scale
Protocol or subdomain change HTTP to HTTPS, www to non-www Medium: simple rules, easy to get partially wrong

Where we can, we separate the URL change from the redesign. If the site already has indexing problems, start with a technical SEO audit so you don't carry them onto the new platform.

What's included

The redirect map protects rankings. The business needs more than that, so these move alongside the URLs, each of which came up on a real project:

Our migration process

Inventory everything

A full crawl of the old site, Search Console page data, top landing pages from analytics, the URLs your backlinks point to, and every sitemap. Then the things that aren't URLs: forms, CRM automations, product feeds, active subscriptions, tracking tags, transactional emails.

Map URLs one by one

Each old URL gets the closest equivalent new URL. Removed pages get the most relevant alternative, or a deliberate 404 or 410 if nothing fits. Pattern rules are tested against the full old URL list.

Build to parity

Content and metadata carried across or improved on purpose — never lost by accident. Changes we do make are logged so a ranking shift can be traced to a decision.

Rehearse on staging

Staging is protected by authentication rather than robots.txt, so nothing leaks into the index. We run the whole redirect map against it, crawl it, and push labelled test submissions through every form into the CRM.

Cut over

Redirects deployed at the server or edge, DNS switched, authentication removed, launch robots.txt in place, new sitemaps submitted, Change of Address filed if the domain changed.

Monitor until it settles

The old URL list is re-crawled to confirm every redirect lands on a 200. Search Console indexing and 404 reports, clicks by page group, form submissions and Merchant Center diagnostics are watched daily at first, then weekly.

Migration mistakes we're usually called in to fix

What Google actually recommends

Google's documentation on site moves with URL changes is the rulebook we work from. The points that matter most:

Which redirect code? Both 301 and 308 are permanent. The difference, defined in RFC 9110, is that 308 forbids changing the request method, which matters for form posts and APIs and not much for ordinary page views. Meta refresh and JavaScript redirects are fallbacks for hosts that can't do server redirects; Google can follow them but we don't plan around them.

Pre-launch parity checklist

Item What "pass" means
Redirects Every mapped old URL returns one 301 or 308 hop to a 200 page
Indexability No stray noindex; robots.txt allows what should be crawled
Canonicals Self-referencing, absolute, on the new domain
Metadata and headings Present on every template, intentionally changed where changed
Hreflang Every language version points at new URLs and returns the reciprocal link
Structured data Validates and matches visible content
Internal links Point at final URLs, not at redirects
Sitemaps List only new, canonical, 200-status URLs
Analytics and tags Page views and conversions fire on the new templates
Forms and CRM A labelled test lead lands in the right pipeline with the right fields
Feeds Merchant Center and marketplace feeds use the new URLs

The first 30 days after cutover

Day one: crawl the full old-URL list in list mode and fix anything that isn't a single hop to a 200. Watch real form submissions and orders arrive. Week one: check Search Console's Page indexing report for new 404s and redirect errors, and server logs for old URLs Googlebot keeps requesting. Weeks two to four: compare clicks by page group against the 16-month baseline rather than the site total, because a drop in one section is easy to hide inside a flat total.

Pricing and engagement

A fixed fee scoped by URL count, the platforms involved, and how much data moves with the site. Post-launch monitoring is included for an agreed period. If the migration comes with a redesign, the build is scoped through our website builds service so the two stay coordinated. No percentage fees and no long contract, consistent with our pricing page.

Platforms we work in

The platforms we migrate between most often, and the tools that verify the move.

WordPress logoWordPress WooCommerce logoWooCommerce Shopify logoShopify Astro logoAstro Cloudflare logoCloudflare Webflow logoWebflow Google Search Console logoGoogle Search Console Screaming Frog SEO Spider GoHighLevel Google Merchant Center

Proof you can check

Migration · Two sites into one

Squeaky Clean Turf

Two WordPress sites consolidated into one Astro site on Cloudflare Pages; WooCommerce replaced by Shopify with customers, orders, products and images moved; the product domain 301-redirected page by page; every form, chat, order and review wired into GoHighLevel and checked against live execution logs; Merchant Center misrepresentation warnings cleared with a custom feed.

Read the full case study →
Migration · Domain transfer

Good Life Insurance Group

A domain transfer and complete rebuild on Cloudflare, launched with full schema across 77 pages.

Read the build story →
Restructure · ahmeego.com

Rebuilding our own programmatic pages

How we audited and rebuilt 2.8 million templated pages after Google's March 2026 updates, including the numbers that forced the decision.

Read the write-up →
Video · Squeaky Clean Turf

A turf-cleaning company texted me an idea

Squeaky Clean Turf, the client behind the two-site consolidation, texted John an idea: give customers a reason to come back between visits.

Watch the video →

Frequently asked

Will I lose rankings when I migrate my website?
Some short-term fluctuation is normal; Google says medium-sized sites can take a few weeks or more for new URLs to replace old ones. Lasting losses usually come from missing redirects, lost content or broken internal links — exactly what the inventory, mapping and parity checks are for.
How long should 301 redirects stay in place?
Google's guidance is as long as possible, generally at least a year, and it suggests considering keeping them indefinitely for users. We keep redirects for URLs with backlinks permanently; they cost almost nothing to serve.
Can I just redirect deleted pages to the homepage?
No. Google warns that sending many old URLs to one irrelevant page such as the homepage can be treated as a soft 404. Redirect to the closest relevant page, or let truly retired content return a 404 or 410.
Should I use a 301 or a 308 redirect?
Either is permanent and Google treats both as a strong signal. A 308 also guarantees the request method won't change, which matters for form posts and APIs. For ordinary pages we use whichever your server or CDN supports cleanly.
Do I need Search Console's Change of Address tool?
Only for domain or subdomain changes. When you use it, Google says to submit it for every verified variant of the old domain, including www and non-www versions you don't actively use.
Can you migrate WooCommerce to Shopify, including customers and orders?
Yes. Customers with their marketing consent status, order history and products with images all move, in that order, with counts reconciled. Active subscriptions are flagged for your decision rather than moved automatically.
What happens to my forms and CRM automations?
We rebuild forms to write the same CRM fields the old ones did, add new triggers alongside the old ones, then trace a labelled test lead from the live site into the pipeline before calling it done.

Plan your migration

Tell us what you're moving from and to, roughly how many pages you have, and your target date.

John, Kristy, or Sandeep will reply. One of the three of us will respond personally within 1 business day. No SDR queue.
We respond within 1 business day. No spam, ever. Read our privacy notice.

Top 25 references

The primary sources, standards, research, and tools we rely on for this work. Every link was checked on 2026-10-11. We aren't affiliated with these publishers unless noted.

Official documentation

  1. Site moves with URL changes — Google Search Central
    Google's migration rulebook: permanent redirects, no PageRank loss, avoid homepage redirects, keep redirects at least a year.
  2. Move a site with no URL changes — Google Search Central
    The lower-risk case of a hosting move, with the DNS and server checks that still matter.
  3. Redirects and Google Search — Google Search Central
    How Google treats server-side, meta refresh and JavaScript redirects and which ones count as permanent.
  4. How HTTP status codes affect Google's crawlers — Google Crawling Infrastructure
    What 301, 308, 404, 410 and 5xx responses mean to Googlebot during and after cutover.
  5. What is URL canonicalization / Consolidate duplicate URLs — Google Search Central
    Why canonicals, redirects and sitemaps on the new site must all point at the same final URLs.
  6. Block search indexing with noindex — Google Search Central
    How noindex works and why a leftover staging noindex silently removes pages after launch.
  7. Tell Google about localized versions of your page — Google Search Central
    The hreflang rules to carry across when a multilingual or multi-region site moves.
  8. Change of Address tool — Search Console Help
    How to file a domain move in Search Console, its prerequisites and how long it stays in effect.
  9. Performance report (Search results) — Search Console Help
    The report we export 16 months of before migration to build the URL inventory and the baseline.
  10. Page indexing report — Search Console Help
    Where redirect errors, new 404s and canonical conflicts show up in the weeks after cutover.
  11. How to fix: Online store URL not verified — Google Merchant Center Help
    What to do when a domain change leaves Merchant Center pointing at an unverified store URL.
  12. URL redirects — Shopify Help Center
    How Shopify stores redirects, bulk CSV import and the URL patterns it forces on products and collections.
  13. Migrating to Shopify — Shopify Help Center
    Shopify's own migration checklist, including the order in which products, customers and orders should move.
  14. Product CSV Importer and Exporter — WooCommerce Docs
    How WooCommerce exports product data, the starting point for reconciling counts on the other side.
  15. Bulk Redirects — Cloudflare Docs
    Edge-level redirect lists for large maps, served before the request ever reaches the origin.
  16. Redirects (_redirects file) — Cloudflare Pages docs
    Syntax and limits for static and dynamic redirect rules on Cloudflare-hosted static sites.

Standards & policy

  1. RFC 9110: HTTP Semantics — IETF
    The definitions of 301 and 308, including why 308 preserves the request method.
  2. Sitemaps XML format — sitemaps.org
    The format for the new-URL sitemaps submitted at cutover.

Research & studies

  1. Web Almanac 2025: SEO — HTTP Archive
    Web-scale data on canonicals and raw versus rendered tags, common sources of post-migration mismatches.

Leading tools

  1. SEO Spider user guide: general — Screaming Frog
    Covers list mode, which we use to crawl the full old-URL list and confirm every redirect lands on a 200.
  2. Screaming Frog Log File Analyser — Screaming Frog
    Shows which old URLs Googlebot keeps requesting after launch and what status they return.
  3. Matrixify — Matrixify
    Shopify import and export app for moving products, customers, orders and redirects in bulk.
  4. Wayback Machine — Internet Archive
    Recovers URLs and content from old versions of a site when the previous team left no inventory.

Expert guides

  1. Redirections in HTTP — MDN Web Docs
    Clear explanation of permanent, temporary and special redirects and where each should be configured.
  2. The Website Migration Guide: SEO Strategy, Process, & Checklist — Moz
    A detailed, widely cited migration checklist covering planning, pre-launch testing and post-launch monitoring.
AI disclosure: This page was drafted with AI assistance and edited by a human. Third-party facts link to the official source they came from (checked 2026-10-11); platform names and logos belong to their owners and do not imply a partnership or endorsement.