Sari la conținut
SISSOFT
Înapoi la blog
Case study2 iulie 202611 min

Case study: migrarea electronic-mag.ro — 351.000+ produse de pe PrestaShop pe headless

Cum am mutat un magazin B2B cu peste 351.000 de produse de pe PrestaShop pe un stack headless (Sylius/Symfony + Next.js), fără să pierdem trafic organic. Provocări, decizii de arhitectură și ce am învățat.

Cel mai bun mod de a explica ce înseamnă o migrare serioasă e printr-un proiect real. electronic-mag.ro e magazinul nostru de referință: un magazin B2B cu peste 351.000 de produse, mutat de pe PrestaShop pe un stack modern headless — Sylius/Symfony pe backend, Next.js pe frontend, pe infrastructură dedicată Hetzner. Iată provocările, deciziile și ce am învățat.

Contextul: un catalog B2B uriaș

electronic-mag.ro nu e un magazin obișnuit. Peste 351.000 de produse, un public B2B cu comenzi în volum, cerințe reale de prețuri și liste specifice B2B, și un catalog care crește constant. La scara asta, fiecare decizie tehnică se multiplică cu sute de mii — o interogare lentă nu e o secundă pierdută, sunt secunde × întregul catalog × tot traficul.

Provocarea: de ce PrestaShop cedează la scară

PrestaShop e o platformă rezonabilă la dimensiuni mici și medii. Dar la sute de mii de produse, arhitectura monolitică începe să scârțâie:

  • Filtrare și căutare lente — pe cataloage foarte mari, listele și fațetele devin costisitoare, iar experiența pe mobil are de suferit.
  • Admin greoi — operațiunile în masă și navigarea în catalog devin frustrante pentru echipă.
  • Performanță și cost de server — menținerea vitezei cere din ce în ce mai multe resurse.
  • Limite de extensibilitate — logica B2B și integrările proprii se lovesc de constrângerile platformei.

Optimizările punctuale ajută o vreme, dar la un moment dat te lovești de plafonul arhitecturii. Ăsta a fost momentul migrării.

Obiectivele migrării

Am pornit cu ținte clare, nu cu „hai să refacem site-ul":

  • Performanță semnificativ mai bună, mai ales pe mobil (Core Web Vitals verzi).
  • Zero pierderi de trafic organic — catalogul e indexat masiv, orice greșeală ar fi costat scump.
  • Un admin și o arhitectură pe care echipa le poate opera și extinde ușor.
  • Costuri de infrastructură previzibile și sub control.

Arhitectura aleasă: headless Sylius/Symfony + Next.js

Am despărțit backend-ul de frontend. Sylius/Symfony (API-first) e „creierul" — produse, prețuri, reguli B2B, comenzi — un nucleu e-commerce open-source, matur, pe care îl deții complet. Next.js e frontend-ul: pagini pre-randate, servite rapid, cu SEO de primă clasă. Cele două comunică prin API, se scalează independent, iar frontend-ul poate fi optimizat agresiv fără să atingă logica de business. Explicăm aici pe larg ce e headless commerce.

De ce nu doar „optimizare PrestaShop"? Pentru că la 351.000 de produse și cerințe B2B, câștigul real nu vine dintr-un plugin de cache, ci dintr-o arhitectură făcută pentru scară.

Migrarea datelor: 351.000 de produse fără pierderi

Partea cea mai delicată. Am exportat din PrestaShop produsele, variațiile, categoriile, atributele, clienții și comenzile și le-am mapat în noul model de date, cu verificări de integritate la fiecare pas. La sute de mii de rânduri, nu poți verifica manual — construiești validări automate care confirmă că numărul de produse, prețurile, relațiile produs-categorie și conturile de client au ajuns corect și complet.

SEO fără pierderi: partea care sperie pe toată lumea

Cu un catalog masiv indexat, o migrare prost făcută ar fi însemnat un dezastru de trafic. Abordarea a fost cea disciplinată: inventarul complet al URL-urilor indexate, maparea 1:1 a fiecărui URL vechi către noul echivalent, redirecturi 301 curate (fără lanțuri), păstrarea structurii on-page și a datelor structurate, apoi monitorizare în Google Search Console după cutover. Rezultatul: migrarea s-a făcut fără pierderi de trafic organic. Am detaliat metoda completă aici.

Performanța: de la monolit greu la frontend rapid

Un frontend Next.js cu pagini pre-randate pornește cu un avantaj mare la Core Web Vitals față de un monolit PrestaShop încărcat. Am optimizat imaginile, am redus JavaScript-ul, am reglat caching-ul și am scos blocajele de randare — cu accent pe experiența reală pe mobil, nu doar pe scoruri de laborator. Ce înseamnă LCP, INP și CLS, pe scurt.

Infrastructura: servere dedicate Hetzner

Un catalog de dimensiunea asta merită resurse garantate, nu un cloud cu costuri imprevizibile. Rulează pe infrastructură dedicată Hetzner, configurată și administrată de noi: performanță constantă, backup-uri și costuri sub control.

Rezultatul

Un magazin B2B cu peste 351.000 de produse, mutat de pe PrestaShop pe un stack headless pe care clientul îl deține complet: mai rapid, mai ușor de operat și de extins, cu infrastructură previzibilă și fără pierderi de trafic organic la tranziție. Vezi proiectul în portofoliu.

Ce poți lua de aici pentru magazinul tău

  • La catalog mare, problema nu se rezolvă cu plugin-uri — se rezolvă cu arhitectură.
  • SEO-ul se protejează cu proces (inventar → mapare → 301 → monitorizare), nu cu noroc.
  • Migrarea datelor la scară cere validări automate, nu verificări manuale.
  • Headless plătește exact acolo unde platforma clasică cedează: scară, viteză, control.

Dacă ai un catalog mare pe PrestaShop (sau altă platformă) și te lovești de aceleași limite, putem discuta o migrare similară.

Ai un catalog mare pe PrestaShop?

Discutăm o migrare ca a electronic-mag.ro — arhitectură pentru scară, fără pierderi de trafic.

Discută o migrare ca aceasta