Ottimizzazione PageSpeed · sviluppo PHP dal 2011

Siti veloci. Codice pulito. Ottimizzazione PageSpeed.

Sono Eugenio Davide Lecca, sviluppatore PHP/MySQL. Studio perché un sito è lento e progetto la soluzione che lo rende veloce. Su WordPress, Joomla e PrestaShop: Core Web Vitals nel verde, con i numeri a dimostrarlo.

0+
Obiettivo su ogni progetto
0
anni di esperienza
0
score medio raggiunto
3 CMS
Joomla · PrestaShop · WP
0
progetti su misura
scroll
// sviluppo

Siti, e-commerce e web app costruiti veloci

Ottimizzare un sito lento costa. Costruirlo veloce non costa niente di più, se lo fai dall'inizio: niente page builder, niente plugin che si accavallano, e il PageSpeed è verde dal primo giorno.

Siti web

Vetrine, portali e landing con il tema scritto a mano, non montato con un page builder. Meno codice da scaricare, meno richieste, Core Web Vitals nel verde senza doverci tornare sopra.

WordPressJoomlaHTML/CSS

E-commerce

Negozi su WooCommerce e PrestaShop dove il checkout non fa aspettare: ogni secondo in più sul carrello è un carrello abbandonato. Cataloghi grandi, varianti, integrazione col gestionale.

PrestaShopWooCommercePagamenti

Web App

Gestionali e applicazioni in PHP/MySQL costruiti sul tuo flusso di lavoro. Query profilate e indici messi come si deve: restano veloci anche quando i dati crescono.

PHPMySQLAPI REST
// moduli, plugin e temi su misura

Moduli, plugin e temi scritti da zero

Quando l'estensione pronta non esiste, o esiste e fa il 60% di quello che ti serve, la scrivo io. Componenti Joomla, moduli PrestaShop, plugin e temi WordPress: codice tuo, nessuna licenza da rinnovare, nessun lock-in.

Non parto dal codice: parto da cosa deve succedere. Se una funzione non serve, la togliamo prima di scriverla, quando costa una riga di documento invece di una settimana.

100% su misura scalabile
iwebtech build --custom
  • ├─Moduli & plugin per Joomla, PrestaShop e WordPress
  • ├─Integrazioni API, gestionali e gateway di pagamento
  • ├─Automazioni, import/export e sincronizzazione dati
  • ├─Funzionalità su misura per il tuo flusso di lavoro
  • └─...praticamente qualsiasi cosa ti serva
// ottimizzazione core web vitals

Ottimizzazione PageSpeed e Core Web Vitals

Un sito lento perde clienti prima ancora di essere letto. Misuro dove il tempo si perde davvero, nel browser o nel server, e lo recupero. Su mobile, dove Google guarda.

0
SCORE MEDIO CLIENTI
Peso della pagina−89%
Tempo di caricamento (LCP)−82%
Richieste al server−80%

quotidiano online, 70.000 articoli: 9,7MB → 1,1MB · LCP 14,6s → 2,6s · 225 → 44 richieste

LCP, CLS e INP nel verde su mobile

I tre Core Web Vitals che Google misura davvero. LCP: quanto ci mette a comparire la cosa che sei venuto a vedere. CLS: quanto il layout balla mentre carica, e ti fa cliccare il bottone sbagliato. INP: quanto la pagina ci mette a reagire quando la tocchi.

TTFB: quando il problema è il server, non il tema

Se il TTFB è alto, il server ci mette due secondi solo a rispondere: nessun plugin di cache lo risolve, perché il tempo è già perso prima che il browser riceva un byte. Profilo PHP e query, trovo le query N+1 nello slow query log, sistemo gli indici e configuro OPcache. È il lavoro che gli installatori di plugin non fanno.

Immagini, caching e risorse che bloccano il rendering

Immagini convertite in WebP o AVIF e dimensionate davvero, non ridotte via CSS. Lazy-load su quello che sta sotto la piega, critical CSS in linea e via il render-blocking: il browser smette di aspettare fogli di stile e script per disegnare la prima schermata. Compressione Brotli: gli stessi byte viaggiano in un quarto dello spazio, e la pagina arriva prima anche su una connessione lenta.

Plugin e page builder che costano più di quanto rendano

Un sito su Elementor, Divi o WPBakery trascina decine di richieste e centinaia di KB per fare quello che un tema scritto a mano fa con niente. Conto cosa porta ciascun plugin e cosa costa. Quelli che costano più di quanto rendano se ne vanno, e se il tema è irrecuperabile lo riscrivo da zero mantenendo l'aspetto identico.

// wordpress · joomla · prestashop · woocommerce

