Correzione rapida con Thunder
La dimensione del DOM è in parte una questione di design e di codice del tema, quindi nessuna app di velocità dovrebbe eliminare silenziosamente il markup dal vostro negozio. Il ruolo di Thunder è diverso: rinvia gli script delle app, riduce il lavoro di blocco del rendering e aiuta il browser a raggiungere contenuti utili più velocemente anche quando il vostro tema ha ancora troppo HTML.
Usa prima Thunder per rimuovere il collo di bottiglia JavaScript più grande, quindi usa questa guida per ridurre l'HTML stesso. Se PageSpeed mostra anche un tempo di blocco totale elevato, leggi le nostre guide su Impatto sugli script di terze parti e Correzioni Shopify INP.
Installa ThunderCosa significa PageSpeed per dimensione DOM eccessiva
Il DOM è il modello live del browser del tuo HTML. Ogni sezione, scheda prodotto, voce di menu, badge dell'app, wrapper popup e modello nascosto diventa un nodo che il browser deve analizzare, definire lo stile, disporre e talvolta aggiornare con JavaScript.
La guida Lighthouse di Google indica comunemente tre soglie: più di 1.500 nodi DOM totali, una profondità massima maggiore di 32 elementi annidatio un genitore con più di 60 elementi figlio. Shopify I thread della community sono pieni di commercianti che vedono 3,000, 5,000, o anche 7,000+ elementi e che chiedono se hanno bisogno di un Shopify esperto. La risposta onesta: a volte sì, ma potete rimuovere una quantità sorprendente dall'editor del tema prima.
Un DOM di grandi dimensioni non sempre danneggia direttamente LCP, ma rende il browser più lento in tutto ciò che riguarda LCP: calcolo dello stile, layout, query JavaScript, delega di eventi e rendering dell'interazione. Questo è il motivo per cui DOM bloat appare spesso accanto minimizza il lavoro del thread principale, Esecuzione JavaScripte avvisi INP.
Le cause specifiche di Shopify
Output del generatore di pagine
I builder spesso racchiudono ogni blocco visivo in diversi div nidificati per la modifica di controlli, regole reattive, animazioni e sezioni riutilizzabili. Una breve landing page può diventare migliaia di nodi.
Enormi griglie di raccolta
Mostrare da 48 a 96 prodotti al primo caricamento crea wrapper di immagini, blocchi di prezzo, badge, campioni, moduli e controlli di aggiunta rapida per ogni prodotto.
Mega menu
I menu desktop e mobili vengono spesso visualizzati due volte, quindi nascosti con CSS. Aggiungi promozioni di immagini e raccolte nidificate e la tua sola intestazione può superare centinaia di nodi.
Widget dell'app
Recensioni, pacchetti, abbonamenti, popup, strumenti fedeltà e app di chat inseriscono contenitori e modelli nascosti. Le app disinstallate possono lasciare dietro di sé vecchi frammenti.
Passaggio 1: misurare il DOM prima della modifica
Apri la pagina, quindi eseguilo nella console di Chrome DevTools:
document.querySelectorAll('*').length Quindi ispeziona le sezioni più grandi. PageSpeed ti dice i totali, ma DevTools ti dice dove risiede il gonfiore. Utilizza il pannello Elementi, comprimi le sezioni e conta i trasgressori evidenti: griglie di prodotti, mega menu, blocchi di creazione di pagine e radici delle app inserite. Abbinalo al nostro Lista di controllo del controllo della velocità di Shopify in modo da non correggere le dimensioni del DOM e perdere problemi di script più pesanti.
Passaggio 2: Limita la raccolta e le griglie dei risultati della ricerca
Le pagine di raccolta sono il modo più veloce per creare un DOM di grandi dimensioni. Una scheda prodotto raramente è un elemento. Può includere due immagini, venditore, titolo, prezzo, prezzo di confronto, badge di vendita, campioni di colore, modulo di aggiunta rapida, pulsante della lista dei desideri, stelle di recensione e contenitori di app.
In un modello di raccolta, riduci la dimensione della pagina iniziale:
{% paginate collection.products by 24 %}
{% for product in collection.products %}
{% render 'card-product', product: product %}
{% endfor %}
{% endpaginate %} Per la maggior parte dei negozi sono sufficienti da 16 a 24 prodotti per pagina. Se utilizzi lo scorrimento infinito, esegui il rendering solo della prima pagina e recupera il resto dopo l'interazione. Nostro guida rapida alla pagina di raccolta tratta questo argomento in modo più dettagliato.
Passaggio 3: rimuovi il markup duplicato su dispositivi mobili e desktop
Molti temi rendono due versioni complete dello stesso contenuto: un blocco desktop e un blocco mobile, quindi ne nascondono una con CSS. Il visitatore vede una versione, ma il browser le analizza entrambe.
{%- comment -%}Avoid this pattern when the content is identical{%- endcomment -%}
<div class="hidden md:block">{% render 'mega-menu-desktop' %}</div>
<div class="md:hidden">{% render 'mega-menu-mobile' %}</div>
{%- comment -%}Prefer one semantic menu and change layout with CSS{%- endcomment -%}
<nav class="site-menu">
{% render 'menu-items', menu: section.settings.menu %}
</nav> Fallo attentamente. Alcuni menu mobili richiedono un comportamento diverso, ma i caroselli di prodotti duplicati, le barre degli annunci duplicate e gli alberi dei menu duplicati sono solitamente vittorie facili.
Passaggio 4: controlla gli incorporamenti delle app e gli snippet orfani
In Shopify Admin, andate su Online Store -> Themes -> Customize -> Incorporamento dell'app. Disabilitate tutto ciò che non è necessario caricare su ogni pagina. Quindi cercate nei file del tema vecchi nomi di app, domini di script e snippet. Le app rimosse mesi fa possono lasciare dei wrapper tema.liquid o modelli di prodotto.
Se un'app è ancora necessaria, caricala solo dove conta. Un widget di recensione appartiene alle pagine dei prodotti, non alle pagine delle norme. Un widget bundle appartiene alle sezioni di acquisto, non a tutte le schede di raccolta. Per l'impatto sulla velocità dell'app, confronta il tuo stack con il nostro Ricerca sull'impatto della velocità dell'app e app che rallentano i negozi Shopify.
Correzione manuale vs. Correzione Thunder
| Problema | Correzione manuale | Correzione di Thunder |
|---|---|---|
| Troppe sezioni tematiche | Rimuovi o consolida le sezioni nell'editor | Non cancellato automaticamente; Thunder mantiene gli script rimanenti più leggeri |
| Markup inserito dall'app | Disabilita gli incorporamenti di app e rimuovi gli snippet | Rinvia gli script delle app in modo che i widget facciano meno lavoro di blocco |
| Enormi griglie di prodotti | Limita l'impaginazione a 16-24 prodotti | Ottimizza il caricamento di immagini e script attorno alla griglia |
| INP/TBT elevato da DOM di grandi dimensioni | Riduci i nodi e riscrivi i gestori di eventi | Rinvia automaticamente JavaScript non critico |
L'ordine pratico di priorità
- Corri un test di velocità e PageSpeed Insights sul modello con il traffico più elevato.
- Installa Thunder o rinvia manualmente gli script non critici se JavaScript blocca anche il thread principale.
- Taglia le griglie di raccolta a 16-24 prodotti per pagina iniziale.
- Rimuovi i contenuti duplicati nascosti su dispositivi mobili/desktop.
- Disabilita gli incorporamenti di app inutilizzati ed elimina gli snippet di app orfani.
- Semplifica i mega menu e le sezioni del generatore di pagine.
- Ripeti il test con lo stesso URL e confronta i nodi DOM, TBT, INP e LCP.
Se hai bisogno di un piano più ampio, usa il nostro guida completa all'ottimizzazione della velocità di Shopify. Per gli avvisi relativi a PageSpeed, consulta le guide a riduce il tempo di blocco totale di Shopify, corregge le catene di richieste critiche di Shopifye riduce i payload della rete Shopify. Per una pulizia pratica, il ns Servizio di ottimizzazione della velocità di Shopify può gestire le correzioni a livello di tema in modo sicuro.
Riferimenti e validazione
Per la diagnostica sottostante, confronta il tuo rapporto con quello Guida alle dimensioni DOM di Chrome Lighthouse. Le soglie non sono arbitrarie; riflettono la memoria aggiuntiva, il calcolo dello stile e il costo del layout che il browser assume quando una pagina diventa troppo grande.
I thread della Shopify Community sulla dimensione del DOM di solito seguono lo stesso schema: i commercianti vedono un numero spaventoso di PageSpeed, quindi scoprono che la causa effettiva è un accumulo di sezioni, incorporamenti di app, menu duplicati e schede di collezione. Trattate l'avviso come una mappa di pulizia, non come una prova che Shopify stesso sia rotto. La mossa vincente è ridurre il markup dove non cambia nulla per il cliente, quindi usare Thunder per impedire che il JavaScript rimanente dell'app blocchi la pagina.
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 €
FAQ
Cosa significa dimensione DOM eccessiva su Shopify?
Una dimensione DOM eccessiva significa che il browser deve analizzare, stilizzare e gestire troppi elementi HTML sulla pagina. PageSpeed Insights segnala comunemente le pagine con più di 1.500 nodi, una profondità DOM su 32 livelli o un elemento principale con più di 60 nodi secondari.
Le dimensioni eccessive del DOM danneggiano i Core Web Vitals?
Sì. Un DOM di grandi dimensioni aumenta il calcolo dello stile, il lavoro di layout, l'utilizzo della memoria e il tempo di query JavaScript. Ciò può peggiorare INP, Total Blocking Time e talvolta LCP quando il browser impiega troppo tempo a costruire la pagina prima che l'elemento più grande possa essere visualizzato.
Thunder può ridurre automaticamente le dimensioni del mio DOM Shopify?
Thunder non elimina le sezioni del tema o il markup dell'app per te, perché ciò potrebbe modificare il design della tua vetrina. Riduce la pressione di JavaScript e di rendering attorno a un DOM di grandi dimensioni rinviando gli script non critici e dando priorità alle risorse importanti.
Qual è una buona dimensione DOM per Shopify?
Punta a rimanere sotto i 1.500 nodi totali su pagine di destinazione e pagine di prodotto importanti. I negozi Shopify con un ricco merchandising possono raggiungere livelli più alti, ma le pagine con un numero di nodi superiore a 3.000-5.000 di solito necessitano di pulizia di sezioni, menu, app o raccolte.
Le app Shopify aumentano le dimensioni del DOM?
Sì. Widget di revisione, generatori di pagine, upsell, bundle, strumenti di chat, popup e app di consigli spesso inseriscono contenitori nascosti, modelli, badge e markup gestito da script. Le app disinstallate possono anche lasciare vecchi snippet nei file dei temi.
Dovrei assumere uno sviluppatore per dimensioni DOM eccessive?
Se il problema deriva da sezioni di pagina ovvie o menu enormi, potete spesso risolverlo nell'editor del tema. Se deriva da snippet di app, Liquid profondamente annidato o output di page builder, uno sviluppatore Shopify può rimuovere il markup in modo più sicuro.