Compresser les ressources texte (gzip, Brotli)
Activez gzip et Brotli pour réduire fortement le poids de vos fichiers texte, accélérer le chargement et soutenir vos Core Web Vitals.
La compression de texte consiste à encoder vos fichiers avec moins de bits avant de les envoyer au navigateur, qui les décompresse à la réception. Appliquée au HTML, au CSS et au JavaScript, elle réduit de manière significative le volume de données transférées sur le réseau, sans rien retirer au contenu réel des fichiers.
Le principe est simple : les algorithmes repèrent les motifs répétés dans le texte et les remplacent par des représentations plus courtes. Pour le SEO, le bénéfice est direct : des ressources plus légères se téléchargent plus vite, surtout lorsque vous pensez d’abord à minifier les ressources texte, ce qui accélère l’affichage et améliore les Core Web Vitals, notamment le LCP.
J’insiste sur un point d’ordre : compressez après avoir minifié, jamais l’inverse, et vérifiez toujours que Brotli est réellement actif côté serveur. Trop de sites croient compresser leurs ressources alors que les en-têtes prouvent le contraire, et personne ne s’en aperçoit avant un audit. Sur des fichiers texte volumineux, c’est un gain immédiat qui ne coûte presque rien à mettre en place.
gzip et Brotli : les deux algorithmes de référence
gzip et Brotli sont les deux algorithmes les plus répandus pour les ressources textuelles. Tous les navigateurs modernes les prennent en charge et annoncent leur compatibilité via l’en-tête de requête Accept-Encoding. C’est ensuite au serveur d’être configuré pour servir la version compressée lorsque le client la demande.
Dans la pratique, gzip et Brotli atteignent souvent des taux de compression de 70 à 90 % sur les fichiers volumineux. Brotli est généralement plus efficace que gzip : la recommandation officielle est de privilégier Brotli dès que possible, en gardant gzip comme solution de secours.
Régler le niveau de compression
Les deux algorithmes acceptent un réglage de niveau qui arbitre entre taux de compression et temps de traitement. Pour gzip, l’échelle va de 1 à 9. Pour Brotli, elle va de 0 à 11. Plus le niveau est élevé, meilleure est la compression, mais plus le calcul est long.
Le bon réglage dépend du mode de compression, à articuler avec la mise en cache de longue durée pour les fichiers stables. En compression dynamique (au moment de la requête), un niveau intermédiaire offre le meilleur compromis. En compression statique (à l’avance), vous pouvez choisir le niveau le plus agressif, puisque le calcul n’impacte pas le temps de réponse.
Des gains concrets sur des bibliothèques connues
Les données publiées par Google montrent l’ampleur des économies réalisables sur des bibliothèques JavaScript populaires, au niveau de compression maximal. Le tableau ci-dessous illustre l’avantage régulier de Brotli sur gzip.
| Fichier | Algorithme | Taux de compression |
|---|---|---|
angular-1.8.3.js |
Brotli |
81 % |
angular-1.8.3.js |
gzip |
76 % |
jquery-3.7.1.js |
Brotli |
77 % |
jquery-3.7.1.js |
gzip |
73 % |
lodash-4.17.21.js |
Brotli |
86 % |
lodash-4.17.21.js |
gzip |
82 % |
Vérifier et activer la compression
De nombreux serveurs activent la compression des ressources textuelles par défaut, et les CDN la gèrent généralement automatiquement, y compris en versions dynamique et statique. Pour vérifier qu’elle fonctionne, ouvrez l’onglet Réseau des outils de développement de Chrome et comparez la taille de transfert à la taille réelle des ressources ; c’est aussi là que se mesurent les gains liés à la réponse HTML du serveur.
Si vous configurez vous-même le serveur, l’exemple ci-dessous active Brotli avec un repli gzip. Pensez à fixer un seuil minimal de taille de fichier : sous quelques kilo-octets, la compression apporte peu, voire alourdit la ressource.
# Brotli (module ngx_brotli)
brotli on;
brotli_comp_level 11;
brotli_types text/html text/css application/javascript image/svg+xml;
# Repli gzip
gzip on;
gzip_comp_level 6;
gzip_min_length 1024;
gzip_types text/html text/css application/javascript image/svg+xml;
Appliquer gzip ou Brotli à des fichiers déjà compressés, comme les images JPEG ou PNG, n’apporte aucun gain et gaspille des ressources serveur. Réservez la compression de texte au HTML, au CSS, au JavaScript et au SVG. Pour les très petits fichiers, un seuil minimal évite que la compression n’augmente la taille au lieu de la réduire.
À faire
- privilégier Brotli avec gzip en secours
- régler un niveau adapté au mode dynamique ou statique
- vérifier la compression dans l’onglet Réseau
- déléguer la compression à un CDN si possible
À éviter
- compresser des images déjà compressées
- compresser dynamiquement avec un niveau trop élevé
- oublier le repli gzip
- négliger les très petits fichiers
Points clés à retenir
- Activez la compression sur tous vos fichiers HTML, CSS et JavaScript
- Privilégiez Brotli, avec gzip comme solution de secours
- Réglez le niveau selon une compression dynamique ou statique
- Évitez de compresser les ressources déjà compressées
- Vérifiez la taille de transfert dans les outils de développement
La compression de texte réduit fortement le poids transféré.
Quiz : testez vos connaissances
Quiz : testez vos connaissances
-
Comment le navigateur annonce-t-il au serveur les algorithmes de compression qu'il accepte ?
- Via l'en-tête Content-Type
- Via l'en-tête de requête Accept-Encoding
- Via l'attribut compress de la balise script
Les navigateurs modernes annoncent leur compatibilité avec gzip et Brotli via l’en-tête de requête
Accept-Encoding. C’est ensuite au serveur de servir la bonne version. -
Est-il utile d'appliquer gzip ou Brotli à des images JPEG ou PNG ?
- Oui, cela réduit encore fortement leur poids
- Non, ces fichiers sont déjà compressés, le gain est nul et gaspille des ressources serveur
- Oui, c'est même indispensable pour les images
Appliquer gzip ou Brotli à des fichiers déjà compressés comme les JPEG ou PNG n’apporte aucun gain et gaspille des ressources serveur. La compression de texte se réserve au HTML, CSS et JavaScript.
-
Quel algorithme privilégier pour les ressources texte ?
- gzip seul, Brotli n'étant pas pris en charge
- Brotli, avec gzip en solution de secours
- Peu importe, les deux donnent exactement le même résultat
Il vaut mieux privilégier Brotli, généralement plus efficace que gzip, tout en conservant gzip en repli pour les cas où Brotli n’est pas disponible.
Besoin d'un accompagnement SEO ?
Vos ressources texte sont-elles servies compressées avec le bon algorithme ?