WordPress, Joomla, PrestaShop

Quindici anni sugli stessi tre CMS. Non li uso: li apro, e quando serve li riscrivo. Sotto ci sono sempre PHP e MySQL.

cms
WordPress
cms
Joomla
ecommerce
PrestaShop
ecommerce
WooCommerce
lang
PHP
db
MySQL
front
JS Vanilla
tooling
Vibecoding

Vibecoding + AI nel mio workflow

Sfrutto gli strumenti AI più recenti per prototipare, refactorare e ottimizzare, senza mai rinunciare al controllo del codice.

// come funziona un audit di performance

Come lavoro

Due percorsi diversi, a seconda di cosa ti serve. Ogni numero qui sotto viene da un progetto vero.

Ottimizzazione PageSpeed

01

Analisi

Parto dai numeri, non dalle sensazioni. Misuro i Core Web Vitals su mobile (LCP, CLS e INP) e profilo codice PHP e query per capire dove il tempo si perde davvero: un plugin di troppo, un'immagine da qualche megabyte, un database senza indici. Alla fine dell'audit sai esattamente cosa ti sta costando velocità, e quanto.

iwebtech audit --url tuosito.it --mobile
  • ├─LCP 14,6s · oltre il triplo della soglia di Google
  • ├─Peso della pagina 9,7MB · immagini non compresse
  • ├─Richieste 225 · un quarto sono immagini duplicate
  • └─esempio reale: quotidiano online, 70.000 articoli
02

Strategia

Non ottimizzo tutto: ottimizzo quello che sposta l'ago. Ordino gli interventi per rapporto fra guadagno e costo, ti dico cosa cambia subito e cosa può aspettare, e fisso i numeri da raggiungere. Il piano è scritto, con priorità e risultati misurabili: a fine lavoro c'è un metro per dire se ha funzionato, e non è un'opinione.

immagini next-gencachingquery indicizzate plugin superfluilazy-loadcodice critico
03

Sviluppo

Codice pulito, niente page builder. Riscrivo quello che va riscritto: moduli, plugin e temi da zero in PHP/MySQL. Il resto lo tengo snello. Ogni step viene testato su mobile e desktop prima di procedere, perché una regressione trovata dopo il lancio costa dieci volte tanto.

iwebtech build --custom
  • ├─Theme e moduli riscritti da zero, senza estensioni di terze parti
  • ├─Asset compressi, immagini next-gen, cache configurata
  • ├─Database indicizzato, query profilate una per una
  • └─Test su mobile e desktop a ogni step
04

Lancio & cura

La messa online non è la fine. Monitoro i Web Vitals sul campo, dove contano davvero, e intervengo se un aggiornamento o un contenuto pesante fa scendere il punteggio. Lo score medio dei progetti che seguo è 92 su mobile: un numero che va mantenuto, non solo raggiunto.

LCP
14,6s2,6s
Peso pagina
9,7MB1,1MB
Richieste
22544

Progetto personalizzato

01

La call

Mezz'ora, senza impegno. Prima di scrivere una riga capiamo cosa ti serve davvero, che quasi mai coincide con quello che hai in mente all'inizio. Se il progetto non sta in piedi, te lo dico qui, non dopo tre settimane.

cosa risolveper chicosa NON deve fare
02

Analisi e specifiche

Metto nero su bianco cosa fa, cosa non fa e dove si integra con quello che hai già. Le funzioni che non servono sono quelle che costano di più: si tolgono adesso, quando costa una riga di documento, non dopo, quando costa una settimana.

specifiche.md
  • ├─Flussi utente, uno per uno
  • ├─Integrazioni: gestionale, pagamenti, API di terze parti
  • ├─Cosa resta fuori, dichiarato
  • └─Criteri per dire che è finito
03

Preventivo e piano

Costi, tempi e milestone. Nessun "poi vediamo": sai cosa consegno e quando, prima di iniziare. Se durante il lavoro cambia qualcosa, cambia il preventivo, e lo sai prima di trovartelo in fattura.

prezzo fissomilestonetempi scritti
04

Sviluppo

Moduli, plugin e temi da zero in PHP/MySQL, senza page builder. Il lavoro cresce su un ambiente di staging che puoi aprire quando vuoi: niente sorprese il giorno della consegna, perché l'hai visto diventare quello che è.

iwebtech build --custom --staging
  • ├─Codice tuo, non licenziato: nessun lock-in
  • ├─Ambiente di staging aperto, aggiornato a ogni step
  • └─Ottimizzato mentre si costruisce, non dopo
05

Collaudo e messa online

