Guida alla velocità · Aggiornato il 9 aprile 2026

Velocità delle pagine collezione Shopify: risolvere caricamenti lenti e immagini eager

Le pagine collezione sono le pagine più pesanti nella maggior parte dei negozi Shopify — caricano 20-50 immagini prodotto, il JavaScript dei filtri e la logica di paginazione tutto in una volta. Ecco come dimezzarne i tempi di caricamento.

~16 min di lettura · 4,300 parole · Aggiornato il 6 marzo 2026

Perché le pagine collezione sono le più lente su Shopify

Se avete mai testato il vostro negozio Shopify con Google PageSpeed Insights, avrete probabilmente notato uno schema: la homepage ottiene un punteggio discreto, le pagine prodotto se la cavano, ma le pagine collezione ottengono punteggi pessimi.

Non è un bug — è la natura delle pagine collezione. Mentre una pagina prodotto mostra 1-5 immagini e un po' di testo, una pagina collezione deve renderizzare:

⚠️

12-48 immagini prodotto — ognuna una richiesta HTTP, ognuna da renderizzare e decodificare nel browser

⚠️

Metadati delle card prodotto — titoli, prezzi, varianti, badge, recensioni — moltiplicati per ogni prodotto della pagina

⚠️

JavaScript di filtri e ordinamento — spesso 50-200KB di JavaScript che si carica ed esegue prima che la pagina sia interattiva

⚠️

Logica di paginazione — che si tratti di pagine numerate, pulsanti "Carica altro" o infinite scroll

⚠️

Immagini banner delle collezioni — molti temi mostrano grandi banner hero in cima alle pagine collezione

Il calcolo è semplice: una pagina prodotto con 3 immagini totalizza forse 300KB di dati immagine. Una pagina collezione che mostra 24 prodotti con immagini non ottimizzate può facilmente raggiungere 3-5MB di soli dati immagine. Aggiungete JavaScript, CSS, font e script di tracciamento e arrivate a 5-8MB di peso totale della pagina.

Su uno smartphone con connessione 4G, questo si traduce in un tempo di caricamento di 6-12 secondi. Google considera qualsiasi valore sopra i 2.5 secondi un'esperienza scadente per il Largest Contentful Paint (LCP).

📊 L'impatto sul fatturato

Le pagine collezione sono spesso le pagine con più traffico del negozio — è lì che gli acquirenti esplorano, confrontano e decidono cosa comprare. Una pagina collezione lenta significa conversioni perse. Le ricerche mostrano che ogni secondo aggiuntivo di caricamento riduce i tassi di conversione mobile fino al 20%. Se la vostra pagina collezione impiega 6 secondi invece di 3, potreste star perdendo il 40-60% delle potenziali vendite mobile.

I 6 maggiori killer di velocità delle pagine collezione

Non tutti i problemi di prestazioni sono uguali. Ecco i problemi specifici che danneggiano di più le pagine collezione, classificati per impatto:

1. Immagini prodotto non ottimizzate (impatto maggiore)

È il killer di velocità numero 1 sulle pagine collezione, responsabile del 60-80% del peso totale della pagina nella maggior parte dei negozi. Problemi comuni:

  • • Immagini sovradimensionate — caricare foto prodotto da 4000×4000px che vengono mostrate a 300×300px nelle card della collezione
  • • Nessun lazy loading — tutte le 24+ immagini si scaricano subito, anche quelle sotto la piega che il visitatore non ha ancora raggiunto
  • • Formato sbagliato — servire JPEG/PNG quando WebP o AVIF sarebbero più piccoli del 30-50%
  • • Nessun srcset — servire la stessa immagine grande a mobile e desktop invece di dimensioni adatte al dispositivo

2. JavaScript dei filtri che blocca il rendering

Le funzionalità di filtro e ordinamento delle collezioni — che siano i filtri nativi di Shopify OS 2.0 o app di terze parti come Boost Product Filter — caricano spesso 50-200KB di JavaScript che bloccano il rendering della pagina. Il visitatore non può vedere i prodotti finché questo JavaScript non finisce di scaricarsi ed eseguirsi.

