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.
Every URL that earns traffic or links gets a page-level 301 to its closest equivalent. Never a blanket
redirect to the homepage.
Google recommends server-side permanent redirects (301 or 308), says they don't lose PageRank, and advises
keeping them at least a year.
Before cutover we check parity on content, metadata, canonicals, structured data, internal links, tracking
and forms.
Some fluctuation is normal: Google says medium-sized sites can take a few weeks or more for new URLs to
replace old ones.
We migrate what SEO checklists forget too: customers, orders, subscriptions, CRM automations and Merchant
Center feeds.
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
URL inventory combining a full crawl, 16 months of Search Console page data, analytics
landing pages, backlink targets and every sitemap.
One-to-one redirect map, tested against the full old URL list, not a sample.
Parity build: titles, descriptions, headings, body copy, canonicals, hreflang, structured
data, alt text and internal links carried across or changed on purpose.
Staging rehearsal behind authentication, with the redirect map run against it.
Cutover runbook with an owner and a rollback step for every action.
Post-launch monitoring for an agreed period, daily at first and then weekly.
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:
Commerce data in order — customers (with marketing opt-in status preserved), then order
history, then products — with record counts reconciled at each step.
Active billing is never migrated silently. Live subscriptions are flagged for a human
decision before cutover.
CRM fields by key. New forms populate the same custom fields the old forms did, so
automations and merge tags keep working. New triggers are added alongside legacy ones rather than replacing
them on day one.
Notification recipients are re-checked. Old workflows often email people who left.
Merchant Center store URL and feed are updated; a changed domain otherwise surfaces as an
unverified online store URL and listings stop serving.
Cached assets. If an image changes but keeps its filename, a CDN can keep serving the old
one; renaming files forces the refresh.
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
Every old URL redirected to the homepage.
The staging site's Disallow: / or noindex shipped to production.
Change of Address filed for one hostname, while www and non-www variants were forgotten.
Redirects removed after a few months to "clean up" the server config.
Chains of three or four redirects left over from earlier moves, now with one more hop added.
Internal links and canonicals still pointing at old URLs, so every click goes through a redirect.
Redesign, new URLs, new content and a new domain launched on the same day, with no baseline to compare
against.
Website leads that stopped creating pipeline opportunities because the new form path skipped a step the old
one performed.
What Google actually recommends
Google's documentation on
site moves with URL changes
is the rulebook we work from. The points that matter most:
Use server-side permanent redirects, such as 301 or 308, wherever technically possible.
Permanent redirects don't cause a loss in PageRank.
Avoid redirect chains. Googlebot follows up to 10 hops, but Google advises redirecting straight to the final
destination, and otherwise keeping chains ideally to no more than three.
Don't send many old URLs to one irrelevant page like the new homepage; Google says that can be treated as a
soft 404. Consolidating several old pages into one genuinely equivalent page is fine.
Keep redirects as long as possible — generally at least one year — and from users' perspective consider
keeping them indefinitely.
For a domain change, submit a Change of Address in Search Console for every verified variant of the old
domain, including www, non-www and subdomains.
After launch, make sure canonicals use the new URLs and remove any development-time noindex or
robots.txt blocks.
Expect ranking fluctuation. For medium-sized sites it can take a few weeks or more for Google to show the new
URLs instead of the old ones, and longer for large sites.
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.
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.
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.
Message received.
One of us will reply directly within one business day. While you wait, run a free
Buddy audit on your account.
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
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.
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.
Redirects and Google Search— Google Search Central How Google treats server-side, meta refresh and JavaScript redirects and which ones count as
permanent.
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.
Performance report (Search results)— Search Console Help The report we export 16 months of before migration to build the URL inventory and the baseline.
Page indexing report— Search Console Help Where redirect errors, new 404s and canonical conflicts show up in the weeks after cutover.
URL redirects— Shopify Help Center How Shopify stores redirects, bulk CSV import and the URL patterns it forces on products and
collections.
Migrating to Shopify— Shopify Help Center Shopify's own migration checklist, including the order in which products, customers and orders should
move.
Product CSV Importer and Exporter— WooCommerce Docs How WooCommerce exports product data, the starting point for reconciling counts on the other side.
Bulk Redirects— Cloudflare Docs Edge-level redirect lists for large maps, served before the request ever reaches the origin.
Redirects (_redirects file)— Cloudflare Pages docs Syntax and limits for static and dynamic redirect rules on Cloudflare-hosted static sites.
Standards & policy
RFC 9110: HTTP Semantics— IETF The definitions of 301 and 308, including why 308 preserves the request method.
Sitemaps XML format— sitemaps.org The format for the new-URL sitemaps submitted at cutover.
Research & studies
Web Almanac 2025: SEO— HTTP Archive Web-scale data on canonicals and raw versus rendered tags, common sources of post-migration
mismatches.
Leading tools
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.
Screaming Frog Log File Analyser— Screaming Frog Shows which old URLs Googlebot keeps requesting after launch and what status they return.
Matrixify— Matrixify Shopify import and export app for moving products, customers, orders and redirects in bulk.
Wayback Machine— Internet Archive Recovers URLs and content from old versions of a site when the previous team left no inventory.
Expert guides
Redirections in HTTP— MDN Web Docs Clear explanation of permanent, temporary and special redirects and where each should be configured.
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.