Sari la conținutul principal
// Portofoliu / Ioana Mihalca 08 / 10
// Studiu de caz

Ioana Mihalca

Migrare completă a blogului unei jurnaliste române de pe WordPress în Laravel 13, cu sistem de design editorial propriu (estetică revistă rurală), pagini reactive Livewire, panou admin Filament 5, import automatizat al conținutului Gutenberg cu rescrierea imaginilor și optimizare SEO completă cu păstrarea redirect-urilor 301.

Fișă proiect
Vizitează Proiectul
// Ioana Mihalca ioanamihalca.ro
Ioana Mihalca

Import conținut — O comandă Artisan customizată gestionează migrarea completă WordPress → Laravel: parsează formatul de blocuri Gutenberg (paragrafe, imagini, galerii, headinguri, citate, embed-uri, liste), descarcă și rescrie toate media de pe site-ul live, deduplică termenii de taxonomie și păstrează toate cele 21 de articole originale cu categorii și tag-uri. Embed-urile YouTube sunt convertite automat în iframe-uri responsive.

Panou admin — Construit pe Filament 5, oferă management complet pentru articole (editor rich text, generare automată slug, câmpuri SEO, atribuire categorii și tag-uri, publicare/depublicare în masă), categorii, tag-uri, pagini statice, elemente de portofoliu (reordonare drag-and-drop) și mesaje de contact (cu status citit/necitit). Widget-urile din dashboard afișează statistici și ultimele mesaje.

Frontend reactiv — Paginile sunt construite ca Livewire 4 Single-File Components fără controllere tradiționale: homepage cu hero featured și ultimele articole, listing paginat, detaliu articol cu articole related, filtrare pe categorie și tag, grid portofoliu și formular de contact cu validare real-time, honeypot anti-spam și rate limiting.

SEO și performanță — Toate cele 21 de slug-uri WordPress originale sunt păstrate, cu redirect 301 catch-all pentru URL-urile vechi. Un sitemap.xml generat dinamic (cache 1 oră, invalidat automat la modificarea conținutului) acoperă articole, categorii și tag-uri. Fiecare pagină include meta tags complete, Open Graph, Twitter Card și date structurate JSON-LD Article. Imaginile non-hero folosesc lazy loading; N+1-urile sunt prevenite prin eager loading.

Design System — Estetic editorial/revistă rurală cu Playfair Display, Lora și Inter, paletă pământie (forest, terracotta, cream, charcoal), animații CSS (fade-in, slide-up, stagger), grain texture overlay, grid-uri asimetrice, stil prose cu drop caps, breadcrumbs și butoane de share.

Teste — 76 teste PHPUnit în 10 fișiere feature și 2 unit, acoperind toate paginile, cazurile edge, parserul Gutenberg (14 teste), logica de download imagini (9 teste), validitatea sitemap-ului, honeypot și rate limiting și redirecturile URL-urilor vechi.

Tech stack: Laravel 13, PHP 8.3, Livewire 4, Alpine.js, Tailwind CSS 4, Filament 5, MySQL, PHPUnit 12.

// Contact
Ai în minte un proiect similar?
Spune-ne ce vrei să construiești și revenim cu un răspuns.
Hai să discutăm