Case study

TECHNICAL SEO · E-COMMERCE · DOMAIN CONSOLIDATION

How we consolidated two competing domains on a large e-commerce catalog - without losing SEO equity

Two live domains of the same business were cannibalizing each other in organic search. We mapped ~12,400 URLs and shipped 12,345 individually configured 301 redirects with custom 404 fallback logic - with zero manual review required from the client.

Bulgarian e-commerce retailer (NDA)

Industry
E-commerce (appliance spare parts)
Problem
Two domains competing for the same keywords
Scope
~12,400 URLs
Final outcome
12,345 live redirects + custom 404 fallback
12 345
Live 301 redirects
~12 400
Audit scope
98.6%
Product code overlap
0
Client manual review

The situation

We work proactively - we don't wait for clients to bring us a problem, we go looking for one. That's exactly how this project started: while analyzing the competitive landscape in the appliance spare-parts niche, we noticed something off. Two separate, live domains belonging to the same business, with an almost identical product catalog, were competing against each other in organic search.

A textbook case of internal cannibalization: Google can't decide which domain to rank, and often ends up under-ranking both instead of boosting either.

The infrastructure made it more complicated. The new (target) domain ran on standalone Nginx hosting, integrated directly with the client's ERP system for stock and pricing. The legacy domain lived entirely inside a SaaS e-commerce platform, with DNS (via Cloudflare) managed by the platform itself - the client had no direct access to it.

That meant that before any redirect strategy could even be discussed, there was an infrastructure problem to solve: how to detach the legacy domain from the platform enough to apply server-side 301 redirects at all.

The client had actually declined to work with us on this before - timing and priorities just hadn't aligned. We came back with concrete findings instead of a generic pitch, and that made the difference.

Phase 1: Audit and redirect mapping

Phase 1: Audit and redirect map

A complete redirect map covering ~12,400 URLs, a ready-to-deploy .htaccess file, a backup of the existing platform structure, and a summarized report for the client.

Detaching from the SaaS platform

We weighed three options: Cloudflare bulk redirects (ruled out - the client had no access to the account); redirecting directly from the legacy domain's own hosting environment; and a full migration onto the target site's hosting. Before committing, we uploaded an .htaccess file with a single dummy redirect rule via FTP to confirm the mechanism worked. It did.

Phase 2: Implementation

We migrated the legacy domain's nameservers and added it as an add-on domain under the same hosting account already running the target site. We generated a single .htaccess file with an individual Redirect 301 rule for each of the 12,345 URLs in the map and uploaded it via FTP.

Monitoring and Change of Address

10-14 days of active post-launch monitoring, a Google Search Console Change of Address submission to formally signal the domain change to Google, and a final stability check.

Why it worked

Data before assumptions. Scale demands automation with quality control. Infrastructure defines what's possible - SaaS platform lock-in directly dictates which technical solutions are even on the table. And the final detail - custom 404 logic instead of a catch-all redirect - is the small-looking difference that preserves SEO equity instead of just moving the problem out of sight.

The final result

  • 12,345 individually configured 301 redirects, each pointing to a specific, relevant destination page - not a generic homepage catch-all.
  • Custom 404 handling for any URL falling outside the map - instead of soft 404 errors (a page that technically returns 200 but is empty or irrelevant), users and Google both get a proper, useful response.
  • Zero rows of manual review on the client's side - we handed over a finished, approval-ready outcome.
  • That detail - routing every redirect to a specific page instead of a catch-all - was a deliberate choice. Generic homepage redirects are a common SEO quick fix, but they carry real risk: Google can treat them as soft 404s and fail to pass along the SEO equity of the original page. At a volume of over 12,000 URLs, that distinction has a measurable impact.

Stack

  • Python (pandas, rapidfuzz)
  • Screaming Frog
  • Google Search Console
  • Apache / .htaccess
  • Nginx
  • DNS migration

Verified via:

  • Google Search Console
  • Screaming Frog crawl
  • HTTP status code verification

Want similar results?

Every project starts with a short 30-minute conversation where we form specific recommendations.

Book Consultation