Test sui dati veri, non su quelli finti. Poi il deploy: DNS, SSL, redirect, backup. Il sito vecchio resta in piedi finché il nuovo non è pronto, e il passaggio dura il tempo di un aggiornamento di DNS.

staging → produzioneSSLredirect 301backup
06

Manutenzione ordinaria

Aggiornamenti, backup verificati (un backup che non hai mai ripristinato non è un backup) e monitoraggio dei Web Vitals. Un sito non è un mobile: se lo lasci lì e non lo guardi più, si rompe da solo.

Aggiornamenti
core + estensioni
Backup
testati, non solo fatti
Web Vitals
monitorati nel tempo

Su una testata da oltre 70,000 articoli ho portato l'LCP da 14,6s a 2,6s e il peso da 9,7MB a 1,1MB. Su Impresa Futura la pagina è passata da 1108KB a 129KB e il CLS da 0,105 a 0,017. Sotto, 13 progetti reali. Dove ho misurato io, lo trovi scritto.

// casi reali, con i numeri prima e dopo

Alcuni progetti realizzati

Scorri: ogni scheda entra a fuoco con quello che ho fatto davvero.

NumeroVerde800: e-commerce WooCommerce su misura per l'acquisto di numeri verdi 800. PageSpeed 95, 19 richieste
NumeroVerde800
e-commerce · WooCommerce
Utilius: theme WordPress su misura al posto di Elementor. PageSpeed 92, LCP 0,89s
Utilius
software gestionale · WordPress
Impresa Futura: template Joomla riscritto da zero. Peso da 1108KB a 129KB, CLS da 0,105 a 0,017
Impresa Futura
consulenza fiscale · Joomla
Quotidiano online nazionale
editoria · WordPress
Gigolo.cloud: portale Joomla con template, componenti, moduli e plugin su misura. PageSpeed 90+
Gigolo.cloud
portale · Joomla custom
Elbo Controlli: configuratore di prodotto, componente Joomla scritto da zero con regole di compatibilità
Elbo Controlli
configuratore · Joomla custom
Biotex: estensioni PrestaShop per shop B2C e portale B2B, con consigliere di taglia
Biotex
estensioni · PrestaShop
Faress: estensione PrestaShop per preventivi dal front-end, con generazione PDF e firma
Faress
estensioni · PrestaShop
Unipegaso Reggio Calabria: landing con theme WordPress dedicato. 32 richieste, CLS 0,007
Unipegaso Reggio Calabria
landing page · WordPress
Planet Flame: e-commerce WooCommerce integrato con il gestionale ERP. CLS 0,004
Planet Flame
e-commerce · WooCommerce
Inside Bolzano: portale Joomla di eventi e cultura per il territorio
Inside Bolzano
portale eventi · Joomla
BeBikes: e-commerce WooCommerce per biciclette elettriche, catalogo con varianti e accessori
BeBikes
e-commerce · WooCommerce
SmartWay Europe: e-commerce WooCommerce per la mobilità elettrica, catalogo con varianti e accessori
SmartWay Europe
e-commerce · WooCommerce
Il prossimo sei tu?
il tuo progetto
e-commerce · WooCommerce

NumeroVerde800

numeroverde800.com
  • E-commerce su misura per l'acquisto di numeri verdi 800
  • Attivazione e scelta del numero dentro il checkout
  • Tema costruito da zero, nessun page builder
PageSpeed95
Richieste19
visita il sito ↗
software gestionale · WordPress

Utilius

utilius.it
  • Conversione da Elementor a theme custom
  • Stesso design, codice riscritto per il PageSpeed
  • Form e funnel di contatto integrati nel tema
PageSpeed92
LCP misurato0,89s
visita il sito ↗
consulenza fiscale · Joomla

Impresa Futura

impresafutura.it
  • Template Joomla ricostruito da zero
  • CLS da 0,105 a 0,017: niente più salti di layout
  • Un ottavo del peso, metà delle richieste
Peso misurato1108 → 129KB
Richieste35 → 19
visita il sito ↗
editoria · WordPress

Quotidiano online nazionale

sotto NDA · testata giornalistica
  • Ricostruzione completa su oltre 70,000 articoli
  • Da 225 a 44 richieste, da 9,7MB a 1,1MB
  • LCP da 14,6s a 2,6s sulla stessa pagina
Peso misurato9,7MB → 1,1MB
LCP misurato14,6s → 2,6s
portale · Joomla custom

Gigolo.cloud

gigolo.cloud
  • Template, componenti, moduli e plugin realizzati completamente su misura
  • Area profilo, ricerca per città, contenuti e recensioni
  • Otto anni di sviluppo su versioni successive · con Enthous
