100 328 images, deux méthodes de conversion, un seul gagnant au chronomètre. C’est le chiffre exact de la médiathèque d’un site associatif fédérant plusieurs centaines d’antennes locales, migré cet été vers WordPress 6.5. La question n’était pas de savoir si l’AVIF valait le coup — cela, tout le monde le sait depuis longtemps — mais quelle méthode de conversion tenait la charge sur une bibliothèque de cette taille sans bloquer le serveur pendant trois jours.
Deux options coexistaient déjà sur ce projet : la génération native d’AVIF introduite dans le cœur de WordPress 6.5 via wp_image_editor, et le service Polish de Cloudflare, qui reconvertit les images à la volée à l’edge sans toucher aux fichiers d’origine. Nous avons fait tourner les deux sur le même lot pendant deux semaines pour comparer poids, temps de traitement et impact réel sur le TTFB des pages produits.
Comment fonctionne chaque méthode
La conversion native de WordPress 6.5 s’appuie sur GD ou Imagick côté serveur : à chaque upload, ou lors d’une régénération en masse via WP-CLI, le cœur génère une variante AVIF pour chaque taille enregistrée dans wp_get_registered_image_subsizes. Le fichier AVIF est stocké aux côtés du JPEG ou du WebP d’origine, et WordPress sert la meilleure version disponible selon le support du navigateur, via la balise picture ou l’en-tête Accept.
Cloudflare Polish, lui, ne touche jamais aux fichiers stockés sur le serveur. Il intercepte la réponse HTTP au niveau du CDN, réencode l’image en AVIF ou WebP selon le réglage choisi (Lossless, Lossy ou WebP), et met en cache le résultat sur son réseau de périphérie. Le serveur d’origine ne voit jamais passer les images optimisées : il continue de servir les fichiers bruts, et c’est Cloudflare qui absorbe le coût de calcul.

Le test : méthode et résultats
Nous avons régénéré 12 000 images représentatives (photos d’événements, logos, visuels de campagnes) avec wp media regenerate --yes côté natif, puis purgé et rechargé les mêmes URL à travers Polish. Voici ce que nous avons mesuré sur cet échantillon :
| Critère | AVIF natif WP 6.5 | Cloudflare Polish |
|---|---|---|
| Gain de poids moyen | 24 % | 31 % |
| Temps pour 12 000 images | 6 h 40 (charge CPU serveur) | quasi instantané (charge à l’edge) |
| Espace disque supplémentaire | +18 % (fichiers dupliqués) | 0 (rien de stocké en origine) |
| Dépendance | Imagick/GD à jour | abonnement Cloudflare Pro ou + |
Pourquoi Polish gagne sur le poids, mais pas sur tout
L’écart de compression en faveur de Polish s’explique par son encodeur, plus agressif par défaut sur les photos, alors que WordPress reste prudent pour préserver la qualité perçue sur les logos et captures d’écran. Sur cette médiathèque très hétérogène, Polish a mieux tiré parti des photos d’événements pendant que l’AVIF natif restait plus fidèle sur les visuels avec texte.
- Polish évite totalement la charge de conversion sur le serveur d’origine.
- L’AVIF natif reste disponible même si le CDN est désactivé ou changé.
- Polish nécessite un plan Cloudflare payant pour l’AVIF (le WebP seul est inclus dans certains plans).
- La régénération native peut être limitée à un lot avec
wp media regenerate --image_size=largepour étaler la charge.
Le cas des images fraîchement importées
Un point souvent négligé : sur un site qui reçoit en continu de nouveaux visuels (comme celui de notre test, avec des dizaines d’antennes qui publient chaque semaine), la fraîcheur du contenu change la donne. Polish reconvertit à la première requête après upload, avec un léger délai de propagation du cache. L’AVIF natif, lui, génère le fichier dès l’upload, donc il est disponible immédiatement, y compris si le cache CDN est froid.
Sur un site à publication continue, nous recommandons désormais de garder la conversion native activée même quand Polish tourne en parallèle : elle sert de filet de sécurité si le cache CDN est purgé un jour de forte affluence.
Coût réel sur la durée
Sur ce projet, le calcul économique a fini par trancher. La régénération native, une fois faite, ne coûte plus rien tant que la bibliothèque ne grossit pas massivement. Polish, en revanche, facture indirectement via le palier d’abonnement Cloudflare nécessaire pour activer l’AVIF, un coût récurrent qui grimpe avec le nombre de sites gérés en multisite ou en parc.
Notre verdict
Pour une médiathèque de cette taille, la combinaison des deux a été retenue : Polish en première ligne pour le gain de poids sur les photos, AVIF natif en secours pour la fraîcheur et l’indépendance vis-à-vis du CDN. Si un seul choix devait être fait, la native l’emporte pour un site qui change souvent de fournisseur d’hébergement ou de CDN ; Polish reste imbattable pour qui a déjà l’abonnement Cloudflare et veut zéro charge serveur.