Toate articolele
·de · Manilla Services·Next.jsMigrareCakePHPPerformanțăSEOStudiu de caz

Migrare CakePHP → Next.js: cum am relansat nova-fit.ro fără să pierdem nimic

Un site de sală de fitness pe un stack din 2015, mutat integral pe Next.js: scor de performanță de la 25 la 97, LCP de la 8s la 2.6s, aceleași URL-uri, mail neîntrerupt și un admin propriu. Povestea completă, cu cifre reale.

Migrare CakePHP → Next.js: cum am relansat nova-fit.ro fără să pierdem nimic

NovaFit, sala de fitness din Câmpina pentru care am făcut site-ul de prezentare, rula pe CakePHP 2.6 + Croogo CMS — un stack din era 2015, cu PHP care nu mai primește update-uri de securitate. Site-ul își făcea treaba, dar îmbătrânea urât: scor de performanță mobil 25/100, LCP de 8 secunde, layout care „sare" la încărcare (CLS 0.5) și un CMS în care nu mai îndrăznea nimeni să umble.

L-am mutat integral pe Next.js 16 + Tailwind + MongoDB Atlas, păstrând designul, conținutul și — critic pentru SEO — toate URL-urile. Mai jos, ce am făcut concret și ce a ieșit.

Auditul: ce găsești într-un CakePHP de 10 ani

Înainte să scriem o linie de cod, am făcut recon pe tot proiectul vechi. Am găsit ce găsești de obicei în proiecte moștenite:

Auditul ăsta a decis scopul: nu portăm tot, portăm ce e viu — paginile reale, ofertele reale, identitatea vizuală — și tăiem restul.

Fidelitate vizuală, stack nou

Clientul iubea designul existent (pe bună dreptate — hero-ul cu sportivi decupați pe forme roz e memorabil). Așa că nu am „redesenat", am reconstruit fidel în Tailwind + shadcn/ui: slider-ul cu parallax la mouse (fără Slider Revolution și jQuery — doar CSS variables + requestAnimationFrame), calculatorul BMI, secțiunile de servicii și galerie.

Diferența e sub capotă: zero Bootstrap, zero jQuery, zero librării de slider — bundle-ul de JavaScript e o fracțiune din ce era, iar imaginile au scăzut de la 13MB la 2.3MB (resize + recompresie + WebP pentru decupaje).

SEO: aceleași URL-uri sau redirect 301

Regula de aur la migrări: nu pierzi niciun URL indexat. Paginile păstrate au rămas pe aceleași căi, iar tot ce s-a restructurat (inclusiv URL-uri localizate noi, ca /termeni-si-conditii în loc de /page/terms-and-conditions) primește redirect 301 de la calea veche. Am adăugat sitemap generat din baza de date, JSON-LD (HealthClub, cu adresă și program), Open Graph și robots.txt cu Content-Signal — site-ul e pregătit și pentru crawlerele AI.

Decizia de produs: fără plăți online, cu vetting

Partea mea preferată din proiect nu e tehnică. Sala avusese probleme cu înscrieri false, așa că împreună cu proprietarul am înlocuit checkout-ul clasic cu un flux de cereri de înscriere: vizitatorul aplică (nume, telefon, link de profil social), proprietarul validează manual cererea din admin, iar abonamentul se face la sală. Cererile respinse blochează re-înscrierea.

Tehnologia bună nu înseamnă mereu „mai multe feature-uri" — uneori înseamnă exact feature-ul potrivit.

Admin propriu, notificări, infrastructură

Rezultatele, măsurate

Lighthouse mobil
ÎnainteCakePHP (vechi)
25Performance
86Accessibility
82SEO
DupăNext.js (nou)
97Performance
95Accessibility
100SEO
LCP8.0s2.6s
CLS0.5060

Plus ce nu se vede în cifre: update-uri de securitate la zi, deploy în minute în loc de FTP, un admin în care proprietarul chiar poate lucra.

Vezi și proiectul original de design: NovaFit — website de prezentare.


Ai un site pe un stack care îmbătrânește? Cere o ofertă — facem întâi auditul, apoi vorbim de migrare. Vezi și serviciile noastre.