Lighthouse recommande de définir des dimensions explicites pour les images afin d'améliorer les performances et d'éviter les décalages de contenu lors du chargement des pages. Cela peut poser des problèmes esthétiques en design responsive, mais il est essentiel de trouver un équilibre entre performance et adaptabilité des images.
Publié le 09/06/2026
Lighthouse, l'outil de Google dédié à l'analyse des pages web, offre des recommandations pour optimiser la performance, l'accessibilité et le SEO des sites. Depuis la version 6.4, une nouvelle recommandation a été introduite : "Définir des dimensions explicites pour les éléments d'image". Cette suggestion peut sembler contraire aux principes du design responsive, mais elle vise à améliorer les performances et l'expérience utilisateur.
Le Cumulative Layout Shift (CLS) est justement la métrique qui quantifie ce phénomène : c'est l'un des trois Core Web Vitals de Google, qui mesure les décalages inattendus de contenu pendant le chargement d'une page. Un score inférieur à 0,1 est considéré comme bon ; au-delà de 0,25, il est jugé mauvais.
Les images sans dimensions définies en sont l'une des causes les plus fréquentes. En l'absence de dimensions définies pour les images, des décalages de contenu peuvent survenir, provoquant une réorganisation inattendue des éléments lors du chargement de la page. Cela affecte non seulement la performance globale, mais aussi la lisibilité et la stabilité visuelle de la page.
Cependant, spécifier des dimensions fixes pour les images peut entraîner des problèmes esthétiques, comme des images déformées ou mal ajustées, surtout dans un contexte de design responsive. Il est donc crucial de trouver un équilibre permettant de définir des dimensions explicites tout en garantissant une adaptation correcte des images sur tous les types d’appareils.
width et height: Pour chaque balise img, assurez-vous de spécifier les attributswidth et height.width, indiquez la taille maximale possible de l'image en fonction des appareils sur lesquels elle sera affichée. Cela évitera que l'image ne soit trop petite, ce qui pourrait nuire à l'expérience utilisateur en la rendant peu lisible ou déformée.<img src="chemin/vers/image.jpg" width="300" height="200">
<style>
.responsive-image {
height: auto;
max-width: 100%;
}
</style>En appliquant ces étapes, vous optimiserez à la fois la performance et l’affichage des images sur votre site web, assurant ainsi une expérience utilisateur fluide et cohérente.
Définir des dimensions explicites (pour éviter le décalage de contenu) et rendre une image réactive (pour servir la bonne résolution selon l'appareil) sont deux choses différentes. La méthode width/height + CSS ci-dessus règle le premier problème. Pour le second, on peut ajouter srcset et sizes, qui laissent le navigateur choisir le fichier le plus adapté à la taille d'écran :
<img src="image-800.jpg" srcset="image-400.jpg 400w, image-800.jpg 800w, image-1200.jpg 1200w" sizes="(max-width: 600px) 100vw, 50vw" width="1200" height="800" class="responsive-image" >
On peut aussi, si besoin, remplacer width/height par la propriété CSS aspect-ratio, qui fixe le ratio directement en CSS plutôt que dans le HTML, pratique pour les images en arrière-plan :
.responsive-image {
width: 100%;
aspect-ratio: 3 / 2;
}