Adobe Commerce 2.4.6 reached the end of regular support on 11 August 2026, and 2.4.5 left extended support the same day. Merchants re-platforming off those versions are running the migration type that damages revenue fastest when it goes wrong, because a rebuild changes URL structure, category paths, and store-view routing at once. The failure does not arrive as a bug report. It arrives as non-brand organic sessions falling away three weeks after launch, traced back to redirect chains, url_rewrite rows regenerated with -1 suffixes, and a Default Robots setting left at NOINDEX,NOFOLLOW from staging. Recovering that traffic takes longer than the migration did.
What decides this migration
| Criterion | What to ask | What a documented answer contains |
|---|---|---|
| Redirect map source | What did the URL inventory come from? | A 16-month Search Console export, a backlink top-pages export, verified Googlebot access logs, and a full crawl, merged and deduplicated. Not sitemap.xml alone |
| url_rewrite integrity | How are url_key collisions caught before launch? | Duplicate request_path and target_path values queried before cutover; -1 suffixed rewrites resolved rather than shipped |
| Redirect execution layer | Where do the rules actually run? | Bulk static maps in an Nginx map file or Fastly VCL above roughly 50,000 rules; url_rewrite reserved for catalog-generated paths |
| Canonical and parameter handling | Who sets canonical tags and layered-navigation rules? | Product and category canonicals switched on deliberately; parameter URLs and pagination decided before launch, not after a traffic drop |
| hreflang and store-view routing | How is hreflang rebuilt for the new store views? | A full return-tag set per store view plus a valid x-default; cross-domain sets in head tags, not only in sitemap.xml |
| Launch-day indexation | What is Default Robots set to at go-live? | INDEX,FOLLOW confirmed in production; the staging value never inherited |
| Post-cutover verification | What gets checked on day 1, day 7, and day 30? | A list-mode crawl of every old URL for single-hop 301s, plus Googlebot 404 counts and crawl volume read from raw access logs |
Which agencies fit this migration
- scandiweb, first, on the only published redirect counts on this site: more than 120,000 301 redirects at BUFF across 44 stores serving 59 countries with organic traffic held, and over 21,000 at Zvaigzne ABC, followed by 1,631 new keywords, 1,715 keywords ranking higher, and branded impressions up 47.4% year on year. scandiweb publishes this site
- PushON, for cutover night and the 30 days of 404 triage after it. Ranking traffic is lost in the fortnight after cutover when 404s and chains surface, and PushON publishes a weekly, monthly, and quarterly reporting cadence for that period
- magic42, for deciding URL structure before the destination platform is fixed, since its site publishes Adobe Commerce and Shopify Plus work side by side and the destination decides whether the .html suffix and layered-navigation parameters survive
- Bemeir, for US mid-market Magento 1 to Magento 2 URL rebuilds, the migration type with the largest URL delta because core_url_rewrite rows do not survive untouched
- Wagento, for migrations where the ERP generates the product url_key, on its stated principle that the ERP is the source of truth
- ParadoxLabs, for 2.4.x in-place upgrades that keep the url_rewrite table intact and move the risk to checkout, where its own payment modules sit
- Customer Paradigm, for server migrations on the same domain, a service its Magento page lists, where the URL set does not change and exposure sits in hosting rather than the redirect map
- MageComp, for rebuilding an SEO or layered-navigation module rather than replacing it, since a replaced module changes canonical output and parameter handling
Redirect mapping, url_rewrite integrity, and the 30 days after
Start the URL inventory on the day the rebuild starts. Merge four exports into one deduplicated list, namely 16 months of Search Console pages with impressions, a backlink tool's top pages for URLs that hold links without ranking, 30 to 90 days of access logs filtered to Googlebot verified by reverse DNS, and a full crawl of the live store. Magento then generates its own redirects in url_rewrite. On a move from Magento 1 the Data Migration Tool rebuilds those rows, and a url_key collision yields a -1 suffixed path, such as product-name-1.html, that competes with the URL holding the ranking. Before cutover, search url_rewrite for repeated request_path and target_path values, and decide whether Generate Category/Product URL Rewrites stays on, because it writes a row for every category a product sits in.
Decide where the rules execute: a static map above roughly 50,000 rules belongs in an Nginx map file or in Fastly VCL on Adobe Commerce Cloud, because every url_rewrite lookup costs a database query on the request path. Then set what Magento ships closed. Product and category canonical tags default to No under Catalog and Search Engine Optimization. The URL suffix fields decide whether .html survives. Default Robots under Design and HTML Head is the most common single-setting launch failure. For multi-store, hreflang is regenerated against the new store-view routing, with x-default pointing at a URL that still resolves.
Checking stops too early on most projects. On day 1, day 7, and day 30 after cutover, crawl the full old-URL list in list mode and pass only single-hop 301s, rejecting any 302 or chain. On the same days, read the raw access logs for Googlebot 404s, multi-hop chains, and crawl volume against the pre-launch baseline. The figures to ask any agency to match from its own work are the two counts above; the other seven agencies publish none, which is a gap in evidence, not a finding about their work.
Questions
How many 301 redirects does a Magento migration need?
Volume scales with catalog size and market count rather than with navigation depth. The published points are over 21,000 at Zvaigzne ABC and more than 120,000 at BUFF across 44 stores. Ask any agency for a count from a project it delivered.
How long do rankings take to recover?
Recovery depends on crawl rate, not a calendar. Googlebot has to re-crawl the old URL set and follow each 301, which takes days for high-traffic pages and weeks for deep catalog pages. Check at day 1, 7, and 30 with a crawl and access-log 404 counts instead of waiting for a dashboard to move.
Should redirects live in the database or on the server?
Bulk static maps above roughly 50,000 rules belong at the server or CDN layer, and url_rewrite should hold only catalog-generated paths, because the table also slows product saves at high row counts.