La soluzione più rapida per gli incorporamenti video lenti
Se hai video YouTube o Vimeo sul tuo negozio Shopify e sul tuo Risultati del test di velocità mostra un tempo di blocco totale elevato o un LCP lento, è possibile risolverlo con un clic. Thunder Page Speed Optimizer rinvia automaticamente gli script di terze parti, comprese le risorse di incorporamento di YouTube e Vimeo, in modo che non blocchino il rendering iniziale della tua pagina:
- Rimanda gli script di incorporamento del video fino al caricamento del contenuto principale
- Dà la priorità alle risorse critiche del tuo negozio (immagini, CSS, caratteri) rispetto ai lettori video
- Funziona con qualsiasi tema: non sono necessarie modifiche al codice
- Gestisce tutti gli script di terze parti, non solo gli incorporamenti video
Per i commercianti che vogliono andare oltre o capire esattamente perché gli incorporamenti video sono così pesanti, continua a leggere per conoscere le tecniche di ottimizzazione manuale.
Perché gli incorporamenti di YouTube distruggono la velocità della pagina di Shopify
Quando aggiungi un video YouTube al tuo negozio Shopify utilizzando il codice di incorporamento standard, il browser non si limita a caricare un lettore video. Scarica l'intera infrastruttura di riproduzione di YouTube prima ancora che il tuo cliente pensi di fare clic su Riproduci.
Ecco cos'è un singolo L'incorporamento di YouTube carica effettivamente:
| Risorsa | Dimensioni |
|---|---|
| JavaScript del player base di YouTube | ~600KB |
| Elementi CSS ed UI del giocatore | ~150KB |
| Annunci e script di analisi | ~300KB |
| Immagini in miniatura e poster | ~100KB |
| Chiamate API e tracciamento aggiuntivi | ~200KB |
| Totale per incorporamento | ~1,3-1,8 MB |
Sono 1,3-1,8 MB di risorse in download ed esecuzione prima che il cliente interagisca con il video. In una pagina di prodotto in cui il video è sotto la piega, questo è puro spreco: ogni byte compete con le immagini del prodotto, il CSS del tema e File di caratteri per la larghezza di banda.
L'impatto sulle prestazioni è misurabile:
- Tempo di blocco totale (TBT): JavaScript di YouTube blocca il thread principale per 300-600 ms mentre analizza ed esegue
- Pittura con contenuti più grande (LCP) Punteggio: ritardo di 1-3 secondi perché il browser è occupato nel recupero delle risorse di YouTube invece di eseguire il rendering delle immagini del prodotto: consulta la nostra Guida all'ottimizzazione LCP
- Spostamento cumulativo del layout (CLS): l'iframe può causare cambiamenti di layout durante il caricamento, soprattutto senza larghezza/altezza esplicite: leggi di più nel nostro Guida alla correzione CLS
- Punteggio PageSpeed: in genere perde 15-30 punti per incorporamento su dispositivi mobili
Più incorporamenti su una singola pagina moltiplicano il problema. Una home page con 3 testimonianze di YouTube? Si tratta potenzialmente di 4-5 MB di JavaScript di terze parti prima ancora che il tuo negozio venga caricato.
Il modello di facciata: la migliore ottimizzazione video manuale
Il team Lighthouse di Google consiglia il modello di facciata per incorporamenti di terze parti come YouTube e Vimeo. Il concetto è semplice: invece di caricare in anticipo il lettore video completo, mostra una miniatura statica con un pulsante di riproduzione. Carica il lettore effettivo solo quando l'utente fa clic su Riproduci.
Ecco la differenza:
| Avvicinamento | Carico iniziale | Richieste |
|---|---|---|
| Iframe YouTube standard | 1.3-1.8MB | 15-20 |
| Modello di facciata (miniatura + clic per caricare) | ~20-50KB | 1-2 |
| Risparmio per incorporamento | ~97% in meno | ~90% in meno |
Modello di facciata di base in Shopify Liquid
Ecco un'implementazione di base della facciata che puoi aggiungere come snippet nel tuo tema Shopify. Crea un nuovo snippet chiamato video-facade.liquid:
{'{% comment %}'}{'\n'}
{' Video Facade Pattern — loads YouTube player only on click'}{'\n'}
{' Usage: {% render "video-facade", video_id: "dQw4w9WgXcQ", title: "Dimostrazione del prodotto" %}'}{'\n'}
{'{% endcomment %}'}{'\n'}
{'\n'}
{''}{'\n'}
{'\n'}
{'<script>'}{'\n'}
{'document.addEventListener("click", function(e) {'}{'\n'}
{' var facade = e.target.closest(".video-facade");'}{'\n'}
{' if (!facade) return;'}{'\n'}
{' var id = facade.dataset.videoId;'}{'\n'}
{' var iframe = document.createElement("iframe");'}{'\n'}
{' iframe.src = "https://www.youtube.com/embed/" + id + "?autoplay=1&rel=0";'}{'\n'}
{' iframe.style.cssText = "position:absolute;top:0;left:0;width:100%;height:100%;border:0;";'}{'\n'}
{' iframe.allow = "accelerometer;autoplay;clipboard-write;encrypted-media;gyroscope;picture-in-picture";'}{'\n'}
{' iframe.allowFullscreen = true;'}{'\n'}
{' facade.innerHTML = "";'}{'\n'}
{' facade.appendChild(iframe);'}{'\n'}
{'});'}{'\n'}
{'</script>'}
Questo snippet mostra una miniatura di YouTube con un pulsante di riproduzione. Quando si fa clic, sostituisce la miniatura con l'effettivo iframe di YouTube. Il JavaScript del lettore video si carica solo dopo il clic, risparmiando 1,5 MB+ sul caricamento iniziale della pagina.
Utilizzo di lite-youtube-embed (consigliato)
Per una soluzione più raffinata, il La libreria lite-youtube-incorpora di Paul Irish (team Chrome) fornisce un componente web che sembra identico a un vero incorporamento di YouTube ma pesa solo ~6KB:
{''}{'\n'}
{''}{'\n'}
{'
'}{'\n'}
{' '}{'\n'}
{' '}{'\n'}
{'