Le app di filtri più diffuse aggiungono i propri bundle CSS e JS sopra gli asset del tema. Alcune iniettano script inline nell'<head> che devono essere eseguiti prima che qualsiasi contenuto venga renderizzato. Approfondite nella nostra guida su come risolvere le risorse che bloccano il rendering su Shopify.

3. Troppi prodotti per pagina

Alcuni titolari di negozi impostano le collezioni per mostrare 48, 72 o addirittura 100 prodotti per pagina, pensando che migliori l'esperienza di acquisto. In realtà, moltiplica ogni problema di prestazioni — più immagini, più elementi DOM, più uso di memoria, più calcoli di layout.

4. Immagini banner delle collezioni

Molti temi mostrano una grande immagine hero/banner in cima alle pagine collezione. Questa immagine è spesso l'elemento LCP — il contenuto visibile più grande al caricamento della pagina. Se non è dimensionata e precaricata correttamente, ritarda l'intero tempo di caricamento percepito.

5. Script di app di terze parti

Gli script di terze parti di app di recensioni, programmi fedeltà, widget di chat e strumenti di analytics si caricano su ogni pagina — comprese le pagine collezione. Su una pagina prodotto, 500ms di overhead da script di terze parti si notano. Su una pagina collezione già pesante, vi spingono oltre il punto di rottura.

6. Effetti hover e scambio di immagini

Un pattern di design molto diffuso è mostrare una seconda immagine prodotto al passaggio del mouse. Significa caricare due immagini per card prodotto invece di una — raddoppiando il peso delle immagini per una funzione che la maggior parte degli utenti mobile non vedrà mai (niente hover sui touchscreen).

⚡

La soluzione semplice: lasciate che Thunder ottimizzi le vostre pagine collezione

Ottimizzare manualmente le pagine collezione richiede modifiche al codice Liquid del tema, configurazione degli srcset delle immagini, rinvio degli script e test su vari dispositivi. Un solo errore può rompere il layout della collezione.

Thunder Page Speed Optimizer gestisce tutto questo automaticamente con una singola installazione:

  • ✦ Lazy loading intelligente delle immagini — carica le immagini solo quando i visitatori vi arrivano scorrendo, risparmiando il 60-80% dei download iniziali
  • ✦ Ottimizzazione automatica delle immagini — serve WebP/AVIF alla dimensione corretta per ogni dispositivo
  • ✦ Rinvia il JavaScript di filtri e ordinamento — così i prodotti si vedono all'istante mentre gli script si caricano in background
  • ✦ CSS critico incorporato — la prima riga di prodotti appare immediatamente, senza attendere tutto il CSS
  • ✦ Precarica le immagini LCP — identifica il banner della collezione o la prima immagine prodotto e le dà priorità
  • ✦ Gestione degli script di terze parti — ritarda gli script non essenziali fino a quando la pagina è interattiva

La maggior parte dei negozi vede un miglioramento di oltre 27 punti nel punteggio PageSpeed entro pochi minuti dall'installazione di Thunder. Le pagine collezione ottengono spesso i guadagni maggiori perché hanno più margine di ottimizzazione.

Installate Thunder — Prova gratuita →

Preferite fare da soli? Le sezioni seguenti coprono le tecniche di ottimizzazione manuale — oppure consultate la nostra guida completa all'ottimizzazione della velocità per una procedura completa. Avvertenza doverosa: ogni soluzione richiede modifiche al codice Liquid del tema e gli errori possono rompere il layout della collezione o impedire la visualizzazione delle immagini. Assicuratevi di duplicare il tema prima di apportare modifiche.


Soluzione: eager loading dell'immagine banner hero in theme.liquid

Uno dei problemi di velocità più comuni delle pagine collezione Shopify riguarda il modo in cui si carica l'immagine banner hero. Molti temi — tra cui Dawn, Refresh e altri temi OS 2.0 — impostano il banner della collezione su loading="lazy" di default. Per il banner hero è sbagliato, perché di solito è l'elemento Largest Contentful Paint (LCP) — il contenuto visibile più grande al primo caricamento della pagina.

