ghid practic · 2026

De la WordPress la Next.js.
Pas cu pas.

Ghid actionable, în română, pentru cine vrea să migreze de la WordPress la stack modern (Next.js + Supabase + Tailwind + Claude Code). 5 faze concrete, scenarii pe tip de proiect, pitfall-uri reale, cost & timeline.

⏱ 2 zile - 6 săptămâninivel: începător-intermediarlast updated: mai 2026
de ce să migrezi

Dacă citești asta, deja știi de ce

Cele mai comune motive: plugin-uri abandonate care blochează update-uri, performance prost (Core Web Vitals catastrofale), cost lunar care crește non-liniar cu traficul, lipsa de control real. Dacă vrei comparativul detaliat, citește pagina noastră WordPress vs vibe coding.

Înainte să începi: 3 întrebări de clarificat

  • Conținutul tău e principala valoare sau structura? Dacă ai 1000+ articole bine indexate, prioritate maximă = păstrarea SEO + redirect-urile. Dacă ai 10 pagini, restul e ușor.
  • Cine va întreține siteul după? Tu cu Claude Code? O echipă tehnică? Un freelancer? Răspunsul determină cât de „convențional" trebuie să fie arhitectura.
  • Ai nevoie de migrare big-bang sau incrementală? Big-bang = un weekend de deploy, totul nou luni dimineață. Incrementală = paginile principale rebuild-uite întâi, restul rămân pe WP până migrezi cu timp.
drumul în 5 faze

5 faze. Niciuna sărită.

Ordinea contează. Faza 5 (cutover) fără faza 1 (audit) = bug-uri în production. Fiecare fază are un deliverable concret înainte să treci la următoarea.

01

Audit & inventory

timp: 4-8 oredeliverable: spreadsheet

Înainte să atingi cod, înțelegi ce ai. Fără asta, migrezi orbește și pierzi feature-uri.

  • Listează toate plugin-urile active + inactive
  • Pentru fiecare: ce face? mai e folosit? există echivalent în Next.js?
  • Catalog conținut: număr posts, pages, custom post types, custom fields
  • Mapează URL structure (export sitemap.xml din WP)
  • Identifică integrările externe (mailchimp, stripe, GA, analytics)
  • Notează tot ce ai customizat în functions.php
TIP: 60-70% din plugin-urile WP nu mai sunt necesare în stack-ul nou — funcționalitatea există nativ în Next.js (forms, SEO, sitemaps, auth). Lista finală reală e MULT mai scurtă decât crezi.
02

Architecture & setup

timp: 2-4 oredeliverable: repo cu hello world

Stack-ul recomandat (covers 95% din cazuri): Next.js 15 + Supabase + Tailwind + shadcn/ui. Pentru content-heavy sites, opțional Drizzle ORM peste Postgres pentru queries type-safe.

Setup local cu Claude Code (~5 minute):

npx create-next-app@latest my-site --typescript --tailwind --app
cd my-site
npx shadcn@latest init
# apoi spui Claude: "setează Supabase + auth + structura blog"

Decizii cheie de făcut acum:

  • Conținutul stă unde? Markdown files (git-versionat, cel mai simplu) sau Postgres (mai flexibil, search bun)
  • CMS pentru editori non-tehnici? Tina, Sanity, Decap (vechiul Netlify CMS) sau direct admin custom
  • Hosting? Vercel (cel mai ușor), Cloudflare Pages (free), aihost.md (plată în lei, Claude Code preinstalat)
03

Content migration

timp: 4 ore - 3 ziledeliverable: tot conținutul în noul format

Aici e munca cea mai mare la site-uri mari. WP REST API e prietenul tău:

# Export tot conținutul publicat (paginat, 100 per request)
curl "https://siteul-tau.ro/wp-json/wp/v2/posts?per_page=100&page=1" > posts-1.json

# Apoi cu Claude:
# "transformă posts-1.json în markdown files cu frontmatter,
#  un fișier per post, slug ca nume"
  • Conținut text (posts, pages) → markdown sau Postgres
  • Custom fields (ACF) → coloane în Postgres sau frontmatter în markdown
  • Media (imagini, PDF-uri) → R2/S3 sau Supabase Storage; rescrie URL-urile
  • Comentarii (dacă ai) → Postgres tabel comments cu FK la posts
  • Useri (membership site) → migrare cu re-set parolă + email de comunicare
