Come Ottimizzare le Immagini per le Prestazioni Web
Come Ottimizzare le Immagini per le Prestazioni Web
Le immagini rappresentano dal 50 al 60 percento dei byte totali scaricati di una tipica pagina web. Ogni immagine non ottimizzata aggiunge secondi al tuo tempo di caricamento, aumenta la tua frequenza di rimbalzo e danneggia il tuo posizionamento nei motori di ricerca. I Core Web Vitals di Google — in particolare Largest Contentful Paint (LCP) — misurano direttamente le prestazioni di caricamento delle immagini, rendendo l'ottimizzazione delle immagini una delle modifiche a più alto impatto che puoi apportare al tuo sito web.
Questa guida copre una strategia completa di ottimizzazione delle immagini, dai fondamenti della compressione alle tecniche avanzate di distribuzione.
1. Comprimi Ogni Immagine Prima della Pubblicazione
Non caricare mai un'immagine grezza direttamente dalla tua fotocamera, dal telefono o dallo strumento di design. La compressione dovrebbe essere il primo passo nel tuo flusso di lavoro di pubblicazione.
Principi chiave:
- Le fotografie tollerano una compressione lossy aggressiva. Inizia con qualità 80 per JPEG e WebP, poi regola verso il basso se gli obiettivi di dimensione del file lo richiedono.
- Screenshot, loghi e grafiche traggono beneficio dalla compressione lossless. PNG e WebP lossless preservano i bordi netti e il testo che la compressione lossy sfocherebbe.
- AVIF offre i migliori rapporti di compressione ma richiede più tempo di codifica. Usalo per le immagini scaricate frequentemente e aggiornate raramente.
- Comprimi nel formato originale per evitare la perdita di generazione dovuta a conversioni di formato non necessarie.
Risparmi attesi:
Un tipico flusso di lavoro che comprime le immagini prima del caricamento riduce il peso totale delle immagini dal 40 all'80 percento con una perdita di qualità minima percettibile.
2. Servi le Dimensioni Corrette
Servire una foto larga 4000 pixel all'interno di un contenitore largo 300 pixel è l'errore di prestazioni più comune sul web. Il browser scarica tutti i 4000 pixel e poi li riduce, sprecando larghezza di banda e memoria.
Crea più varianti di dimensione:
- Da 320 a 480 pixel di larghezza per schermi mobili
- Da 768 a 1024 pixel di larghezza per tablet
- Da 1200 a 1920 pixel di larghezza per display desktop
- 2560 pixel di larghezza per display retina ad alta densità (2x)
Abbina la variante più grande alla larghezza massima in cui l'immagine verrà visualizzata nel tuo layout, moltiplicata per 2 per gli schermi ad alta DPI.
3. Usa Immagini Responsive con Srcset
Gli attributi srcset e sizes in HTML dicono al browser quale dimensione di immagine scaricare in base alla larghezza del viewport dell'utente e al rapporto di pixel del dispositivo.
<img
src="photo-800.jpg"
srcset="
photo-400.jpg 400w,
photo-800.jpg 800w,
photo-1200.jpg 1200w,
photo-1600.jpg 1600w
"
sizes="(max-width: 600px) 100vw, (max-width: 1200px) 50vw, 800px"
alt="Testo descrittivo per accessibilità e SEO"
/>
Questo singolo pattern può ridurre la larghezza di banda delle immagini dal 40 al 60 percento sui dispositivi mobili senza alcuna differenza di qualità visibile.
4. Ottimizza per Largest Contentful Paint (LCP)
LCP misura il tempo necessario per il rendering dell'elemento visibile più grande — di solito l'immagine hero — a comparire. Google considera buono un LCP di 2,5 secondi o meno.
Per ottimizzare l'LCP per le immagini:
- Precarica l'immagine hero così il browser la scopre subito. Aggiungi
<link rel="preload" as="image" href="hero.webp">alla testa del tuo documento. - Comprimi l'immagine hero in modo aggressivo — di solito è il primo e più grande asset che il browser scarica.
- Servi WebP o AVIF per l'immagine hero con un fallback JPEG.
- Dimensiona correttamente l'immagine hero. Non servire un'immagine da 4000 pixel in uno spazio hero da 1200 pixel.
- Non usare il lazy loading per l'immagine hero o per qualsiasi immagine above-the-fold. Il lazy loading ritarda il download, il che danneggia l'LCP.
5. Abilita il Lazy Loading per le Immagini Below-the-Fold
Le immagini che non sono visibili nella schermata iniziale non hanno bisogno di caricarsi immediatamente. L'attributo loading="lazy" dice al browser di rimandare il caricamento dell'immagine finché non è vicina a entrare nel viewport.
<img src="gallery-photo.jpg" loading="lazy" alt="Immagine della galleria" />
Il lazy loading riduce il peso iniziale della pagina dal 30 al 50 percento sulle pagine ricche di immagini. Combinato con la compressione, l'impatto è trasformativo.
6. Rimuovi i Metadati delle Immagini
I dati EXIF — impostazioni della fotocamera, coordinate GPS, timestamp — aggiungono byte non necessari a ogni immagine. Rimuovere i metadati fa risparmiare tipicamente dal 5 al 15 percento delle dimensioni del file con zero cambiamenti visivi. Rendi la rimozione dei metadati un passaggio standard nel tuo flusso di lavoro di compressione.
7. Usa una Content Delivery Network (CDN)
Una CDN distribuisce le tue immagini su server in tutto il mondo, riducendo la distanza fisica tra l'utente e l'immagine. Questo migliora il Time to First Byte per le richieste di immagini.
Alcune CDN offrono anche la trasformazione delle immagini on-the-fly:
- Negoziazione automatica del formato (servi WebP o AVIF quando supportati)
- Ridimensionamento dinamico in base a dispositivo e viewport
- Regolazioni di compressione in tempo reale
Se una CDN dedicata non è un'opzione, usa almeno HTTP/2 o HTTP/3 per consentire più download di immagini in una singola connessione.
8. Considera le Prestazioni di Decodifica delle Immagini
Le immagini grandi non solo richiedono tempo per essere scaricate ma anche per essere decodificate. Il browser deve decomprimere i dati JPEG, PNG, WebP o AVIF prima di renderizzarli. JPEG e WebP si decodificano rapidamente sulla maggior parte dei dispositivi, mentre la decodifica AVIF è più costosa dal punto di vista computazionale — una considerazione per i dispositivi mobili di fascia bassa.
Usa l'attributo decoding="async" sulle immagini non critiche per consentire al browser di decodificarle senza bloccare altro contenuto:
<img src="photo.jpg" decoding="async" loading="lazy" alt="Descrizione" />
Costruire il Tuo Flusso di Lavoro di Ottimizzazione
Una pipeline di ottimizzazione delle immagini end-to-end funziona così:
- Comprimi le immagini nel loro formato originale usando uno strumento appropriato alla qualità.
- Rimuovi i metadati durante la compressione.
- Ridimensiona alle dimensioni di visualizzazione richieste, creando più varianti.
- Implementa
srcsetesizesnei tuoi modelli HTML. - Precarica l'immagine hero, applica il lazy loading a tutto il resto below-the-fold.
- Servi da una CDN per prestazioni globali.
- Misura LCP e il peso totale delle immagini usando Lighthouse o PageSpeed Insights.
- Itera sulle impostazioni di qualità finché non raggiungi il tuo budget di prestazioni.
Inizia oggi a ottimizzare le tue immagini con il nostro compressore di immagini online gratuito. Carica immagini in formato PNG, JPEG, WebP o AVIF e scarica versioni compresse pronte per la produzione — nessuna conversione di formato, nessun compromesso sulla qualità.