Quando il banner hero è in lazy loading, il browser ne ritarda deliberatamente il download finché l'utente non vi si avvicina scorrendo. Ma il banner è già visibile nel viewport — quindi il browser attende inutilmente, affossando il punteggio LCP.

La soluzione: impostare i banner hero su eager loading

Trovate la sezione hero/banner della collezione nei file del tema. Nella maggior parte dei temi OS 2.0 si trova in sections/main-collection-banner.liquid o simile. Cercate il tag <img> che renderizza il banner della collezione e cambiate (o aggiungete) questi attributi:

<!-- ❌ Wrong: lazy loading the hero banner -->
<img
  src="{{ section.settings.image | image_url: width: 1600 }}"
  loading="lazy"
  alt="{{ section.settings.image.alt }}">

<!-- ✅ Correct: eager loading with high fetch priority -->
<img
  src="{{ section.settings.image | image_url: width: 1600 }}"
  loading="eager"
  fetchpriority="high"
  width="{{ section.settings.image.width }}"
  height="{{ section.settings.image.height }}"
  alt="{{ section.settings.image.alt }}">

Nello specifico per i temi Dawn/OS 2.0

Nei temi basati su Dawn, il banner della collezione viene spesso renderizzato tramite il filtro image_tag o image_url in sections/main-collection-banner.liquid. Potrebbe anche servire aggiungere un tag <link rel="preload"> nell'head di theme.liquid per dire al browser di iniziare a scaricare l'immagine del banner ancora prima di incontrare il tag <img>:

<!-- Add to theme.liquid <head> for collection pages -->
{% if template.name == 'collection' and collection.image %}
  <link rel="preload" as="image"
    href="{{ collection.image | image_url: width: 1600 }}"
    fetchpriority="high">
{% endif %}

Impatto: sistemare da solo l'eager loading del banner hero può migliorare l'LCP di 0.5–2 secondi — spesso la differenza tra una valutazione "scarsa" e "buona" dei Core Web Vitals. Per approfondire l'ottimizzazione dell'LCP, consultate la nostra guida all'ottimizzazione LCP.

⚡ Thunder lo gestisce automaticamente: Thunder rileva l'immagine LCP (che sia un banner di collezione, una sezione hero o la prima immagine prodotto) e si assicura che si carichi con priorità eager, applicando il lazy loading a tutto il resto. Nessuna modifica al codice del tema necessaria.

Soluzione manuale n. 1: ottimizzare le immagini delle collezioni

Il singolo intervento a maggiore impatto è sistemare il modo in cui le immagini prodotto si caricano sulle pagine collezione.

Aggiungete il lazy loading nativo

Trovate il template della card prodotto della collezione (di solito snippets/card-product.liquid o simile) e aggiungete loading="lazy" alle immagini prodotto. Ma attenzione — NON dovete applicare il lazy loading alla prima riga di prodotti visibili, perché ritarda l'LCP.

Nel loop della collezione:

{% for product in collection.products %}
  {% if forloop.index <= 4 %}
    <img src="{{ product.featured_image | image_url: width: 400 }}"
         loading="eager"
         fetchpriority="{% if forloop.first %}high{% else %}auto{% endif %}"
         width="400" height="400"
         alt="{{ product.featured_image.alt | escape }}">
  {% else %}
    <img src="{{ product.featured_image | image_url: width: 400 }}"
         loading="lazy"
         width="400" height="400"
         alt="{{ product.featured_image.alt | escape }}">
  {% endif %}
{% endfor %}

Usate dimensioni immagine responsive

Invece di servire un'unica immagine grande a tutti i dispositivi, usate l'attributo srcset con il filtro image_url di Shopify:

