Correzione rapida con Thunder
DOM size is partly a design and theme-code issue, so no speed app should silently delete markup from your store. Thunder’s role is different: it defers app scripts, reduces render-blocking work, and helps the browser get to useful content faster even when your theme still has too much 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 Community threads are full of merchants seeing 3,000, 5,000, or even 7,000+ elements and asking whether they need a Shopify expert. The honest answer: sometimes yes, but you can remove a surprising amount from the theme editor first.
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, go to Online Store -> Themes -> Customize -> Incorporamento dell'app. Disabilita tutto ciò che non è necessario caricare su ogni pagina. Quindi cerca 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 del tuono |
|---|---|---|
| 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 |
| High INP/TBT from large DOM | 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.
Shopify Community threads on DOM size usually come down to the same pattern: merchants see a scary PageSpeed number, then discover that the actual cause is a pile-up of sections, app embeds, duplicated menus, and collection cards. Treat the warning as a cleanup map, not as proof that Shopify itself is broken. The winning move is to reduce markup where it changes nothing for the customer, then use Thunder to keep the remaining app JavaScript from blocking the page.
Done For You
Core Web Vitals guarantee · 2-week delivery · 6 months Thunder free
Get Expert Optimization →Starting from €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?
If the issue comes from obvious page sections or huge menus, you can often fix it in the theme editor. If it comes from app snippets, deeply nested Liquid, or page builder output, a Shopify developer can remove markup more safely.