Ottimizzare LCP su WordPress: Dalla Diagnosi alla Soluzione

16 aprile 20264 minPerformance
In breveAI

Ottimizza il Largest Contentful Paint (LCP) del tuo sito WordPress in soli 20 minuti, migliorando la velocità di caricamento e superando la soglia di 2,5 secondi. Scopri come identificare l'elemento LCP e applicare 5 fix efficaci per ridurre i tempi di caricamento, come l'uso di fetchpriority e preload sulle immagini. Migliora la velocità del tuo sito e ottieni un miglioramento della user experience.

LCP su WordPress: Dalla Diagnosi alla Soluzione in 20 Minuti

Il Largest Contentful Paint è la metrica Core Web Vitals che fallisce più spesso su WordPress. La soglia è 2.5 secondi. Il sito WordPress medio su hosting condiviso? 3.5-5 secondi. Ecco come scendere sotto 2.5s senza cambiare hosting.

Trova il Tuo Elemento LCP

Prima di ottimizzare, devi sapere COSA è lento. L’elemento LCP cambia per ogni pagina.

// Incolla questo nella console di Chrome DevTools
new PerformanceObserver((list) => {
  const entries = list.getEntries();
  const lastEntry = entries[entries.length - 1];
  console.log('LCP Element:', lastEntry.element);
  console.log('LCP Time:', lastEntry.startTime + 'ms');
}).observe({type: 'largest-contentful-paint', buffered: true});

Nella maggior parte dei siti WordPress, l’elemento LCP è un’immagine. Nel 60% dei casi è l’immagine hero. Nel 25% è la featured image del post. Nel 15% è un blocco di testo H1.

5 Fix per LCP Immagine

1. fetchpriority=”high” sull’immagine LCP

Dice al browser: scarica questa immagine prima di tutto il resto.

<img src="hero.webp" fetchpriority="high" width="1200" height="600" alt="...">

WordPress 6.3+ aggiunge automaticamente fetchpriority=”high” alla prima immagine del contenuto. Ma se l’immagine hero è nel template del tema (non nel contenuto), devi aggiungerlo manualmente.

2. Preload dell’immagine LCP

<!-- Nel <head> del template -->
<link rel="preload" as="image" href="/wp-content/uploads/hero.webp" fetchpriority="high">

Il preload inizia il download dell’immagine prima che il browser analizzi l’HTML. Guadagno tipico: 200-500ms.

3. NON usare lazy loading sull’LCP

WordPress 5.5+ aggiunge loading="lazy" a tutte le immagini. Ma l’immagine LCP NON deve avere lazy loading (ritarda il caricamento). WordPress 6.3+ dovrebbe escluderla automaticamente, ma verifica:

// Rimuovi lazy loading dalla prima immagine
add_filter('wp_img_tag_add_loading_optimization_attrs', function($value, $image, $context) {
    // Skip lazy loading per la prima immagine nel contenuto
    static $first = true;
    if ($first && $context === 'the_content') {
        $first = false;
        $value['loading'] = false; // Rimuovi lazy
    }
    return $value;
}, 10, 3);

4. Formato WebP/AVIF

Una JPEG da 500KB diventa 200KB in WebP e 150KB in AVIF. Meno bytes = download più veloce = LCP migliore.

# Conversione batch con cwebp
find wp-content/uploads -name "*.jpg" -exec sh -c 'cwebp -q 80 "$1" -o "${1%.jpg}.webp"' _ {} \;

# O usa un plugin: ShortPixel, Imagify, o EWWW Image Optimizer

5. Dimensioni responsive con srcset

WordPress genera automaticamente srcset per le immagini nel contenuto. Ma i temi custom spesso li ignorano. Un’immagine da 2400px servita su mobile da 375px è spreco di banda.

<img srcset="hero-400.webp 400w, hero-800.webp 800w, hero-1200.webp 1200w"
     sizes="(max-width: 600px) 400px, (max-width: 1000px) 800px, 1200px"
     src="hero-1200.webp" width="1200" height="600" alt="...">

3 Fix per LCP Server-Side

6. Cache di pagina

TTFB alto = LCP alto. La cache di pagina riduce il TTFB dell’80%. Usa FastCGI cache Nginx (il migliore) o un plugin come WP Super Cache.

7. Riduci il render-blocking

Ogni file CSS nel <head> ritarda il primo render. Il browser non mostra nulla finché non ha scaricato tutti i CSS. Critical CSS (inline il CSS above-the-fold, defer il resto) riduce il render-blocking di 200-400ms.

8. CDN per immagini

Servire le immagini da un CDN edge vicino all’utente riduce la latenza di download. Cloudflare (free) + Polish (ottimizzazione automatica immagini) è la combinazione più semplice.

Misura il Risultato

# PageSpeed Insights da CLI
npx psi https://tuosito.com --strategy=mobile | grep "Largest Contentful Paint"

# O usa l'API
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://tuosito.com&strategy=mobile" | \
  jq '.lighthouseResult.audits["largest-contentful-paint"].numericValue'

FAQ

Il lazy loading peggiora l’LCP?

Solo se è applicato all’immagine LCP. Per tutte le altre immagini (below the fold), il lazy loading migliora le performance complessive riducendo il payload iniziale. La regola: niente lazy loading above the fold, lazy loading su tutto il resto.

WebP o AVIF?

WebP ha il 97% di supporto browser. AVIF ha l’87% ma comprime meglio (20-30% in meno di WebP). Usa AVIF con fallback WebP, oppure solo WebP se vuoi massima compatibilità. In ogni caso, non servire JPEG nel 2026.

Il mio LCP è un video background. Come lo ottimizzo?

Non farlo. Un video background come elemento LCP è la scelta peggiore per le performance. Sostituiscilo con un’immagine statica o un CSS gradient. Se il video è essenziale, caricalo lazy dopo il first paint e usa un poster image come LCP.

Gestisci i siti WordPress dei tuoi clienti?

AgencyPilot ti dà report AI, uptime monitoring, backup e portale clienti in un’unica dashboard. Gratis per 3 siti.

Prova gratis
Leggi anche
Tutti gli articoli
Tutti gli articoli