La plupart des outils de compression d'images pour WordPress exposent un seul réglage : un curseur de qualité, généralement entre 60 et 85, appliqué uniformément à chaque JPEG ou WebP que le plugin traite. C'est un choix raisonnable pour un outil qui n'a aucune idée de l'usage réel de chaque image. Mais sur une fiche produit WooCommerce, ce chiffre unique joue discrètement contre vous dans au moins une direction, souvent dans les deux.
Regardons ce qui se passe réellement à l'écran. Une grille de catalogue affiche une vignette product_card d'environ 150 à 300 pixels de large, regardée une seconde ou deux pendant qu'un client parcourt des dizaines de vignettes similaires. Les artefacts de compression visibles en taille réelle deviennent invisibles à cette échelle et avec ce comportement de lecture : l'œil n'a ni le temps ni la résolution nécessaires pour les remarquer. La même photo, affichée en image principale de la fiche produit, est regardée bien plus longtemps, souvent zoomée, et le moindre flou ou artefact sur une texture fine, tissu, couture, grain de surface, devient précisément le détail qu'un acheteur examine avant de se décider.
Un réglage de qualité global unique doit faire le grand écart entre ces deux usages très différents. Réglé assez bas pour garder la grille de catalogue légère et rapide, l'image produit zoomée paraît nettement dégradée par rapport à son potentiel. Réglé assez haut pour garder l'image produit nette, chaque vignette de la page catégorie transporte des octets superflus, et cela s'additionne : une page catégorie avec 40 produits charge 40 vignettes surdimensionnées au lieu de 40 vignettes correctement allégées, une différence qui se répercute directement sur le poids de la page et les Core Web Vitals.
La bonne façon de penser la qualité d'image sur un site e-commerce n'est pas "à quel niveau compresser mes images" mais "à quel niveau compresser les images de cet emplacement précis". Une vignette regardée brièvement en petite taille tolère une compression agressive sans perte perceptible. Une image principale zoomable, non. Une bannière de catégorie se situe entre les deux. Ce ne sont pas des avis différents sur un même réglage, ce sont des exigences réellement différentes selon le contexte.
C'est le raisonnement derrière le fait qu'ImagePipe rattache la qualité à chaque preset plutôt qu'à un réglage unique valable pour tout le site. product_card et product_page sont deux presets distincts, chacun avec son propre mode de redimensionnement, ses dimensions et son niveau de compression, ce qui permet à une boutique de garder des vignettes de catalogue légères sans sacrifier la fidélité de l'image produit zoomée, ou l'inverse, sans passer par un curseur global qui affecterait les deux à la fois. category_banner, manufacturer_logo et mobile_thumbnail suivent la même logique : chaque emplacement reçoit le niveau de compression dont il a réellement besoin, pas le compromis unique qu'un réglage global doit imposer à tous les emplacements du site en même temps.