TIP: Nu migra date pe care nu le folosești. Cele 5 ani de spam comments și 200 de draft-uri abandonate pot rămâne în WordPress. Migrează doar ce contează.
04

Pages, componente & features

timp: 1-3 săptdeliverable: site funcțional pe localhost

Aici intră Claude Code în viteza maximă. Construiești template-urile (header, footer, blog post, page), apoi feature-urile (search, contact form, newsletter).

  • Template app/layout.tsx + BlogNav + footer
  • Pagina blog index app/blog/page.tsx + dinamic app/blog/[slug]/page.tsx
  • SEO: generateMetadata() per pagină + sitemap.ts + robots.ts
  • JSON-LD pentru articole (BlogPosting schema)
  • Forms: server actions cu zod validation + Resend pentru email
  • Search: full-text search Postgres sau Algolia
  • Comentarii: Giscus (gratuit, GitHub Discussions) sau custom

Recomandare: nu rebuild-ui exact ce era — migrarea e ocazie să curăți. Plugin-uri inutile, secțiuni moarte, pagini cu zero trafic — drop them.

05

Cutover & redirect-uri

timp: 2-4 oredeliverable: site live pe domeniul real

Etapa cea mai delicată — aici se câștigă sau se pierde SEO-ul. Redirect-urile 301 sunt obligatorii pentru fiecare URL care se schimbă.

  • Generează lista completă de URL-uri vechi din WP sitemap
  • Mapează la URL-urile noi (de obicei aceleași dacă păstrezi slug-urile)
  • Configurează redirect-urile în next.config.js sau via middleware
  • Test sitemap nou + submitting în Google Search Console
  • Setup Cloudflare cache rules
  • Switch DNS — A/AAAA records către noul host
  • Monitorizează 404 în Search Console primele 2 săptămâni
  • După 30 zile fără probleme: dezactivează WP
NU dezactiva WP imediat. Lasă-l live măcar 30 zile pe un subdomeniu (old.siteul-tau.ro) ca backup pentru cazurile neacoperite. Apoi shutdown definitiv.
scenarii pe tip de proiect

Cât durează efectiv pentru tine

Estimarea pragmatică în funcție de complexitatea site-ului tău. Cifrele sunt pentru un developer + Claude Code, fără echipă.

Blog simplu (10-50 posts)

WP cu temă standard, fără e-commerce, fără multi-language, câteva pagini statice + categorii.

timp total
2-3 zile
cost dev
0-300€
  • Posts în markdown (frontmatter cu meta SEO)
  • Tags & categorii ca filtre client-side
  • RSS feed nativ Next.js
  • Hosting Vercel/Cloudflare free

Site corporate cu pagini custom

Pagini About / Servicii / Echipă / Contact, formulare, poate o pagină Cariere cu listing job-uri.

timp total
4-7 zile
cost dev
300-800€
  • Conținut în markdown sau headless CMS (Tina)
  • Forms cu Resend pentru notificări
  • Editor pentru personal non-tehnic
  • Multi-language i18n nativ Next.js

Magazin online WooCommerce

100-1000 produse, checkout cu Stripe, conturi clienți, istoric comenzi, eventual abonamente.

timp total
2-4 săpt
cost dev
2000-6000€
  • Schema produse în Postgres (Drizzle ORM)
  • Checkout custom cu Stripe Payment Intents
  • Auth cu Better-Auth + roles (client / admin)
  • Admin panel custom pentru manage produse + comenzi

Membership / SaaS cu auth complex

Membri plătitori, conținut gated, abonamente lunare, eventual conținut user-generated.

timp total
3-6 săpt
cost dev
3000-8000€
  • Migrare useri cu reset parolă + email de comunicare
  • Stripe Subscriptions + webhooks pentru status sync
  • Row-Level Security în Postgres pentru access control
  • Emails tranzacționale via Resend / Postmark
pitfall-uri reale

Greșelile comune care costă scump

Toți care au făcut o migrare WP → modern stack au lovit cel puțin unul din astea. Învață de la ei, nu din experiență proprie.

SEO catastrofă

Uiți redirect-urile 301

Schimbi URL-uri fără redirect-uri → Google de-indexează tot, pierzi 60-90% trafic în 30 zile. Recovery durează luni. Verifică cu un crawler (Screaming Frog) că fiecare URL vechi linkuiește la cel nou.

re-creează gunoi