<img
  src="{{ product.featured_image | image_url: width: 400 }}"
  srcset="
    {{ product.featured_image | image_url: width: 200 }} 200w,
    {{ product.featured_image | image_url: width: 400 }} 400w,
    {{ product.featured_image | image_url: width: 600 }} 600w"
  sizes="(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 25vw"
  loading="lazy"
  width="400" height="400"
  alt="{{ product.featured_image.alt | escape }}">

Impostate dimensioni esplicite

Includete sempre gli attributi width e height sulle immagini. Senza di essi, il browser non può calcolare il layout finché l'immagine non si carica, causando il Cumulative Layout Shift (CLS) — i prodotti saltano qua e là man mano che le immagini arrivano. Consultate la nostra guida ai Core Web Vitals per approfondire il CLS.

⚠️ Errore comune: aggiungere loading="lazy" a TUTTE le immagini, comprese quelle above the fold. Questo in realtà danneggia l'LCP perché il browser depriorizza le immagini lazy. Le prime 2-4 immagini prodotto (la riga visibile) dovrebbero sempre usare loading="eager".

Soluzione manuale n. 2: ridurre i prodotti per pagina

È la soluzione manuale più semplice, ma spesso trascurata. Nelle impostazioni del tema (o nel template della collezione), regolate il numero di prodotti mostrati per pagina.

48+

Prodotti per pagina

Molto lento, soprattutto su mobile

24-36

Prodotti per pagina

Accettabile con ottimizzazione

16-24

Prodotti per pagina

Ottimale per velocità + UX

Nei temi Shopify Online Store 2.0, di solito si cambia in Personalizza → Pagina collezione → Griglia prodotti → Prodotti per pagina. Per i temi vintage dovrete modificare il tag Liquid paginate del template della collezione:

{% paginate collection.products by 20 %}
  <!-- product grid -->
{% endpaginate %}

Tenete presente: ridurre i prodotti per pagina significa più paginazione. Assicuratevi che la vostra paginazione sia accessibile e facile da usare, con numeri di pagina chiari e pulsanti avanti/indietro.

Soluzione manuale n. 3: ottimizzare filtri e ordinamento

Le funzionalità di filtro e ordinamento sono essenziali per l'usabilità delle collezioni — ma sono anche una fonte importante di JavaScript in eccesso. Ecco come ottimizzarle:

Usate il filtraggio nativo dello storefront di Shopify

Se usate un tema Shopify Online Store 2.0, sfruttate il filtraggio integrato dello storefront di Shopify invece delle app di filtri di terze parti. Il filtraggio nativo è server-side, quindi non richiede JavaScript pesante lato client. La pagina si ricarica con i risultati filtrati invece di filtrare sul client.

Per attivarlo: andate su Admin Shopify → Negozio online → Navigazione → Filtri per collezioni e ricerca. Aggiungete i filtri che desiderate (prezzo, disponibilità, tipo di prodotto, fornitore, ecc.).

Rinviate il JavaScript dei filtri

Se dovete usare un'app di filtri di terze parti per funzionalità avanzate, assicuratevi che i suoi script siano rinviati. Cercate nel tema il tag <script> che carica il JS dell'app di filtri e aggiungete l'attributo defer:

<!-- Before (render-blocking) -->
<script src="https://filter-app.com/bundle.js"></script>

<!-- After (deferred) -->
<script src="https://filter-app.com/bundle.js" defer></script>

Nota: rinviare gli script di terze parti può talvolta comprometterne le funzionalità. Testate sempre dopo le modifiche. È un altro ambito in cui Thunder eccelle — rinvia gli script in modo intelligente assicurandosi che continuino a funzionare correttamente.

Soluzione manuale n. 4: implementare una paginazione intelligente

Il modo in cui gestite la paginazione influisce sia sulla velocità sia sull'esperienza utente. Ecco i tre approcci, classificati per prestazioni:

✓ Migliore: paginazione numerata tradizionale

Ogni pagina è una pagina separata renderizzata dal server. Caricamenti iniziali puliti e veloci. La migliore per la SEO, dato che ogni pagina ha il proprio URL. È il default sulla maggior parte dei temi Shopify.

○ Buona: pulsante "Carica altro"

