Solution rapide avec 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.
Utilisez d'abord Thunder pour supprimer le plus gros goulot d'étranglement JavaScript, puis utilisez ce guide pour réduire le HTML lui-même. Si PageSpeed affiche également un temps de blocage total élevé, lisez nos guides sur impact sur les scripts tiers et Correctifs Shopify INP.
Installer ThunderQue signifie PageSpeed par taille excessive du DOM
Le DOM est le modèle live du navigateur de votre HTML. Chaque section, fiche produit, élément de menu, badge d'application, emballage de fenêtre contextuelle et modèle caché devient un nœud que le navigateur doit analyser, styliser, mettre en page et parfois mettre à jour avec JavaScript.
Les recommandations Lighthouse de Google indiquent généralement trois seuils : plus de 1 500 nœuds DOM au total, une profondeur maximale supérieure à 32 éléments imbriqués, ou un parent ayant plus de 60 éléments enfants. 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 volumineux ne nuit pas toujours directement à LCP, mais il ralentit le navigateur dans tout ce qui concerne LCP : calcul de style, mise en page, requêtes JavaScript, délégation d'événements et rendu des interactions. C'est pourquoi le ballonnement du DOM apparaît souvent à côté minimise le travail du thread principal, Exécution JavaScriptet avertissements INP.
Les causes spécifiques à Shopify
Sortie du générateur de pages
Les constructeurs enveloppent souvent chaque bloc visuel dans plusieurs divs imbriqués pour éditer des contrôles, des règles réactives, des animations et des sections réutilisables. Une courte page de destination peut devenir des milliers de nœuds.
Immenses grilles de collecte
L'affichage de 48 à 96 produits lors du premier chargement crée des wrappers d'image, des blocs de prix, des badges, des échantillons, des formulaires et des contrôles d'ajout rapide pour chaque produit.
Méga menus
Les menus du bureau et du mobile sont souvent rendus deux fois, puis masqués avec CSS. Ajoutez des images promotionnelles et des collections imbriquées et votre en-tête à lui seul peut dépasser des centaines de nœuds.
Widgets d'application
Les avis, offres groupées, abonnements, popups, outils de fidélité et applications de chat injectent des conteneurs et des modèles cachés. Les applications désinstallées peuvent laisser d’anciens extraits de code derrière elles.
Étape 1 : Mesurez le DOM avant l'édition
Ouvrez la page, puis exécutez ceci dans la console Chrome DevTools :
document.querySelectorAll('*').length Inspectez ensuite les plus grandes sections. PageSpeed vous indique les totaux, mais DevTools vous indique où se trouve le ballonnement. Utilisez le panneau Éléments, réduisez les sections et comptez les contrevenants évidents : grilles de produits, méga menus, blocs de création de pages et racines d'applications injectées. Associez-le à notre Liste de contrôle d'audit de vitesse Shopify afin de ne pas corriger la taille du DOM tout en manquant des problèmes de script plus lourds.
Étape 2 : Limiter la collecte et les grilles de résultats de recherche
Les pages de collection sont le moyen le plus rapide de créer un grand DOM. Une fiche produit est rarement un élément. Il peut inclure deux images, un fournisseur, un titre, un prix, un prix de comparaison, un badge de vente, des échantillons de couleur, un formulaire d'ajout rapide, un bouton de liste de souhaits, des étoiles d'évaluation et des conteneurs d'applications.
Dans un modèle de collection, réduisez la taille initiale de la pagination :
{% paginate collection.products by 24 %}
{% for product in collection.products %}
{% render 'card-product', product: product %}
{% endfor %}
{% endpaginate %} Pour la plupart des magasins, 16 à 24 produits par page suffisent. Si vous utilisez le défilement infini, affichez uniquement la première page et récupérez le reste après interaction. Notre couvre cela plus en détail.
Étape 3 : Supprimer les balisages mobiles et de bureau en double
De nombreux thèmes affichent deux versions complètes du même contenu : un bloc de bureau et un bloc mobile, puis en cachent une avec CSS. Le visiteur voit une version, mais le navigateur analyse toujours les deux.
{%- 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> Faites-le avec précaution. Certains menus mobiles nécessitent un comportement différent, mais les carrousels de produits dupliqués, les barres d'annonces dupliquées et les arborescences de menus dupliquées sont généralement des gains faciles.
Étape 4 : Auditer les intégrations d'applications et les extraits orphelins
In Shopify Admin, go to Online Store -> Themes -> Customize -> Application intégrée. Désactivez tout ce qui n'a pas besoin d'être chargé sur chaque page. Recherchez ensuite dans vos fichiers de thème les anciens noms d'applications, domaines de script et extraits de code. Les applications supprimées il y a des mois peuvent laisser des wrappers thème.liquide ou modèles de produits.
Si une application est toujours nécessaire, chargez-la uniquement là où cela est important. Un widget d'avis appartient aux pages de produits, pas aux pages de politique. Un widget groupé appartient à proximité des sections d'achat, pas à chaque carte de collection. Pour connaître l'impact de la vitesse de l'application, comparez votre pile à notre Problème Recherche sur l'impact de la vitesse des applications Applications et qui ralentissent les magasins Shopify.
Correction manuelle vs Thunder Fix
| Correction manuelle | Correction du tonnerre | |
|---|---|---|
| Trop de sections thématiques | Supprimer ou consolider des sections dans l'éditeur | Non supprimé automatiquement ; Thunder allège les scripts restants |
| Balisage injecté par l'application | Désactivez l'intégration d'applications et supprimez les extraits de code | Diffère les scripts d'application afin que les widgets effectuent moins de travail de blocage |
| D'immenses grilles de produits | Limiter la pagination à 16-24 produits | Optimise le chargement des images et des scripts autour de la grille |
| High INP/TBT from large DOM | Réduire les nœuds et réécrire les gestionnaires d'événements | Diffère automatiquement le JavaScript non critique |
L'Ordre de Priorité Pratique
- Exécuter un test de vitesse et PageSpeed Insights sur votre modèle le plus fréquenté.
- Installez Thunder ou différez manuellement les scripts non critiques si JavaScript bloque également le thread principal.
- Découpez les grilles de collecte à 16-24 produits par page initiale.
- Supprimez le contenu mobile/ordinateur de bureau en double caché.
- Désactivez les applications intégrées inutilisées et supprimez les extraits d'applications orphelines.
- Simplifiez les méga menus et les sections de création de pages.
- Retestez avec la même URL et comparez les nœuds DOM, TBT, INP et LCP.
Si vous avez besoin d'un plan plus large, utilisez notre guide complet d'optimisation de la vitesse Shopify. Pour les avertissements PageSpeed associés, consultez les guides pour réduit le temps de blocage total de Shopify, corrige les chaînes de requêtes critiques de Shopify, et réduit les charges utiles du réseau Shopify. Pour un nettoyage pratique, notre Service d'optimisation de vitesse Shopify peut gérer les correctifs au niveau du thème en toute sécurité.
Références et Validation
Pour le diagnostic sous-jacent, comparez votre rapport avec Guide de taille du DOM de Chrome Lighthouse. Les seuils ne sont pas arbitraires ; ils reflètent la mémoire supplémentaire, le calcul du style et le coût de mise en page que le navigateur assume lorsqu'une page devient trop volumineuse.
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
Que signifie une taille excessive du DOM sur Shopify ?
Une taille excessive du DOM signifie que le navigateur doit analyser, styliser et gérer trop d'éléments HTML sur la page. PageSpeed Insights signale généralement les pages comportant plus de 1 500 nœuds, une profondeur DOM supérieure à 32 niveaux ou un élément parent comportant plus de 60 nœuds enfants.
La taille excessive du DOM nuit-elle aux Core Web Vitals ?
Oui. Un DOM volumineux augmente le calcul de style, le travail de mise en page, l'utilisation de la mémoire et le temps de requête JavaScript. Cela peut aggraver l'INP, le temps de blocage total et parfois le LCP lorsque le navigateur passe trop de temps à créer la page avant que l'élément le plus volumineux puisse s'afficher.
Thunder peut-il réduire automatiquement la taille de mon Shopify DOM ?
Thunder ne supprime pas les sections de thème ni le balisage d'application pour vous, car cela peut modifier la conception de votre vitrine. Il réduit la pression de JavaScript et de rendu autour d'un grand DOM en différant les scripts non critiques et en donnant la priorité aux ressources importantes.
Qu'est-ce qu'une bonne taille de DOM pour Shopify ?
Visez à rester en dessous de 1 500 nœuds au total sur les pages de destination et les pages de produits importantes. Les magasins Shopify proposant un merchandising riche peuvent aller plus haut, mais les pages de plus de 3 000 à 5 000 nœuds nécessitent généralement un nettoyage de section, de menu, d'application ou de collection.
Les applications Shopify augmentent-elles la taille du DOM ?
Oui. Les widgets d'évaluation, les générateurs de pages, les ventes incitatives, les offres groupées, les outils de chat, les fenêtres contextuelles et les applications de recommandation injectent souvent des conteneurs cachés, des modèles, des badges et des balises gérées par des scripts. Les applications désinstallées peuvent également laisser d'anciens extraits de code dans les fichiers de thème.
Dois-je embaucher un développeur en cas de taille excessive du DOM ?
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.