PageSpeed90+
Sviluppo100% custom
visita il sito ↗
configuratore · Joomla custom

Elbo Controlli

elbocontrolli.it
  • Componente Joomla scritto da zero, non un'estensione di terze parti
  • Configura il macchinario solo con combinazioni compatibili
  • Dal configuratore parte la richiesta di preventivo · con Enthous
Componentesu misura
Regolecompatibilità
visita il sito ↗
estensioni · PrestaShop

Biotex

biotex.it
  • Consigliere di taglia: da peso e altezza propone e seleziona la misura
  • Estensioni su misura per lo shop B2C e per il portale B2B
  • Due negozi PrestaShop distinti, corporate separato in Joomla
EstensioniPrestaShop
ShopB2C + B2B
visita il sito ↗
estensioni · PrestaShop

Faress

faress.com
  • Preventivi personalizzati richiesti dal front-end dal cliente
  • Dal backoffice si amplia il preventivo e si generano PDF e contratto
  • Copertina, gestione multi-PDF e invio al cliente per la firma
EstensionePrestaShop
OutputPDF + firma
visita il sito ↗
landing page · WordPress

Unipegaso Reggio Calabria

unipegasoreggiocalabria.it
  • Theme custom costruito per una sola landing
  • Form di orientamento integrato nel tema
  • Nessuna dipendenza da page builder
Richieste32
CLS misurato0,007
visita il sito ↗
e-commerce · WooCommerce

Planet Flame

planetflame.com
  • Integrazione fra WordPress e il gestionale custom
  • Sincronizzazione di catalogo e ordini
  • Schede prodotto generate dal gestionale
IntegrazioneWP ↔ ERP
CLS misurato0,004
visita il sito ↗
portale eventi · Joomla

Inside Bolzano

inside.bz.it
  • Portale di eventi e cultura per il territorio
  • Ricerca per data, categoria e mappa
  • Lavoro di diversi anni fa, non ottimizzato
CMSJoomla
Tipoportale eventi
visita il sito ↗
e-commerce · WooCommerce

BeBikes

bebikes.it
  • Negozio di biciclette elettriche su WooCommerce
  • Catalogo con varianti, taglie e accessori
  • Costruzione del negozio · con Centernet e NextLevel
PiattaformaWooCommerce
Tipocostruzione
visita il sito ↗
e-commerce · WooCommerce

SmartWay Europe

smartwayeurope.com
  • Negozio di mobilità elettrica su WooCommerce
  • Catalogo prodotti, varianti e accessori
  • Costruzione del negozio · con Centernet e NextLevel
PiattaformaWooCommerce
Tipocostruzione
visita il sito ↗
il tuo progetto

Il prossimo sei tu?

il tuo sito
  • Guardo il tuo sito e ti dico se ci sono margini veri
  • Se non ce ne sono, te lo dico e finisce lì
  • Se ci sono, ti dico cosa costa scoprirli tutti
Primo sguardogratuito
Risposta48 ore
Parliamone ↓
// preventivo

Parliamo del tuo progetto

Mandami l'indirizzo del sito da velocizzare, o due righe sul progetto da costruire. Gli do un primo sguardo gratuito e ti rispondo entro 48 ore: se non ci sono margini veri, te lo dico e finisce lì.

Se i margini ci sono, il passo dopo è lo studio completo: ogni punto critico misurato, e il preventivo per risolverlo. Da 600 a 1.200 € secondo la dimensione del sito, e il documento che ne esce resta tuo.

titolareLecca Eugenio Davide
p.iva03374960924
c.f.LCCGDV88S08B354V

Il pulsante apre la tua app di posta con il messaggio già pronto. Preferisci scrivere a mano? info@iweb-tech.org

// la prova

Non fidarti. Verificalo.

Questa pagina ha uno shader WebGL a schermo pieno, un planetario che ruota, un carosello 3D guidato dallo scroll e un contatore animato. Effetti inutili, esattamente come quelli che ti hanno messo sul sito. La differenza è che qui sono scritti bene: al primo caricamento questa pagina fa 5 richieste in tutto e pesa 114 KB, e il PageSpeed resta sopra 90 lo stesso. Verificalo tu stesso: clicca il pulsante qui sotto e chiedi il PageSpeed di questa pagina direttamente a Google.

Si apre in una scheda nuova.

