Il contesto: un sito WordPress che era diventato un problema
Il cliente era un azienda di servizi professionali con un sito WordPress che nel corso di 4 anni era cresciuto in modo incontrollato. 23 plugin attivi, un tema premium pesantemente personalizzato tramite il child theme, un page builder (Elementor) che generava markup illeggibile e una serie di custom post type aggiunti con plugin diversi e incompatibili tra loro. Ogni aggiornamento di WordPress o dei plugin era una roulette russa: qualcosa si rompeva circa una volta al mese.
Il sito pesava 8MB per pagina, caricava 47 file CSS e 38 file JavaScript per ogni richiesta. Il tempo di caricamento medio era di 6.2 secondi. Il cliente pagava un agenzia 400 euro al mese per "manutenzione" che consisteva principalmente nell aggiornare i plugin e correggere i problemi che gli aggiornamenti causavano. Per ogni modifica al contenuto — anche cambiare un numero di telefono — doveva aprire un ticket e aspettare 2-3 giorni.
Perche il cliente ha scelto la migrazione
Mi ha contattato come sviluppatore PHP freelance chiedendomi di "velocizzare WordPress". Dopo un analisi di mezza giornata ho presentato due opzioni con costi e benefici chiari. Opzione A: ottimizzare WordPress eliminando plugin superflui, cambiando tema e page builder — stima 2 settimane, risultato incerto, problemi strutturali irrisolti. Opzione B: migrazione completa a un sito custom in PHP — stima 3 settimane, risultato prevedibile, problemi eliminati alla radice. Il cliente ha scelto l opzione B.
La strategia di migrazione: zero perdite SEO
Il sito aveva circa 85 pagine indicizzate su Google, alcune con buon posizionamento per keyword di settore. La priorita assoluta era non perdere neanche una posizione. Ho pianificato la migrazione in 4 fasi.
Fase 1: mappatura completa del sito esistente
Ho estratto da WordPress tutti i contenuti (pagine, articoli, media), tutte le URL indicizzate (via Screaming Frog), tutti i meta tag SEO (title, description, canonical, Open Graph) e la struttura dei menu. Ho creato una mappa di corrispondenza tra vecchi URL e nuovi slug, tenendo i percorsi identici dove possibile.
Fase 2: sviluppo del sito custom
Ho costruito il sito su un framework PHP MVC leggero con queste caratteristiche:
- Template engine con layout e componenti riutilizzabili, markup semantico e pulito
- CSS custom scritto a mano, senza framework — un unico file da 18KB minificato invece dei 47 file da 2.3MB di prima
- JavaScript vanilla solo dove necessario — un file da 4KB invece dei 38 file da 1.8MB
- Pannello admin semplificato per gestire pagine, articoli e media in autonomia — nessun plugin, nessun page builder, campi strutturati
- SEO integrato: meta tag, sitemap XML, robots.txt, dati strutturati Schema.org generati automaticamente
- Responsive design costruito da zero con CSS Grid e Flexbox, testato su 12 dispositivi reali
Fase 3: migrazione dei contenuti
Ho scritto uno script PHP che ha importato tutti i contenuti dal database WordPress al nuovo database, preservando date di pubblicazione, autori, categorie e relazioni tra contenuti. Le immagini sono state processate: convertite in WebP, ridimensionate in 3 formati e rinominate con slug SEO-friendly. Su 340 immagini, lo script ha ridotto lo spazio occupato da 890MB a 45MB.
Fase 4: redirect e go-live
Ho configurato redirect 301 da ogni vecchio URL al nuovo tramite un file di mapping nel codice PHP, non via .htaccess. Questo mi ha dato controllo programmatico sui redirect e la possibilita di loggare eventuali 404 per URL non mappati. Il go-live e avvenuto di sabato mattina alle 6:00, quando il traffico era al minimo.
Risultati misurabili dopo 6 mesi
- Peso medio pagina: da 8MB a 340KB — riduzione del 96%
- Tempo di caricamento: da 6.2 secondi a 1.1 secondi
- File CSS caricati: da 47 a 1 (18KB minificato)
- File JavaScript caricati: da 38 a 1 (4KB minificato)
- Plugin da aggiornare: da 23 a zero — nessun rischio di rottura
- Costo manutenzione mensile: da 400 euro/mese a zero — il sito non richiede manutenzione tecnica
- Posizioni SEO mantenute al 100% grazie ai redirect e alla struttura URL preservata
- Autonomia del cliente: modifica contenuti dal pannello admin senza ticket e senza attese
- PageSpeed Score: da 28 (mobile) a 97 (mobile)
Il pannello admin: semplicita come feature
Un aspetto spesso trascurato nelle migrazioni da WordPress e il pannello di gestione contenuti. WordPress offre un backend potente ma complesso — troppe opzioni, troppi menu, troppa confusione per chi deve solo aggiornare un testo o aggiungere una foto. Ho costruito un pannello admin minimalista con esattamente le funzionalita che il cliente usa: modifica testo delle pagine, gestione articoli del blog (titolo, testo, immagine, categoria), upload media con ridimensionamento automatico e anteprima della pagina prima della pubblicazione.
Il cliente ha imparato a usarlo in 30 minuti. Non ha mai aperto un ticket per chiedere come fare qualcosa. La semplicita non e una limitazione — e una scelta progettuale che aumenta l autonomia e riduce i costi.
Quanto costa davvero mantenere WordPress vs un sito custom
Facciamo un calcolo su 3 anni. Con WordPress il cliente spendeva: 400 euro/mese di manutenzione (14.400 euro), hosting potenziato per reggere il peso del sito (50 euro/mese, 1.800 euro), interventi straordinari per rotture post-aggiornamento (circa 4 all anno, 800 euro/anno, 2.400 euro). Totale 3 anni: 18.600 euro. Con il sito custom: costo iniziale della migrazione, hosting base (15 euro/mese, 540 euro), zero manutenzione tecnica ordinaria. Il risparmio netto su 3 anni supera abbondantemente il costo della migrazione.
Quando ha senso migrare da WordPress?
Non sempre. WordPress e uno strumento eccellente per molti casi d uso. La migrazione a PHP custom ha senso quando: il sito ha piu di 15 plugin attivi, il page builder genera markup non manutenibile, il costo di manutenzione mensile supera il costo ammortizzato di un sito custom, il cliente ha bisogno di autonomia reale nella gestione dei contenuti e la velocita e un fattore critico per il business. Se il sito e semplice e funziona, WordPress va benissimo.
A sei mesi dalla migrazione il sito non ha richiesto nessun intervento tecnico di manutenzione. Il cliente usa il pannello admin quotidianamente e ha gia chiesto un preventivo per un secondo progetto.