Skip to content
Elzee Go
Case Study · Migration · SEO · April 24, 2026

Retiring WooCommerce without losing SEO: the blizgantitvarka.com rebuild

Nine legacy sitemaps, an e-commerce surface nobody wanted to maintain, and a rankings footprint that had to survive the move. How we migrated blizgantitvarka.com from WordPress/WooCommerce to Next.js 16 without dropping a single indexed URL.

Blizganti Tvarka is a Vilnius-based home-organization studio with a meaningful Lithuanian-language SEO footprint — ranking organically for high-intent queries like namų organizavimas, kilimų valymas, and organizuoti stalčiai. After years on WordPress with a WooCommerce store bolted onto the side, the brief came in sharp: rebuild without losing a ranking, and retire the storefront on the way out. No storefront parity. No product catalog. No checkout. The new site is editorial, services, and course-marketing — nothing more. Full case study: /work/blizgantitvarka-rebuild.

The single hardest constraint was the URL inventory. WordPress + WooCommerce + Yoast had produced nine separate sitemaps — page, post, product, product-category, product-tag, category, post-tag, author, and an e-landing sitemap for gated course content. Every single indexed URL had to be either preserved at the same path or 301-redirected to the closest canonical. One hop, never chained, always direct. If §6 of our rebuild spec wasn't right, rankings drop; if it was right, the migration would be invisible to Google.

WooCommerce came out clean. Product URLs now redirect to a curated Amazon-affiliate editorial page; cart and checkout redirect to the contact flow; tag archives fold into the main blog index where they add link equity instead of fragmenting it. Author pages collapse to /apie-mus. The WordPress /?p=<id> query fallback is handled in proxy.ts for any legacy inbound link that slipped through. Seven days after launch, Search Console shows zero unresolved 404s from the legacy commerce surface.

The copy rewrite was the unglamorous heavy lift. Every legacy SEO landing page — thin 200–300-word WP stubs — was rewritten into 800–1,500-word topical-authority-grade Lithuanian copy. Conversational tone (tu, not Jūs), short sentences (18–22 words), no stock phrases, and at least three outbound internal links per article plus one service page link. Gated course lessons became public teaser articles instead of 301'ing to the sales page — we kept their existing rankings and had them CTA into the €199 course. More ranking surface, not less.

On the stack: Next.js 16 App Router with Cache Components enabled from day one, React 19.2 with native View Transitions for card → detail morphs, MDX as the content format, Framer Motion for motion, shadcn/ui over Radix for primitives. Typography is Fraunces Variable for editorial hierarchy and Inter Variable for interface text. Static pages fully prerendered; contact and newsletter POSTs go through Upstash sliding-window rate limiting. Deployed to Vercel's Frankfurt region for Baltic latency.

The outcome: Lighthouse mobile ≥ 98/100/100/100 across every route, LCP under 1.8 seconds on throttled 4G Android, 100% of indexable legacy URLs resolving in one hop, and a WooCommerce surface that exited without a single 404 in Search Console. If you're looking at a similar migration — WP/WooCommerce to a modern stack, with SEO equity you can't afford to lose — the playbook is in the /work/blizgantitvarka-rebuild case study. Talk to us at /contact.

Let's work together.

Tell us what you're building. We'll come back within one business day with a shortlist of next steps.