Recupera il blocco successivo di prodotti via AJAX senza ricaricare l'intera pagina. Buona UX, ma richiede JavaScript e può accumulare nodi DOM se gli utenti lo cliccano molte volte.

✗ Rischiosa: infinite scroll

Carica automaticamente altri prodotti mentre l'utente scorre. Può causare problemi di memoria, spostamenti del layout e rende impossibile raggiungere il footer. Più difficile da implementare correttamente.

Se usate l'infinite scroll o "Carica altro", assicuratevi che l'implementazione usi l'API Intersection Observer (non i listener sugli eventi di scroll, che affossano le prestazioni) e includa una paginazione di fallback <noscript> corretta per i crawler SEO.

Soluzione manuale n. 5: CSS critico per le collezioni

Il browser non può renderizzare alcun contenuto finché non scarica e analizza l'intero file CSS. Su Shopify, i file CSS dei temi pesano in genere 100-300KB. L'incorporamento del CSS critico risolve il problema mettendo il CSS necessario per i contenuti above the fold direttamente nell'HTML.

Per le pagine collezione, il CSS critico include gli stili per:

  • • Header/navigazione
  • • Immagine banner della collezione (se presente)
  • • La prima riga di card prodotto (layout della griglia, dimensioni delle immagini, stile del testo)
  • • Layout della sidebar dei filtri (se visibile above the fold)

Generare il CSS critico manualmente è tedioso — bisogna identificare quali regole CSS si applicano agli elementi above the fold, estrarle, incorporarle in un tag <style> nell'<head> e poi caricare in modo asincrono il foglio di stile completo. Strumenti come Critical di Addy Osmani possono aiutare ad automatizzare il processo, ma integrarli nel processo di build di un tema Shopify non è banale.

È complesso da fare bene. Estraete troppo poco CSS e i contenuti above the fold appariranno rotti per un istante (flash di contenuto senza stile). Estraete troppo e gonfierete l'HTML con stili inline. Thunder gestisce automaticamente l'estrazione e l'incorporamento del CSS critico — e lo aggiorna ogni volta che il tema cambia.

Come misurare la velocità delle pagine collezione

Non tirate a indovinare — misurate. Potete testare la velocità della vostra pagina collezione in pochi secondi con il nostro strumento gratuito, oppure usare le opzioni qui sotto. Ma testate gli URL giusti. La maggior parte delle persone testa la homepage e si ferma lì. Per la velocità delle pagine collezione, dovete testare:

1.

La vostra collezione più grande — quella con più prodotti, perché ha la pagina più pesante

2.

Una collezione con immagine banner — le immagini banner sono spesso l'elemento LCP

3.

Un URL di collezione filtrata — ad es. /collections/all?filter.v.color=Blue per verificare le prestazioni dei filtri

Usate questi strumenti per i test (approfondite nella nostra guida al monitoraggio delle prestazioni):

  • • Google PageSpeed Insights — testa mobile e desktop, mostra i Core Web Vitals
  • • GTmetrix — grafici a cascata dettagliati che mostrano esattamente cosa è lento
  • • Chrome DevTools (scheda Network) — filtrate per immagini per vedere il peso totale delle immagini
  • • WebPageTest — vista filmstrip per vedere quando i prodotti diventano visibili

Metriche chiave da monitorare: LCP (dovrebbe essere sotto i 2.5s), CLS (sotto 0.1) e Total Blocking Time (sotto i 200ms). Per le pagine collezione, tracciate anche il peso totale della pagina — puntate a un totale sotto i 2MB con immagini ottimizzate.

Thunder vs ottimizzazione manuale delle pagine collezione

⚡ Thunder Ottimizzazione manuale
Tempo di configurazione 60 secondi 8-20 ore di modifiche al tema
Ottimizzazione delle immagini Automatica (lazy load + srcset + formato) Modifiche manuali al codice Liquid
Rinvio degli script Intelligente, non rompe le app Tentativi ed errori per ogni script
CSS critico Generato e aggiornato automaticamente Richiede un processo di build complesso
Rischio di rompere il layout Nessuno Alto
Sicuro con gli aggiornamenti del tema Sì Da rifare dopo ogni aggiornamento

