Comparaison rapide : chargement paresseux et chargement hâtif
Avant de plonger en profondeur, voici la différence fondamentale. Les deux stratégies contrôlent quand le navigateur télécharge une ressource — mais leurs objectifs sont opposés.
⏳ Chargement immédiat
Télécharge la ressource immédiatement lorsque le navigateur lit le HTML.
- → Comportement du navigateur par défaut (aucun attribut requis)
- → Idéal pour le contenu au-dessus de la ligne de flottaison
- → Assure le rendu le plus rapide des éléments critiques
- → Utilise plus de bande passante lors du chargement initial
💤 Chargement paresseux
Diffère le téléchargement jusqu'à ce que l'utilisateur fasse défiler près l'élément.
- → Nécessite
loading="lazy" - → Idéal pour le contenu en dessous de la ligne de flottaison
- → Réduit le poids initial de la page de 40 à 70 %
- → Léger retard lors du défilement vers le contenu différé
La boutique Shopify idéale utilise les deux Thèmes — chargement rapide pour le contenu que les visiteurs voient en premier, chargement paresseux pour tout ce qu'ils feront défiler plus tard. Le défi est de savoir où tracer la limite, en particulier lorsque « au-dessus de la ligne de flottaison » diffère selon les appareils. Testez la vitesse de votre boutique pour voir comment fonctionne votre stratégie de chargement actuelle.
Comment fonctionne chaque stratégie de chargement sous le capot
Chargement hâtif : le chemin par défaut
Le chargement immédiat est le comportement par défaut du navigateur. Lorsque l'analyseur HTML rencontre une balise <img> sans attribut loading, il place immédiatement l'image dans la file de téléchargement :
Le navigateur lit le HTML → Trouve <img src="product.jpg"> →
Met immédiatement en file d'attente le téléchargement → L'image se charge lorsque la bande passante le permet
Ceci est rapide et prévisible pour les images au-dessus de la ligne de flottaison. L'inconvénient ? Si vous avez 40 images sur une page de collection, le navigateur essaie de télécharger les 40 simultanément. Votre image de héros – celle qui détermine votre Score LCP — doit partager la bande passante avec 39 autres images vers lesquelles le visiteur n'a pas fait défiler.
Chargement différé : différé jusqu'à ce que ce soit nécessaire
Lorsque vous ajoutez loading="lazy" à une image, le navigateur l'enregistre mais ne le télécharge pas jusqu'à ce que IntersectionObserver détecte que l'image s'approche de la fenêtre :
Le navigateur lit le HTML → Trouve <img loading="lazy"> →
S'inscrit mais ignore le téléchargement → L'utilisateur fait défiler... fait défiler... →
L'image s'approche de la fenêtre d'affichage → Déclencheurs IntersectionObserver → Le téléchargement commence
Cette étape supplémentaire est exactement la raison pour laquelle le chargement paresseux de votre image LCP est si coûteux : vous ajoutez une attente inutile pour votre élément visuel le plus important. Mais pour les images situées en dessous de la ligne de flottaison, ce report est un pur avantage : moins de concurrence en matière de bande passante et un rendu initial plus rapide.
Quand utiliser le chargement rapide sur Shopify
Chargez immédiatement tout élément qui apparaît dans la fenêtre d'affichage initiale - ce que le visiteur voit avant défilement. Sur Shopify, cela signifie généralement :
Bannières de héros et images de diaporama — Il s'agit presque toujours de l'élément LCP. Chargement immédiat avec fetchpriority="high".
Images de produits en vedette — La photo principale du produit sur les pages produits. Il s'agit du candidat LCP sur les modèles de produits.
Navigation et logo — Petits fichiers que les visiteurs s'attendent à voir immédiatement. Leur chargement paresseux provoque une apparition tardive visible.
Première rangée de produits de collection — Les produits visibles sans scroller sur vos pages de collection.
Badges et icônes de confiance au-dessus de la ligne de flottaison — Petits mais visuellement importants pour la première impression.
Règle générale de Shopify : Utilisez section.index <= 2 pour charger immédiatement les images. Les deux premières sections d’une page se trouvent presque toujours dans la zone initialement visible, sur ordinateur comme sur mobile. Mieux vaut charger immédiatement quelques images supplémentaires que différer par erreur le chargement d’une image initialement visible, comme le souligne l’équipe chargée des performances de Shopify.
Quand utiliser le chargement différé sur Shopify
Chargement paresseux de tout ce que le visiteur ne verra pas tant qu'il n'aura pas fait défiler. Sur la plupart des boutiques Shopify, c'est la majorité des images :
Grilles de produits au-delà de la première ligne — Les pages de collection avec plus de 20 produits ne devraient charger de manière anticipée que les 4 à 8 premiers produits visibles au-dessus de la ligne de flottaison.
Images de témoignage et de revue — Photos des clients, images d'avatar, graphiques de classement par étoiles sous la ligne de flottaison.
Images des articles de blog — À l'exception de l'image sélectionnée, toutes les images en ligne doivent se charger paresseusement.
Contenu du pied de page — Icônes de paiement, logos de réseaux sociaux, images de la section newsletter — personne ne les voit lors du chargement initial.
Intégrations YouTube/Vimeo — Les iframes vidéo sont lourdes. Chargement paresseux via loading="lazy" sur l'iframe empêche le téléchargement de mégaoctets de code du lecteur vidéo jusqu'à ce que le visiteur fasse défiler jusqu'à la vidéo.
Vignettes de la galerie de produits — Sur les pages de produits, les images miniatures sous la photo principale peuvent être chargées paresseusement puisque le visiteur interagit avec une à la fois.
Pour plus de détails sur ce qu'il faut charger paresseux et la mise en œuvre technique, consultez notre version complète Guide de chargement paresseux de Shopify.
Évitez les incertitudes : Thunder applique automatiquement la bonne stratégie
Thunder Page Speed Optimizer analyse chaque modèle de page, identifie l’élément LCP et applique la stratégie de chargement optimale par élément : chargement immédiat des contenus initialement visibles et différé des contenus situés plus bas, avec une adaptation à chaque appareil. Vous n’avez ni à modifier le code Liquid ni à deviner où se termine la zone visible.
- ✦ Détection automatique du LCP — garantit que votre image de héros est toujours chargée immédiatement
- ✦ Diffère les scripts d'application — la partie pour laquelle le chargement paresseux des images ne peut pas aider
- ✦ Fonctionne avec n'importe quel thème — Dawn, Prestige, personnalisé — tous gérés
- ✦ Amélioration moyenne de plus de 27 points en score de vitesse
Voir plans ou commencez par un essai gratuit.
Installer Thunder — Essai gratuit →Stratégie de chargement par type de page Shopify
Différents modèles de page ont des éléments LCP et des structures de contenu différents. Voici la stratégie de chargement optimale pour chacun :
🏠 Page d'accueil
Chargement immédiat : Bannière/diaporama de héros, collection en vedette (première rangée), images de la barre d'annonce, logo
Chargement paresseux : Deuxième collection en vedette et au-delà, témoignages, flux Instagram, aperçus d'articles de blog, images de pied de page
Elément LCP : Généralement l'image de la bannière du héros
📦Page produit
Chargement immédiat : Image principale du produit, zone de titre du produit, affichage des prix
Chargement paresseux : Miniatures de la galerie, produits associés, images de la section avis, carrousel "vous aimerez peut-être aussi"
Elément LCP : Généralement l'image principale du produit
📂Page de collecte
Chargement immédiat : Image de bannière de collection, 4 à 8 premières images de produits (1 à 2 premières lignes), icônes de filtre d'interface utilisateur
Chargement paresseux : Toutes les images de produits au-delà des premières lignes visibles, pagination, images de sous-collection
Elément LCP : Généralement la bannière de la collection ou la première image du produit
📝 Article de blog
Chargement immédiat : Image vedette/héros, avatar de l'auteur
Chargement paresseux : Toutes les images de contenu en ligne, les vignettes des publications associées, les images de la barre latérale
Elément LCP : Généralement l'image sélectionnée ou le premier bloc de texte d'en-tête
Comment mettre en œuvre les deux stratégies de chargement dans Shopify Liquid
Voici le code Liquid pratique pour mettre en œuvre la bonne stratégie de chargement sur votre thème. Ceci suit Chargement paresseux natif de Shopify bonnes pratiques.
Basique : chargement basé sur l'index de section
{%- liquid
if section.index > 2
assign loading = "lazy"
else
assign loading = "eager"
endif
-%}
{{ section.settings.image | image_url: width: 1200 | image_tag: loading: loading }} Avancé : Image LCP avec priorité de récupération
{%- if section.index == 1 -%}
{%- comment -%} Hero section — LCP image, maximum priority {%- endcomment -%}
{{ section.settings.image | image_url: width: 1400 | image_tag: loading: "eager", fetchpriority: "high", decoding: "sync" }}
{%- elsif section.index == 2 -%}
{%- comment -%} Second section — eager but normal priority {%- endcomment -%}
{{ section.settings.image | image_url: width: 1200 | image_tag: loading: "eager" }}
{%- else -%}
{%- comment -%} Below fold — lazy load {%- endcomment -%}
{{ section.settings.image | image_url: width: 1200 | image_tag: loading: "lazy" }}
{%- endif -%} Grille de produits : première rangée chargée immédiatement, reste différé
{%- for product in collection.products -%}
{%- if forloop.index <= 4 and section.index <= 2 -%}
{%- assign img_loading = "eager" -%}
{%- else -%}
{%- assign img_loading = "lazy" -%}
{%- endif -%}
{{ product.featured_image | image_url: width: 600 | image_tag: loading: img_loading, alt: product.title }}
{%- endfor -%} N'oubliez pas : Indiquez toujours les attributs width et height des images à chargement différé (ou définissez leurs dimensions via CSS) pour éviter le Changement de mise en page cumulatif (CLS). Le filtre image_tag s'en charge automatiquement.
fetchpriority : la troisième stratégie de chargement que vous devez connaître
En plus du chargement immédiat et différé, il existe un troisième levier : fetchpriority. Cet attribut ne détermine pas quand une ressource se charge, mais sa priorité par rapport aux autres ressources :
fetchpriority="high" — Téléchargez-le avant les autres images. À utiliser uniquement sur votre image LCP.
fetchpriority="low" — Téléchargez-le après des ressources plus importantes. Idéal pour les images décoratives au-dessus de la ligne de flottaison qui n'affectent pas le LCP.
fetchpriority="auto" — Laissez le navigateur décider (par défaut). Très bien pour la plupart des images.
La combinaison de loading="eager" + fetchpriority="high" sur votre image LCP est la stratégie de chargement la plus agressive disponible. Il indique au navigateur : "Téléchargez ceci immédiatement et donnez-lui la priorité sur tout le reste." Pour Optimisation LCP, cette combinaison réduit généralement de 100 à 300 ms votre temps LCP.
Prise en charge du navigateur : fetchpriority est pris en charge dans Chrome 101+, Edge 101+ et Safari 17.2+. Firefox ne le prend pas encore en charge mais le traite comme un non-op, il peut donc être utilisé en toute sécurité partout. Pour une analyse plus approfondie de toutes les mesures de performances, consultez notre Guide des éléments essentiels du Web.
Correctif : chargement immédiat de l’image principale Shopify dans theme.liquid
L'un des problèmes de vitesse Shopify les plus courants en 2026 : l'image de votre bannière de héros est chargée de manière différée par défaut, détruisant votre score LCP. De nombreux thèmes, notamment Dawn — ne définissent pas fetchpriority="high" sur l'image du héros, laissant la performance sur la table.
Voici la solution exacte pour votre theme.liquid ou fichier de section héros :
sections/hero-banner.liquid (ou équivalent)
{%- comment -%} Fix: Force eager loading + high priority for hero banner image {%- endcomment -%}
{%- assign hero_image = section.settings.image -%}
{%- if hero_image != blank -%}
{{ hero_image | image_url: width: 1400 | image_tag:
loading: "eager",
fetchpriority: "high",
decoding: "sync",
alt: hero_image.alt | default: section.settings.heading,
class: "hero-banner__image"
}}
{%- endif -%} Attributs clés expliqués :
- •
loading="eager"— se télécharge immédiatement (n'omettez pas cela et n'utilisez pas « paresseux ») - •
fetchpriority="high"— donne à cette image la priorité sur les autres ressources, comme les polices et le CSS non critique - •
decoding="sync"— garantit que l'image est décodée avant la peinture, empêchant ainsi le scintillement - •
width: 1400— demande la bonne taille au CDN de Shopify afin d’éviter de télécharger des images surdimensionnées
Après avoir effectué cette modification, exécuter un test de vitesse pour vérifier l'amélioration du LCP. Vous devriez constater une amélioration de 100 à 500 ms du temps LCP, en fonction de la taille de votre image de héros et du temps de réponse du serveur. Pour les magasins où la modification du code n'est pas une option, Thunder gère cela automatiquement — il détecte votre élément LCP et applique les attributs de chargement optimaux sans toucher à vos fichiers de thème.
5 erreurs de stratégie de chargement Shopify qui tuent votre score de vitesse
Nous constatons ces erreurs sur des centaines de boutiques Shopify. Chacun vous coûte de vrais points PageSpeed :
1. Chargement paresseux de l'image de la bannière du héros
L'erreur LCP la plus courante sur Shopify. L'équipe de performance de Shopify a mesuré un Pénalité LCP médiane de 1,0 seconde pour les magasins qui chargent paresseusement leur image LCP. De nombreux thèmes diffèrent par défaut le chargement de toutes les images, y compris le héros. Correctif : définir loading="eager" et fetchpriority="high" sur l'image principale de la section 1.
2. Désireux de tout charger "pour être en sécurité"
L'extrême opposé : forcer les plus de 30 images à être téléchargées en même temps. Cela crée un conflit de bande passante où votre image de héros est en concurrence avec les icônes de pied de page pour les ressources réseau. Résultat : LCP plus lent, pas plus rapide.
3. Utilisation de fetchpriority="high" sur plus de 2 images
Si tout est hautement prioritaire, rien ne l'est. Réservez fetchpriority="high" pour exactement 1 à 2 images : votre image de héros LCP et éventuellement la photo principale du produit. Son utilisation sur plus de 5 images dilue le signal et les navigateurs l’ignorent effectivement.
4. Ne pas définir les dimensions des images chargées paresseusement
Les images à chargement différé sans attributs width et height provoquent un CLS (Décalage Cumulatif de Mise en Page) lorsqu'elles se chargent. La page se décale quand le navigateur réserve enfin de la place pour l'image. Le filtre Shopify image_tag ajoute automatiquement les dimensions ; utilisez-le plutôt que des balises <img> écrites directement.
5. Oublier que le mobile et le bureau ont des lignes de pliage différentes
Une grille de produits qui affiche 4 éléments au-dessus de la ligne de flottaison sur ordinateur peut n'en afficher que 2 sur mobile. Si vous chargez immédiatement 8 produits en pensant qu'ils sont tous visibles, vous gaspillez la bande passante mobile sur des images qui se trouvent en réalité en dessous de la ligne de flottaison. Utilisez section.index comme signal principal (sections 1-2 = chargement immédiat) plutôt que de coder en dur un nombre d'images spécifique.
Foire aux questions
Dois-je charger immédiatement ou en différé l’image principale de ma boutique Shopify ?
Chargez toujours immédiatement l’image principale de votre bannière. Elle constitue presque toujours l’élément Largest Contentful Paint (LCP), et son chargement différé ajoute un délai inutile de 200 à 1 000 ms. Vous pouvez omettre l’attribut loading, car sa valeur par défaut est eager, ou définir explicitement loading='eager' et fetchpriority='high' pour charger l’image le plus rapidement possible.
Quelle est la différence de performance entre le chargement différé et immédiat ?
Dans une boutique Shopify typique contenant plus de 30 images, différer le chargement des images situées sous la zone initialement visible réduit le poids initial de la page de 40 à 70 %, ce qui améliore le délai d’interactivité et le LCP. Pour les images initialement visibles, l’effet est inverse : l’équipe chargée des performances de Shopify a mesuré une dégradation médiane du LCP de 1,0 seconde dans les boutiques qui diffèrent le chargement de leur image LCP. Chargez donc immédiatement les 2-3 premières sections et en différé les contenus situés plus bas.
Tout charger immédiatement accélère-t-il ma boutique Shopify ?
Non. Le navigateur télécharge alors simultanément les 20 à 50+ images dès l’ouverture de la page. Elles se disputent la bande passante : l’image principale, que les visiteurs voient en premier, doit partager la connexion avec des images situées bien plus bas, auxquelles personne n’a encore fait défiler la page. Le premier contenu apparaît plus tard et les scores LCP se dégradent.
Puis-je combiner chargement immédiat et différé sur une même page Shopify ?
Oui, c’est l’approche recommandée. Chargez immédiatement les contenus initialement visibles : images principales, produits mis en avant et icônes de navigation. Différez les contenus situés plus bas : grilles de produits, images de pied de page et photos de témoignages. La propriété section.index de Shopify simplifie ce choix : chargement immédiat des sections 1 à 2, puis différé à partir de la section 3.
Qu’est-ce que fetchpriority et faut-il l’utiliser avec le chargement immédiat ?
fetchpriority='high' est un attribut HTML qui indique au navigateur de donner la priorité au téléchargement d’une ressource précise. Associé au chargement immédiat, il permet de charger votre image LCP avant les autres ressources à chargement immédiat, comme les images secondaires ou les polices. Utilisez-le seulement pour 1 à 2 images par page, généralement la bannière principale et la photo principale du produit. En abuser annule l’intérêt de cette priorité.
Comment charger immédiatement l’image principale de la bannière dans Shopify theme.liquid ?
Ouvrez le fichier de votre section de bannière, généralement sections/hero-banner.liquid ou un fichier équivalent, et modifiez la sortie image_tag pour y ajouter loading='eager', fetchpriority='high' et decoding='sync'. Le code Liquid exact est : {{ section.settings.image | image_url: width: 1400 | image_tag: loading: 'eager', fetchpriority: 'high', decoding: 'sync' }}. Appliquez-le uniquement à la première section (section.index == 1) ; les autres sections doivent utiliser loading='lazy'. Cette correction améliore généralement le LCP de 100-500ms. Si vous ne souhaitez pas modifier le code du thème, Thunder effectue cette optimisation automatiquement.
Comment Thunder Page Speed Optimizer choisit-il entre chargement immédiat et différé ?
Thunder identifie automatiquement l’élément LCP de chaque modèle de page et le charge immédiatement avec une priorité élevée, tout en différant les contenus situés plus bas. Il adapte cette logique au type d’appareil, puisque la zone initialement visible varie entre mobiles et ordinateurs, ainsi qu’au modèle de page, puisque les pages d’accueil, de produit et de collection ont des éléments LCP différents. Aucune configuration manuelle n’est nécessaire.
La bonne stratégie de chargement fait une réelle différence
Le chargement paresseux ou le chargement rapide n'est pas un choix binaire — il s'agit d'appliquer la bonne stratégie au bon élément. Chargez immédiatement votre image LCP avec une priorité élevée, chargez immédiatement le reste du contenu au-dessus de la ligne de flottaison et chargez paresseusement tout ce qui se trouve en dessous de la ligne de flottaison. C'est la formule qui vous permet d'obtenir le rendu initial le plus rapide possible sans gaspiller de bande passante.
Mais n’oubliez pas : la stratégie de chargement des images n’est qu’une partie de l’équation. L’optimisation de vos images Shopify (format, compression et dimensions) est tout aussi importante. De plus, les scripts tiers provenant d’applications nuisent souvent davantage aux performances que des images non optimisées. Une approche globale, qui traite ensemble les images, les scripts, le CSS et les polices, donne les meilleurs résultats.
Étape suivante : Exécutez votre test de vitesse gratuit pour voir l'impact de votre stratégie de chargement actuelle sur les performances, puis explorez notre guide complet d'optimisation de la vitesse Shopify pour une image complète.