The Challenge
Migrating multiple US eCommerce brands from WordPress-based stores to Magento 2 — simultaneously. The technical challenge was significant; the SEO risk was greater. These were established domains with years of backlink equity, indexed product catalogues of 10,000+ SKUs, and SERP positions built over long content investment cycles. A botched migration would undo that overnight.
The business decision to migrate was already made when I was brought in. My mandate was to protect organic performance through the transition and to build a reusable migration process that could be applied across the brand portfolio — not just the first domain.
Pre-Migration Audit
The first step was a full crawl of every URL on the existing site using Screaming Frog — capturing not just indexed pages but also redirected URLs, near-duplicate pages, and orphaned content that had accumulated over years. This crawl output became the migration's source of truth.
From the crawl, I built three priority tiers for redirect mapping:
- Tier 1 (protect immediately): Pages with backlinks (pulled from Ahrefs), pages generating organic revenue, and top landing pages by organic session volume from GSC. These required exact 301 mapping, manually verified.
- Tier 2 (pattern redirect): Category and subcategory URL structures that changed format between platforms (e.g. WordPress
/category/slug→ Magento/slug.html). Handled via Apache RewriteRule patterns, not individual entries. - Tier 3 (404 candidates): Thin pages with zero backlinks, zero traffic, and no internal links. Redirecting these would create unnecessary redirect chains. Let them 404.
Redirect Map Build
The Tier 1 redirect map was built in Google Sheets with columns for: old URL, new URL, HTTP status (confirmed post-migration), linking root domains (from Ahrefs), organic sessions (90-day average from GA), and verification status. For a large brand, this was 2,400+ rows.
I tested the redirect map in staging before any production deployment using a custom Python script that iterated through every old URL, followed redirects, and confirmed the final destination matched the mapped target. Any chains (old → intermediate → new) over two hops were flagged for consolidation — Google's crawl budget doesn't appreciate chains.
Launch Protocol
On migration day, we followed a defined launch sequence: (1) deploy redirects in .htaccess before Magento went live, (2) submit the new XML sitemap to Search Console within 30 minutes of DNS propagation, (3) run a full post-launch crawl to catch any redirects that had broken during deployment, (4) monitor GSC Coverage report daily for the first two weeks for unexpected 404 spikes.
The monitoring phase surfaced one near-miss: Magento's default URL rewrite for configurable products was generating duplicate canonical conflicts between the simple product and the configurable parent. Caught on day three; fixed before any crawl cycle re-indexed the new versions.
The Outcome
Across the migrations managed: 95%+ of link equity was preserved as verified by Ahrefs DR stability post-migration. Organic sessions recovered to pre-migration baseline within four weeks — faster than the 8–12 week industry benchmark. The migration process was documented as a repeatable SOP, subsequently applied across 50+ brand migrations at the agency with a standard pre-launch QA checklist that reduced post-launch hotfixes by 70%.
Tools & Stack
Screaming Frog · Ahrefs · Google Search Console · Google Analytics · Python (redirect validation script) · Apache .htaccess · Magento 2 URL Rewrites · Google Sheets (redirect map)