Domande frequenti

Perché le pagine collezione di Shopify sono più lente delle pagine prodotto?

Le pagine collezione mostrano molte immagini prodotto contemporaneamente — di solito 12-48 su una singola pagina. Ogni immagine genera una richiesta HTTP separata e, se le immagini non sono ottimizzate, possono aggiungere megabyte di dati. Le pagine prodotto mostrano in genere 1-5 immagini più il testo, risultando intrinsecamente più leggere. Le pagine collezione caricano inoltre il JavaScript di filtri/ordinamento e la logica di paginazione che alle pagine prodotto non servono.

Quanti prodotti per pagina sono ottimali per la velocità?

Per il miglior equilibrio tra velocità e usabilità, mostrate 16-24 prodotti per pagina. Mostrarne meno di 12 frustra gli acquirenti costretti a cambiare pagina di continuo. Mostrarne più di 36 causa un degrado significativo delle prestazioni, soprattutto su dispositivi mobili con memoria limitata e processori più lenti. Thunder Page Speed Optimizer aiuta applicando il lazy loading alle immagini sotto la piega, indipendentemente da quanti prodotti mostrate.

L'infinite scroll danneggia la velocità delle pagine collezione?

L'infinite scroll di per sé non danneggia la velocità di caricamento iniziale — anzi, può migliorarla caricando solo il primo blocco di prodotti. Tuttavia, un infinite scroll implementato male può causare memory leak, spostamenti del layout (problemi di CLS) e uno scorrimento sempre più lento man mano che si caricano altri prodotti. La chiave è un'implementazione corretta con le API Intersection Observer e il riciclo del DOM per le collezioni molto grandi.

Dovrei disattivare i filtri delle collezioni per migliorare la velocità?

No — rimuovere i filtri danneggia l'esperienza di acquisto e i tassi di conversione. Ottimizzate invece il modo in cui i filtri funzionano. Il problema di velocità principale è il JavaScript dei filtri che si carica subito, ancora prima che gli utenti interagiscano. Thunder rinvia questo JavaScript così che si carichi solo quando serve. Se fate un'ottimizzazione manuale, cercate app di filtri che usano il progressive enhancement invece di caricare tutto al caricamento della pagina.

Come sistemo l'eager loading dell'immagine banner hero in theme.liquid di Shopify?

Trovate la sezione del banner della collezione (di solito sections/main-collection-banner.liquid) e cambiate l'immagine hero da loading='lazy' a loading='eager' con fetchpriority='high'. Poi aggiungete un link di preload nell'head di theme.liquid: usate un controllo condizionale per le pagine collezione e aggiungete <link rel='preload' as='image'> che punta all'URL dell'immagine della collezione. Questo dice al browser di dare priorità all'immagine del banner, migliorando l'LCP di 0.5–2 secondi. Thunder Page Speed Optimizer gestisce automaticamente questo rilevamento e questa prioritizzazione.

Come migliora Thunder Page Speed Optimizer la velocità delle pagine collezione?

Thunder Page Speed Optimizer applica diverse ottimizzazioni specifiche per le collezioni: applica il lazy loading a tutte le immagini prodotto sotto la prima riga visibile, rinvia il JavaScript di filtri e ordinamento fino all'interazione dell'utente, ottimizza le immagini delle card prodotto servendo la dimensione corretta per ogni dispositivo, incorpora il CSS critico così che la prima riga di prodotti venga renderizzata all'istante e stabilisce il preconnect al CDN di Shopify per una consegna più rapida delle immagini.

Risorse correlate

Fai da te

Piano gratuito · Installazione in 1 clic · Risultati immediati

Installa Thunder gratis →

Pensiamo a tutto noi

Garanzia Core Web Vitals · Consegna in 2 settimane · 6 mesi di Thunder gratis

Richiedi l’ottimizzazione professionale →

A partire da 1.500 €