Migrezi exact ce era, bug-uri incluse

Migrarea e șansă să cureți. Dacă recreezi exact aceeași arhitectură (cu plugin-uri „pentru paritate"), recreezi limitările vechi. Refă cu Postgres-first, nu „cum era în ACF".

media leak

Lași imaginile pe vechiul WP server

„Le mut mai târziu" devine „nu le mut niciodată". Când închizi WP, imaginile din articole se sparg. Migrează media în prima fază, alături de text.

over-engineering

Alegi headless CMS premature

Tina/Sanity/Strapi adaugă o piesă în plus de întreținut. Pentru blog-uri sub 500 posts, markdown e superior (versionat în git, fără DB extra, zero vendor risk).

cutover prost

Lansezi vineri seara

Cutover-ul DNS în zi de weekend = 48h fără să poți intervene rapid dacă apar 404 sau cache issues. Marți dimineața e ziua corectă.

no rollback

Dezactivezi WP-ul prea devreme

Lasă WP-ul live pe old.siteul.ro măcar 30 zile după cutover. Dacă apar probleme, ai unde reveni. Cost: 5€/lună hosting; valoare: enormă.

scope creep

„Fac și redesign cât tot migrez"

Tentația e mare. Rezistă. Migrare tehnică + redesign vizual = 2x complexitate + 3x riscul de bug-uri. Migrează la 1:1, redesign-uiești după.

cost surprise

Subestimezi munca de QA

Construit în 3 zile, testat în 3 ore = surprize. Pentru fiecare săptămână de dev, 2-3 zile de QA + bug fixing. Plus 1 săptămână de monitoring post-launch.

cost & timeline

Cifre reale, nu vise

Estimative pentru un dev cu Claude Code (single-handed). Pentru echipe, paralelizezi parțial — împarte la 1.5-2x, nu la 4.

Tip proiect
Timp dev
Cost dev
Hosting/lună
Blog 10-50 postsmarkdown + Vercel free
2-3 zile
0-300€
0€
Blog 100-500 postsCMS + search + comments
1-2 săpt
600-1500€
0-25€
Site corporate10-30 pages, forms, multi-lang
4-7 zile
300-800€
0-25€
Magazin WooCommerce100-1000 produse + Stripe
2-4 săpt
2000-6000€
25-50€
Membership / SaaSauth + abonamente + content gated
3-6 săpt
3000-8000€
25-100€
Enterprise WP customplugin-uri proprii, integrări complexe
2-4 luni
10k-25k€
100-300€

Compară cu menținerea WP: minim 50-200€/lună pe plugin licenses + hosting + ore de mentenanță. Migrarea se recuperează în 3-12 luni.

post-migrare: ce câștigi

Câștigurile măsurabile din ziua 1

Nu vorbim despre „mai modern" sau „mai bine". Cifre concrete pe care le poți raporta la şef sau la tine însuți după 30 zile.

+72

Core Web Vitals (LCP)

De la 4-8s pe mobile la 0.8-1.5s. Direct ranking factor pe Google. Trafic organic creşte 15-40% în 60 zile doar din asta.

−85%

Cost lunar

De la 50-200€/lună (managed hosting + plugin licenses + CDN) la 0-25€/lună (Vercel free + Supabase free + Cloudflare). Saving anual: 600-2000€.

−95%

Timp de mentenanță

De la 3-5h/lună (update plugin-uri, conflicts, security) la 10-20 min (npm update + AI verifică). Recuperezi 30-50 ore/an pentru muncă reală.

0

Plugin-uri abandonate

Niciodată mai trebuie să cauți „de ce nu funcționează ACF cu noul WordPress". Stack-ul tău e codul tău.

Capacitate de a build idei noi

„Vreau o pagină nouă cu formular custom" devine task de 30 minute, nu de 2 zile. Construiești de 5x mai multe lucruri.

100%

Portabilitate

git clone + vercel deploy = site-ul tău funcționează identic oriunde. Niciun vendor lock, niciun „migration tool plugin".

Migrarea de la WordPress nu e un proiect tehnic.
E un upgrade de filosofie.

Începe cu un audit, alege un weekend, lasă WP-ul ca backup. Restul vine natural cu Claude Code lângă tine.

Începe migrarea cu aihost.md →

Mediu Next.js + Supabase pornit + Claude Code preinstalat. Plată în lei. De la 150 MDL/lună.