Migracje

Jak przenieśliśmy sklep 40 000 produktów z Magento na WooCommerce bez utraty SEO

Case study: migracja sklepu z Magento 2 na WooCommerce. 40 000 produktów, 200 000 zamówień historycznych, 1200+ URL-i. Plan przekierowań, import, weryfikacja SEO po 90 dniach.

DDawid Penkala
13 min czytania
Migracja sklepu e-commerce — przenoszenie danych

Klient przyszedł do nas z typowym problemem: sklep na Magento 2, 40 000 produktów, 18 kategorii, 200 000 zamówień historycznych, stała miesięczna faktura za hosting + licencje 8 500 zł netto. Chciał tańszej infrastruktury (docelowo ~2 000 zł/mies.), ale bał się stracić pozycje SEO (sklep miał ~12 000 organicznych odwiedzin miesięcznie).

Trzymiesięczny projekt, całość migracji na WooCommerce + Hyvä theme (lekki front). Po 90 dniach od start na produkcji: ruch organiczny +4% vs. punkt odniesienia, przychód +8%, koszty infrastruktury -72%. Poniżej dokładny plan, co mogło się zepsuć, i jak to przetestowaliśmy.

Dlaczego migracja z Magento — rzeczywiste powody

Klient nie uciekał od Magento „bo nieładne”. Magento 2 to świetny stack dla dużych enterprise sklepów z zespołem deweloperskim. Ale:

  • Koszt utrzymania — dedykowany hosting optymalizowany pod Magento (Elastic, Magento Cloud, SwiftOtter) = 5 000-15 000 zł/mies.
  • Zespół rozwojowy — Magento wymaga certyfikowanych deweloperów (~200 zł/godz.). WooCommerce deweloper = 100-150 zł/godz.
  • Społeczność — Magento traci popularność, Adobe Commerce staje się SaaS, własna instalacja „community edition” mniej aktywnie wspierana.
  • Wtyczki — Magento marketplace ma wtyczki po 500-2000 €, WooCommerce ekwiwalenty często darmowe lub 100-300 $.

Klient szacował oszczędność: 6 500 zł/mies. przez 5 lat = 390 000 zł. Migracja kosztowała 55 000 zł. ROI = 7 miesięcy.

Plan — 4 fazy na 12 tygodni

Faza 1 (tygodnie 1-3): Audyt + mapowanie

  • Full export Magento: produkty, kategorie, klienci, zamówienia, tax rules, shipping, content pages.
  • URL inventory: Screaming Frog crawl całego sklepu → 1247 unikalnych URL-i (bez filter pages). Eksport do CSV.
  • SEO punkt odniesienia: pozycje top 500 fraz w GSC, top 100 stron docelowych po ruchu, struktura linków wewnętrznych.
  • Mapowanie atrybutów Magento → WooCommerce: atrybuty „configurable product” (Magento) = „variable product” (Woo). Custom attributes → product meta lub taxonomies. Duża robota mapowania na papierze przed kodem.

Faza 2 (tygodnie 4-8): Build na staging

  • Świeży WordPress 6.5 + WooCommerce 8.7 + Hyvä-like lightweight theme (custom szablon blokowy).
  • Import produktów przez WP All Import Pro + custom PHP dla przypadków brzegowych (products with 20+ variants).
  • Import klientów bez haseł (Magento hashuje inaczej niż WP). Klient przy pierwszym logowaniu dostaje „reset hasła” email.
  • Import zamówień jako historyczne (read-only, bez statusu przepływ pracy). Dla goszczenia faktury + reklamacje.
  • SEO redirects — kluczowa robota. O tym niżej.

Faza 3 (tygodnie 9-10): Testing + optymalizacja

  • Performance tuning: cache Redis, WP Rocket, CDN Bunny, image lazy load.
  • Load test: 500 concurrent users, checkout flow. Simulator k6.
  • Backup & rollback plan — jeśli pierwsze 24h pokażą katastrofę, wrócamy na Magento w 2h.

Faza 4 (tydzień 11-12): Uruchomienie produkcyjne + monitoring

  • Uruchomienie w piątek wieczorem (low traffic).
  • DNS cutover (ustawienie TTL na 300s dzień wcześniej, więc propagacja < 10 min).
  • 24h intensywny monitoring (uptime, zamówienia flow).
  • Komunikacja z Google (resubmit sitemap w GSC, request indexing top pages).

SEO redirects — najważniejszy element

Magento i WooCommerce używają różnych URL structures:

  • Magento: /catalog/product/view/id/1234/s/nazwa-produktu/ lub /nazwa-kategorii/nazwa-produktu.html
  • WooCommerce: /produkt/nazwa-produktu/ (configurable przez permalinks)

Każdy jeden URL z Magento musi mieć 301 na odpowiedni URL w WooCommerce. 1247 URLi × jeden błąd = 1247 stron 404 = SEO disaster.

Jak to zrobiliśmy:

  1. CSV z mappingiem: kolumny old_url | new_url | http_status (301). Wygenerowane przez Screaming Frog + ręcznie zweryfikowane dla kluczowych (top 100 po ruchu).

  2. Wtyczka Redirection dla importu:

