Cos'è il caricamento lento?
Il caricamento lento è una strategia che ritarda il caricamento delle risorse non critiche finché non sono effettivamente necessarie. Invece di scaricare tutte le immagini sulla pagina nel momento in cui arriva un visitatore, il browser carica le immagini solo mentre il visitatore scorre verso di esse.
Pensatelo come la cucina di un ristorante: invece di preparare ogni piatto del menu nel momento in cui apre il ristorante, cucinano ogni piatto quando un cliente lo ordina. Il risultato? Primo servizio più rapido e meno fatica sprecata.
In una tipica pagina di prodotto o collezione Shopify, potresti avere 20-50 immagini. Senza il caricamento lento, il browser tenta di scaricarli tutti contemporaneamente, lottando per la larghezza di banda e rallentando le immagini che il tuo visitatore vede per prime: il banner principale, la foto del prodotto, le icone di navigazione.
Con il caricamento lento, solo il sopra la piega Le immagini vengono caricate immediatamente. Tutto sotto la piega attende finché il visitatore non scorre vicino ad esso. Il risultato: rendering della pagina iniziale più veloce, minore utilizzo della larghezza di banda e un'esperienza migliore, soprattutto sui dispositivi mobili.
Come funziona tecnicamente: Il browser utilizza il file API IntersectionObserver per osservare quando un elemento sta per entrare nella finestra. Quando rileva che l'immagine è vicina, avvia il download. Con caricamento lento nativo (caricamento="pigro"), this is all handled by the browser — zero JavaScript required from your end.
Perché il caricamento lento è importante per i negozi Shopify
I negozi Shopify sono ricchi di immagini per natura. Foto di prodotti, immagini di lifestyle, banner di collezioni, badge di fiducia, widget di app: una tipica home page può facilmente contenere più di 30 immagini per un totale di 5-15 MB di dati.
Senza il caricamento lento, tutte queste immagini competono per la larghezza di banda al caricamento iniziale della pagina. Ecco cosa significa in pratica:
LCP più lento (pittura con contenuto più grande): L'immagine hero, l'elemento visivo più importante, si carica più lentamente perché condivide la larghezza di banda con altre 30 immagini a cui il visitatore non ha ancora effettuato lo scorrimento.
Frequenze di rimbalzo più elevate su dispositivi mobili: Le connessioni mobili sono più lente e variabili. Il caricamento di 10 MB di immagini su una connessione 4G può richiedere 8-12 secondi. Se il tuo negozio non esegue il rendering velocemente, i visitatori rimbalzano — e non tornano.
Larghezza di banda sprecata: La maggior parte dei visitatori non scorre fino alla fine della pagina. Se il 60% delle tue immagini sono lower the fold e il 70% dei visitatori se ne va prima di scorrere, stai scaricando megabyte di dati che nessuno vede.
Valori vitali web inferiori inferiori: Google utilizza Core Web Vitals come segnale di classifica. Un caricamento eccessivo delle immagini ha un impatto diretto su LCP e può causare spostamenti di layout (CLS) se le dimensioni dell'immagine non sono impostate.
Il caricamento lento corretto può ridurre il peso della pagina iniziale di 40–70% su pagine ricche di immagini. Ciò si traduce direttamente in una prima verniciatura più rapida e in una migliore esperienza utente. Tuttavia, il caricamento lento è solo un pezzo del puzzle: per un quadro completo, leggi il nostro guida completa all'ottimizzazione.
L'errore di caricamento lento n. 1 (e ti costa 1 secondo)
Ecco la verità controintuitiva: l'errore più comune nel caricamento lento non è il mancato caricamento lento: il caricamento lento è troppo aggressivo.
Nello specifico, caricamento lento dell'immagine dell'eroe o dell'elemento LCP. Secondo Il team di performance di Shopify:
⚠️ Il killer dell'LCP
"I siti Shopify che caricano lentamente la propria immagine LCP hanno un LCP mediano che è 1,0 secondo più lento rispetto a quelli carichi di entusiasmo."
— Shopify Performance Team, performance.shopify.com
Perché succede questo? Quando imposti caricamento="pigro" su un'immagine Above the Fold, aggiungi un passaggio non necessario:
Senza caricamento lento (corretto):
Il browser legge l'HTML → Trova l'immagine → Avvia immediatamente il download
Con caricamento lento su LCP (sbagliato):
Il browser legge l'HTML → Trova l'immagine → Contrassegna come pigra → Attende IntersectionObserver → Rileva che l'immagine è nel viewport → Allora inizia il download
Questo passaggio di rilevamento aggiuntivo aggiunge 200–1000 ms di ritardo all'immagine più importante. Sui dispositivi mobili con esecuzione JavaScript più lenta, è anche peggio.
La regola è semplice:
- ✓ Sopra la piega: Carico impaziente (n
Attributo
caricamento Attributo, ocaricamento="ansioso") - ✓ Below the fold: Carico lento (
caricamento="pigro") - ✗ Mai: Caricamento lento dell'immagine hero, dell'immagine in evidenza del prodotto o di qualsiasi candidato LCP
Sembra semplice, vero? In pratica, è complicato. "Above the fold" è diverso su ogni dispositivo, ogni dimensione dello schermo e ogni modello di pagina. Ciò che è Above the Fold su un monitor desktop da 27 pollici potrebbe essere Below The Fold su un iPhone SE. Per farlo correttamente manualmente è necessaria una consapevolezza reattiva su decine di punti di interruzione.
Salta il lavoro manuale: Thunder gestisce automaticamente il caricamento lento
Si applica l'ottimizzatore di velocità della pagina Thunder strategie di caricamento intelligenti in tutto il tuo negozio. Identifica automaticamente la tua immagine LCP e la carica con entusiasmo mentre carica pigramente tutto sotto la piega: nessuna modifica al codice, nessuna modifica del tema, nessuna ipotesi sui punti di interruzione.
Ma Thunder va oltre il semplice caricamento lento. Inoltre:
- ✦ Rinvia gli script delle app che bloccano il rendering : il più grande killer di velocità che il solo caricamento lento non può risolvere
- ✦ Inline CSS critici in modo che la tua pagina venga visualizzata immediatamente
- ✦ Precarica i caratteri per eliminare Flash of Invisible Text (FOIT)
- ✦ Monitora quotidianamente in modo che le ottimizzazioni rimangano efficaci quando aggiungi prodotti e app
La maggior parte dei negozi vede a Miglioramento del punteggio di velocità di oltre 27 punti entro pochi minuti dall'installazione. Non è necessario alcuno sviluppatore. Controlla i piani per trovare la soluzione giusta per il tuo negozio.
Installa Thunder — Prova gratuita →Hai già installato Thunder? Puoi saltare le sezioni di implementazione manuale di seguito: Thunder gestisce tutto automaticamente. Continua a leggere se vuoi capire cosa sta succedendo sotto il cofano.
Lazy Loading nativo vs JavaScript: quale utilizzare nel 2026
Esistono due approcci al caricamento lento delle immagini e questa decisione conta più di quanto si renda conto la maggior parte degli sviluppatori Shopify.
Caricamento lento nativo (caricamento="pigro")
Aggiunto alle specifiche HTML nel 2019, il caricamento lento nativo è ora supportato da Oltre il 96% dei browser (tutte le versioni moderne di Chrome, Firefox, Safari e Edge). Aggiungi semplicemente caricamento="pigro" al tuo o
Tag
:
<img
src="product-photo.jpg"
loading="lazy"
alt="Scarpe da corsa blu - vista laterale"
width="800"
height="600"
/>
Questo è tutto. Nessuna libreria JavaScript, nessuna configurazione, nessun aumento delle dimensioni del pacchetto. Il browser gestisce tutto.
Caricamento lento JavaScript (lazysize, ecc.)
Prima del caricamento lento nativo, l'approccio standard utilizzava librerie JavaScript come pigro. Queste librerie utilizzano l'API IntersectionObserver per rilevare quando le immagini si avvicinano al viewport, quindi scambiano un segnaposto origine-dati con il reale src
Attributi.
<!-- JS lazy loading pattern -->
<img
data-src="product-photo.jpg"
class="lazyload"
alt="Scarpe da corsa blu - vista laterale"
/>
<script src="lazysizes.min.js" async></script>
Funziona ancora ma aggiunge un sovraccarico di JavaScript: in genere 5-10 KB di script aggiuntivo che deve essere scaricato, analizzato ed eseguito prima che inizi qualsiasi caricamento lento.
Confronto
Nativo (caricamento="pigro") |
JavaScript (dimensioni pigre) | |
|---|---|---|
| JS in testa | Zero | 5–10 KB |
| Supporto del browser | 96%+ | 100% (poliriempito) |
| Complessità di installazione | Un attributo | Libreria + nomi di classi |
| Controllo soglia | Decide il browser | Personalizzabile |
| Sicurezza SEO | Completo (immagini in HTML) | Dipende dall'implementazione |
| Ripiego | Carichi impazienti (aggraziati) | Le immagini potrebbero non essere caricate |
| Raccomandazione (2026) | ✓ Usa questo | Legacy: eliminazione graduale |
Conclusione: Nel 2026, utilizza il caricamento lento nativo. Il 4% dei browser che non lo supportano si limiteranno a caricare le immagini, il che va benissimo. Non c'è più motivo di aggiungere una libreria JavaScript per questo. Se il tuo tema utilizza ancora lazysizes, è ora di eseguire la migrazione.
Cosa caricare lentamente (e cosa NON caricare)
Non tutte le risorse dovrebbero essere trattate allo stesso modo. Ecco una ripartizione pratica per i negozi Shopify:
✓ Carica pigramente questi
Immagini dei prodotti nelle griglie della collezione : sotto la prima riga, carica lentamente tutte le miniature. Una pagina di collezione con 48 prodotti non necessita di tutte le 48 immagini al caricamento iniziale.
Sezioni sotto-piega — Testimonianze, feed di Instagram, caroselli "Potrebbe piacerti anche", anteprime dei post di blog: tutto ciò che un visitatore deve scorrere per vedere.
Incorporamenti YouTube/Vimeo — gli iframe sono costosi. Un singolo incorporamento di YouTube carica oltre 500 KB di script. Utilizzare caricamento="pigro" sugli iframe o sostituisci con una miniatura statica che carica l'iframe al clic (modello della facciata).
Immagini aggiuntive del prodotto — Nelle pagine dei prodotti, le immagini della galleria oltre la foto in primo piano possono essere caricate in modo lento.
Contenuto del piè di pagina — Badge di fiducia, icone di pagamento, immagini della sezione newsletter: tutto sotto si ripiega su ogni pagina.
✗ Non caricarli mai pigramente
Immagini di eroi/banner — Questo è quasi sempre il tuo elemento LCP. Il caricamento lento costa circa 1 secondo. Carico sempre desideroso. Considera l'idea di aggiungere per una velocità extra.
Immagine di presentazione del prodotto — La foto principale del prodotto su un PDP è il candidato LCP. Caricalo immediatamente.
Logo e immagini di navigazione — Sono piccoli, sopra la piega e fondamentali per la prima verniciatura. Non ritardarli.
Immagini di sfondo impostate tramite CSS — caricamento="pigro" funziona solo su
Tag e
Tag
. Le immagini di sfondo CSS richiedono un approccio diverso (IntersectionObserver per attivare/disattivare una classe).
Suggerimento professionale: Non sei sicuro di quale sia il tuo elemento LCP? Percorri la tua pagina PageSpeed Insights e cerca la diagnostica "Elemento Paint con contenuto più grande". Questa è l'immagine che non devi mai caricare pigramente.
Come implementare il caricamento lento in Shopify Liquid
Se stai modificando manualmente il codice del tema, ecco come implementare correttamente il caricamento lento nel linguaggio di template Liquid di Shopify.
Metodo 1: filtro image_tag di Shopify (consigliato)
Il liquido di Shopify
Il filtro tag_immagine
Il filtro viene impostato automaticamente caricamento="pigro" sulle immagini. Gestisce anche la risposta
Attributi srcset
Attributi e per una consegna ottimale.
{{- product.featured_image | image_url: width: 800 | image_tag:
loading: 'lazy',
widths: '200,400,600,800',
sizes: '(min-width: 768px) 50vw, 100vw',
alt: product.featured_image.alt -}}
Per la tua immagine hero/LCP, imposta esplicitamente il caricamento impaziente:
{{- section.settings.hero_image | image_url: width: 1200 | image_tag:
loading: 'eager',
fetchpriority: 'high',
widths: '600,900,1200,1800',
sizes: '100vw',
alt: section.settings.hero_alt -}}
Dettagli chiave: Avviso fetchpriority: 'alta' sull'immagine dell'eroe. Ciò indica al browser di dare priorità al download di questa immagine rispetto ad altre risorse. In combinazione con il caricamento rapido, è il modo più veloce per eseguire il rendering dell'immagine LCP. Scopri di più su Ottimizzazione LCP su Shopify.
Metodo 2: HTML grezzo con attributo di caricamento
Se stai scrivendo HTML non elaborato (sezioni personalizzate, snippet), aggiungi direttamente l'attributo:
<!-- Below-fold image: lazy load -->
<img
src="{{ image | image_url: width: 600 }}"
alt="{{ image.alt | escape }}"
width="{{ image.width }}"
height="{{ image.height }}"
loading="lazy"
decoding="async"
/>
<!-- Above-fold image: eager load -->
<img
src="{{ image | image_url: width: 1200 }}"
alt="{{ image.alt | escape }}"
width="{{ image.width }}"
height="{{ image.height }}"
loading="eager"
fetchpriority="high"
/>
Imposta sempre larghezza e altezza! Senza dimensioni esplicite, le immagini caricate pigramente causano spostamento del layout (CLS) al caricamento: la pagina salta mentre l'immagine spinge il contenuto verso il basso. Imposta larghezza/altezza nell'HTML o utilizza CSS Proprietà per riservare spazio.
Metodo 3: caricamento intelligente basato sulla posizione della sezione
Dawn e altri temi Shopify 2.0 utilizzano uno schema intelligente: tengono traccia di quale sezione è la prima nella pagina e caricano con impazienza solo le immagini in quella sezione.
{%- liquid
# In the layout or page template:
assign first_section = true
-%}
{%- for block in section.blocks -%}
{%- if first_section -%}
{%- assign loading_strategy = 'eager' -%}
{%- assign fetch_priority = 'high' -%}
{%- assign first_section = false -%}
{%- else -%}
{%- assign loading_strategy = 'lazy' -%}
{%- assign fetch_priority = 'auto' -%}
{%- endif -%}
{{- block.settings.image | image_url: width: 800 | image_tag:
loading: loading_strategy,
fetchpriority: fetch_priority -}}
{%- endfor -%}
Questo approccio è migliore del caricamento lento generale, ma è comunque imperfetto: non tiene conto del numero di immagini visibili sopra la piega in ciascuna sezione e varia in base al dispositivo.
L'approccio manuale diventa complesso rapidamente. Tra punti di interruzione reattivi, sezioni dinamiche e contenuti inseriti nell'app, ottenere il caricamento lento su ogni modello di pagina richiede ore di sviluppo del tema, con una manutenzione continua ogni volta che cambi il layout. Questo è esattamente ciò che Thunder automatizza. Provalo gratuitamente →
Oltre le immagini: caricamento lento di video, iframe e sezioni
Le immagini sono l'obiettivo ovvio, ma i principi del caricamento lento si applicano anche ad altre risorse pesanti.
Incorporamenti video (YouTube, Vimeo)
Viene caricato un incorporamento di YouTube 500–800 KB di JavaScript più l'interfaccia utente del lettore video, anche se il visitatore non seleziona mai la riproduzione. Due soluzioni comuni:
Opzione A: iframe pigro nativo
<iframe
src="https://www.youtube.com/embed/VIDEO_ID"
loading="lazy"
title="Titolo del video"
allow="accelerometer; autoplay; encrypted-media; gyroscope"
allowfullscreen
></iframe>
Opzione B: modello di facciata (migliore)
Mostra una miniatura statica con un pulsante di riproduzione. Carica l'iframe completo solo quando fai clic. Ciò consente di risparmiare oltre 500 KB per i visitatori che non riproducono mai il video.
<div class="video-facade" data-video-id="VIDEO_ID">
<img
src="https://i.ytimg.com/vi/VIDEO_ID/hqdefault.jpg"
alt="Miniatura del video"
loading="lazy"
/>
<button class="play-btn" aria-label="Riproduci video">▶</button>
</div>
API di rendering della sezione Shopify
Shopify ha introdotto il API di rendering della sezione che ti consente di caricare intere sezioni su richiesta, non solo immagini. È come il caricamento lento con steroidi: invece di caricare solo l'immagine in un secondo momento, carichi HTML, CSS e JavaScript dell'intera sezione solo quando necessario.
In combinazione con IntersectionObserver, puoi creare una vera esperienza di "caricamento su scorrimento" in cui le sezioni Below-fold non esistono affatto nell'HTML iniziale. Ciò è particolarmente potente per:
- • Sezioni di raccomandazione del prodotto
- • Widget di revisione
- • Sezioni del feed di Instagram
- • Pesante Widget di app di terze parti
Script di app di terze parti
È qui che si nascondono le vere prestazioni. La maggior parte delle app Shopify iniettano script di blocco del rendering nel tuo negozio <head>. Sebbene non sia possibile eseguire direttamente il "caricamento lento" di uno script con il file
Attributo caricamento
Attributo , puoi differire o asincrono
Attributi loro:
<!-- Blocking (bad) -->
<script src="app-widget.js"></script>
<!-- Deferred (better) -->
<script src="app-widget.js" defer></script>
<!-- Async (good for independent scripts) -->
<script src="app-widget.js" async></script>
Il problema? Non puoi sempre controllare il modo in cui le app iniettano i loro script. Molte app codificano tag di script sincroni che non puoi modificare senza danneggiare l'app. Questo è il motivo principale per cui l'ottimizzazione manuale raggiunge il limite e perché esiste Thunder. Thunder intercetta e risequenzia automaticamente il caricamento di tutti gli script, indipendentemente dal modo in cui le app li inseriscono.
Come verificare se il caricamento lento funziona
Hai aggiunto caricamento="pigro" alle tue immagini - ma come fai a sapere che funziona davvero? Ecco quattro modi per verificare:
1. Scheda Rete di Chrome DevTools
Il metodo più affidabile:
- Apri il tuo negozio in Chrome → Fai clic con il pulsante destro del mouse → Ispezionare → Rete
- Filtra per Imm (tipo di immagine)
- Aggiornamento forzato della pagina (
Comando+Maiusc+R/Ctrl+Maiusc+R) - Nota quante immagini vengono caricate inizialmente (questo è il conteggio caricato con entusiasmo)
- Ora scorri lentamente verso il basso e guarda apparire le nuove richieste di immagini
Se tutte le immagini vengono caricate al caricamento iniziale della pagina indipendentemente dalla posizione di scorrimento, il caricamento lento non funziona. Consulta la nostra guida dedicata su caricamento lento non funzionante per correzioni dettagliate.
2. Ispezionare l'elemento
Fare clic con il pulsante destro del mouse su un'immagine sotto la piega → Ispezionare. Guarda il nel pannello Elementi. Dovresti vedere
Tag
caricamento="pigro" come attributo.
3. Controllo di PageSpeed Insights
Percorri la tua pagina PageSpeed Insights o prova la velocità del tuo negozio con il nostro strumento gratuito. Se il caricamento lento non è implementato, vedrai il suggerimento: "Rinvia immagini fuori schermo" con una stima del potenziale risparmio (in KB e secondi).
4. Faro in DevTools
Chrome DevTools ha una scheda Lighthouse integrata. Esegui un controllo delle prestazioni e controlla due diagnostiche:
- • "Rinvia immagini fuori schermo" — caricamento lento non implementato o incompleto
- • "L'immagine più grande di Contentful Paint è stata caricata pigramente" — sei pigro nel caricare il tuo LCP (risolvilo immediatamente!)
Attenzione a: L'avviso del Faro "L'immagine più grande di Contentful Paint è stata caricata pigramente" è la diagnostica più critica. Se vedi questo, la tua immagine LCP ha caricamento="pigro" e ti costa ~1 secondo. Passa a caricamento="ansioso" con fetchpriority="alta" immediatamente.
Thunder vs caricamento lento manuale
| ⚡ Thunder | Implementazione manuale | |
|---|---|---|
| Orario di impostazione | 60 secondi | 2–6 ore |
| Abilità richiesta | Nessuno | Liquido + HTML + JS |
| Rilevamento LCP | Automatico (per pagina) | Manuale per modello |
| Ottimizzazione dello script dell'app | Incluso | Non possibile manualmente |
| Gestione reattiva | Tutti i punti di interruzione | La migliore ipotesi |
| Manutenzione continua | Zero (automatico) | Ogni modifica al tema/layout |
| Rischio di rottura del negozio | Zero (reversibile) | Medio (modifiche al codice) |
| Miglioramento tipico | 27+ punti di velocità | 5–15 punti (solo immagini) |
Domande frequenti
{item.question}
{item.answer}
Risorse correlate
Guida all'ottimizzazione delle immagini di Shopify
Formati, compressione, immagini reattive e altro
Ottimizzazione LCP di Shopify
La guida completa alla pittura con contenuti più grandi
Risorse per il blocco del rendering su Shopify
Come identificare e correggere il blocco CSS e JS
Guida ai parametri fondamentali del web
LCP, CLS, INP: cosa significano e come risolverli