Ecco a grandi linee come ci arrivo. È la cura dei dettagli a fare la differenza:

  • Gli effetti girano solo mentre li guardi. Fuori dallo schermo o con la scheda in background si fermano: zero frame, zero CPU. Non è una furbizia da benchmark, è come andrebbero scritti sempre.
  • Quelli che chiedono una GPU partono solo se una GPU c'è. Su un dispositivo senza accelerazione lo shader disegna un fotogramma e si ferma, invece di inchiodare il telefono di chi ti visita.
  • Zero richieste esterne. Niente CDN, niente font di Google, niente librerie. Font e loghi sono serviti da qui: un sito che vende velocità non può permettersi di aspettare il server di qualcun altro.
// domande frequenti

Domande frequenti

Perché il mio sito è lento?

Quasi mai per un motivo solo. I quattro colpevoli, in ordine di frequenza: il server che ci mette troppo a rispondere (TTFB alto: nessun plugin di cache lo risolve), le immagini caricate a piena risoluzione e ridotte via CSS, il page builder che trascina decine di richieste per disegnare una riga di testo, e i plugin che pesano più di quanto rendano. Finché non li misuri, si interviene alla cieca.

Il PageSpeed è basso ma il sito a me sembra veloce. È un problema vero?

Sì, e ti sembra veloce per due motivi: hai una connessione buona e il tuo browser ha già tutto in cache. Un cliente nuovo, su 4G, con un telefono di tre anni fa, vede un'altra pagina. Google misura quella, e su mobile, dove il divario è più grande. Il punteggio non è un voto estetico: è la stima di quanti visitatori se ne vanno prima che la pagina compaia.

Di quanto può migliorare il PageSpeed del mio sito?

Dipende da dove parti, e la differenza può essere enorme. Su una testata online da oltre 70.000 articoli l'LCP è passato da 14,6s a 2,6s e la pagina da 9,7MB a 1,1MB: da sito che perdeva lettori prima ancora di comparire, a sito che si apre subito. Su un Joomla il CLS è sceso da 0,105 a 0,017. Lo score medio dei progetti che seguo è 92 su mobile. Un numero sul tuo sito non te lo prometto prima di averlo visto: te lo dico dopo, con i numeri in mano.

Quanto costa? E cosa comprende?

Il primo sguardo è gratuito e serve a capire se il tuo sito ha margini reali. Se non ne ha, te lo dico, e finisce lì.

Se i margini ci sono, si passa allo studio a pagamento: da 600 a 1.200 € a seconda della dimensione del sito e del CMS. Comprende l'analisi completa dei punti critici, misurati uno per uno, e il preventivo dettagliato per risolverli. Il documento che ne esce resta tuo, anche se decidi di non proseguire con me: puoi darlo a chiunque.

Il costo dell'implementazione dipende da cosa emerge dallo studio, e lo sai prima di iniziare.

Lavori su PrestaShop e Joomla, o solo su WordPress?

Su tutti e tre, e Joomla e PrestaShop sono dove faccio la differenza più grande: chi li ottimizza davvero è raro, e i plugin pronti che salvano WordPress lì non esistono. Più WooCommerce per l'e-commerce. Sviluppo componenti, moduli, plugin e temi da zero in PHP/MySQL, senza page builder.

Il sito resta online durante i lavori?

Sì. Si lavora su un ambiente di staging separato, che puoi aprire quando vuoi per vedere come cresce. Il sito vecchio resta in piedi e continua a vendere finché il nuovo non è pronto, e il passaggio dura il tempo di un aggiornamento di DNS. Prima del cambio faccio un backup completo, e se qualcosa non torna si torna indietro in pochi minuti.

È colpa dell'hosting o del tema?

È la lite in cui rimbalzi da mesi, e la risposta è: si misura. Se il TTFB è alto il problema è a monte del browser (server, PHP, query) e cambiare tema non sposta niente. Se il TTFB è buono ma la pagina compare tardi, il problema è quello che il browser deve scaricare ed eseguire. Sono due lavori diversi, e distinguerli è la prima cosa che faccio: così smetti di pagare quello sbagliato.

E se il mio sito è messo troppo male per essere ottimizzato?

Capita: temi comprati, page builder stratificati, plugin che si combattono fra loro. In quei casi rattoppare costa più che rifare, e si ricostruisce il tema da zero. Su una testata da oltre 70.000 articoli l'LCP è passato da 14,6s a 2,6s; su un Joomla la pagina è scesa da 1108KB a 129KB. Non è una resa: è la strada più corta.

Testata · 70.000 articoli

Se ricostruisci il tema, perdo il design che ho adesso?

No. Cambia il codice sotto, non l'aspetto sopra: l'estetica resta quella di prima, fin nei dettagli. Su Utilius ho sostituito Elementor con un theme WordPress su misura tenendo la stessa faccia, e il PageSpeed è arrivato a 92. Nessuno si accorge del cambio, tranne chi apre il sito.