wp redirection import --input=redirects.csv --group=magento-migration
  1. Dodatkowe pułapki:

    • Magento .html extension na kategoriach → WooCommerce bez. Osobna reguła regex ^(.*)\.html$$1/.
    • Filtry Magento (?color=red&size=L) → WooCommerce nie ma identycznej URL struktury. 410 Gone dla filter URLs (Google zrozumie że content zniknął).
    • Paginacja: Magento ?p=2 → WooCommerce /page/2/. Osobne reguły.
  2. Testing 301s przed uruchomieniem produkcyjnym:

# test 100 starych URLi
for url in $(cat top100-magento-urls.txt); do
    status=$(curl -s -o /dev/null -w "%{http_code}→%{redirect_url}" "$url")
    echo "$url$status"
done
  1. Po uruchomieniu produkcyjnym monitoring w GSC: Coverage → pages with redirect. Dzień po dniu liczba 404-ek powinna spadać do zera.

Czym okazały się największe problemy

1. Atrybuty configurable product

Magento configurable = master SKU + child SKUs per kombinacja. WooCommerce variable product = 1 master + n variations. Mapping 1:1 teoretycznie prosty, ale Magento pozwala na „configurable of configurables” (master → configurable A → simple variants) — WooCommerce nie. Dla 42 produktów z taką strukturą przepisaliśmy na flat variable products.

2. Customer groups / B2B tiers

Magento miał 5 customer groups z różnymi cenami. WooCommerce w vanilla nie ma — użyliśmy Wholesale Prices + custom meta fields + modyfikacja woocommerce_product_get_price filter dla logiki.

3. Historical orders performance

200 000 zamówień w wp_posts table (post_type=‘shop_order’) zabija performance’u admina. Przeszliśmy na High-Performance Order Storage (HPOS) — WooCommerce 7.1+ ma natywne tabele wc_orders, wc_order_stats. Import trafił od razu do HPOS, klasyczne posts nigdy się nie napełniły.

4. Email templates

Magento miał własne templates maili (zamówienie, shipping, invoice). Woo używa własnych. Przepisaliśmy 12 maili — każdy po polsku + angielsku, z brandingiem sklepu.

5. Tax configuration

Polski VAT 23% / 8% / 5% / 0% na różne kategorie. Magento tax rules były skomplikowane (custom + overwrites per customer group). Zbudowaliśmy od nowa w WooCommerce zamiast importować — prostsze, czystsze.

Co pokazały dane po 90 dniach

Ruch organiczny (GSC):

  • Dzień 0 (start na produkcji): punkt odniesienia 12 000 visits/mies.
  • Tydzień 1-2: -18% (Google recalibracja, tzw. „SEO sandbox”)
  • Tydzień 3-4: powrót do punkt odniesienia
  • Tydzień 5-8: +2 do +5% above punkt odniesienia
  • Tydzień 9-12: +4% vs punkt odniesienia

Pozycje top 500 fraz:

  • 78% fraz: bez zmian lub poprawa
  • 15% fraz: spadek 1-3 pozycje (akceptowalne)
  • 7% fraz: spadek > 5 pozycji (naprawione przez dodatkowe redirects + content uzupełnienia)

Konwersja (Google Analytics):

  • Dzień 0: punkt odniesienia 2.1%
  • Tydzień 1-2: 1.8% (pusty koszyk, klienci się uczą nowego checkoutu)
  • Tydzień 3+: 2.3-2.5% (wzrost — lepsza UX/performance)

Przychód:

  • Q1 po migracji: +8% vs poprzednie Q (z uwzględnieniem sezonowości)

Infrastruktura:

  • Magento hosting + licencje: 8 500 zł/mies.
  • WooCommerce hosting (VPS + Redis): 480 zł/mies.
  • CDN + misc: 200 zł/mies.
  • Wtyczki premium: 100 zł/mies. (amortyzacja rocznej subskrypcji)
  • Opieka techniczna (my): 1 500 zł/mies.
  • Razem: 2 280 zł/mies. vs 8 500 wcześniej.

Kiedy NIE migrować z Magento

Jeśli Twoja firma:

  • Ma > 100 000 SKU + > 1000 zamówień/dzień → Magento Commerce (paid) może być lepszy mimo kosztu.
  • Ma integracje z ERP typu SAP / Oracle Commerce → Magento ma lepsze komponenty.
  • Ma zespół z Magento certification inwestowany w stack.
  • Ma custom moduły Magento (100+) których nikt nie udokumentował.

W tych case’ach koszt migracji może przekroczyć oszczędności 5-letnie. Każdy projekt jest indywidualny — audyt przed decyzją.


Rozważasz migrację z Magento, PrestaShop, Shopify na WooCommerce? Zaczynamy od darmowej konsultacji, gdzie szacujemy koszt migracji i realistyczny ROI. Skontaktuj się — odpowiadamy w ciągu 4 godzin.

Tagi:MagentoWooCommercemigracjaSEOcase studye-commerce
Dawid Penkala
Dawid Penkala

Doświadczony WordPress Developer z ponad 14-letnim stażem w tworzeniu zaawansowanych stron i sklepów internetowych. Specjalizuje się w WordPressie, dedykowanych wtyczkach i motywach.

Więcej o autorze