Optimiser la réponse HTML du serveur (TTFB)
Réduisez le temps de réponse serveur de votre site : redirections, cache, compression et CDN pour un TTFB plus rapide et un meilleur SEO.
Toute page web commence par une requête vers le serveur pour récupérer son document HTML. La vitesse à laquelle ce document arrive conditionne tout le reste du chargement. On mesure cette rapidité avec le TTFB (Time To First Byte), c’est-à-dire le temps écoulé avant que le navigateur reçoive le premier octet de la réponse.
Un TTFB élevé n’est pas la seule métrique à surveiller, mais il rend nettement plus difficile l’atteinte des bons seuils pour le LCP et le FCP. Optimiser la réponse HTML du serveur est donc un levier SEO majeur, à replacer dans les fondamentaux de la performance : c’est la première étape qui détermine si votre page part sur de bonnes bases.
Le TTFB est l’angle mort classique des audits SEO : on s’acharne sur les images et le JavaScript alors que le serveur met une seconde à cracher le premier octet. Quand votre document HTML arrive en retard, vous plombez le LCP et le FCP avant même que le navigateur ait commencé à travailler. Mon réflexe de départ, c’est toujours de mesurer la réponse serveur avant tout le reste.
Limiter le nombre de redirections
Les redirections ralentissent le chargement car elles obligent le navigateur à effectuer une requête supplémentaire vers le nouvel emplacement. On distingue les redirections de même origine, entièrement sous votre contrôle puisque la logique réside sur votre serveur, et les redirections multi-origines, souvent initiées par des services tiers comme les annonces ou les raccourcisseurs d’URL.
Veillez à éviter les chaînes de redirections, par exemple une page HTTP qui redirige vers son équivalent HTTPS, lui-même soumis à une nouvelle redirection. Dans vos liens internes, pointez toujours directement vers l’URL finale plutôt que vers une page qui répond par une redirection.
Mettre en cache les réponses HTML
Mettre en cache le HTML est délicat car la réponse référence souvent des ressources critiques (CSS, JavaScript, images) dont le nom de fichier change à chaque déploiement. Un HTML mis en cache trop longtemps risque donc de pointer vers des sous-ressources obsolètes.
Une durée de cache courte reste néanmoins préférable à l’absence totale de cache : cinq minutes pour du HTML statique constituent une valeur sûre. Pour un contenu personnalisé (utilisateur authentifié), mieux vaut ne pas mettre en cache du tout. Une approche prudente consiste à s’appuyer sur le cache HTTP et à utiliser les en-têtes ETag ou Last-Modified pour permettre une revalidation économique.
Les en-têtes de validation du cache
L’en-tête ETag est un identifiant unique de la ressource, souvent basé sur un hachage de son contenu. Lors des requêtes suivantes, le navigateur renvoie cette valeur via l’en-tête If-None-Match. Si elle correspond, le serveur répond par un 304 Not Modified, bien plus léger qu’une page HTML complète.
| En-tête | Rôle | Bénéfice |
|---|---|---|
ETag |
Identifiant unique du contenu de la ressource |
Permet une réponse 304 légère si rien n’a changé |
Last-Modified |
Date et heure de dernière modification |
Alternative simple à ETag pour la revalidation |
Server-Timing |
Détail du temps passé côté serveur |
Diagnostiquer un TTFB lent sur le terrain |
Mesurer la réponse serveur et activer la compression
Le temps de réponse dépend fortement de votre hébergeur et de votre pile applicative. Une page générée dynamiquement (requêtes en base de données) aura souvent un TTFB plus élevé qu’une page statique. L’en-tête Server-Timing aide à identifier les étapes lentes, par exemple l’authentification ou l’accès aux données.
Les réponses textuelles (HTML, CSS, JavaScript, SVG) doivent être compressées pour réduire leur taille de transfert : voyez comment compresser les ressources texte en pratique. Les deux algorithmes les plus utilisés sont gzip et Brotli, ce dernier offrant un gain d’environ 15 à 20 % par rapport à gzip. Voici un exemple d’activation côté serveur.
<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/html text/css application/javascript image/svg+xml
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript image/svg+xml
</IfModule>
La compression dynamique compresse la ressource au moment de la requête, ce qui ajoute une latence : réservez-la au HTML, surtout s’il est généré dynamiquement. La compression statique, réalisée à l’avance, convient aux ressources figées (CSS, JavaScript, SVG) et permet d’utiliser les niveaux de compression les plus agressifs sans pénaliser le temps de réponse.
À faire
- supprimer les chaînes de redirections
- activer Brotli avec gzip en secours
- mesurer le TTFB sur le terrain
- envisager un CDN si vos utilisateurs sont éloignés du serveur
À éviter
- mettre en cache du HTML personnalisé
- lier en interne vers des URL qui redirigent
- négliger l’infrastructure d’hébergement
- compresser dynamiquement des ressources statiques
Points clés à retenir
- Réduisez le nombre de redirections, surtout les chaînes
- Mettez en cache prudemment, avec ETag ou Last-Modified
- Mesurez le temps serveur avec l'en-tête Server-Timing
- Activez Brotli, avec gzip comme solution de secours
- Envisagez un CDN pour rapprocher le contenu de vos utilisateurs
Une réponse HTML rapide est le point de départ d’une page performante.
Quiz : testez vos connaissances
Quiz : testez vos connaissances
-
Que mesure exactement le TTFB ?
- Le temps total de chargement complet de la page
- Le temps entre la requête du navigateur et la réception du premier octet de la réponse
- Le temps d'affichage du plus grand élément visible
Le TTFB (Time To First Byte) mesure le temps écoulé entre la requête du navigateur et la réception du premier octet de la réponse. C’est un indicateur clé de la réponse serveur.
-
Pourquoi limiter les redirections pour améliorer le TTFB ?
- Parce que les redirections augmentent le poids des images
- Parce qu'une redirection compresse mal le HTML
- Parce que chaque redirection oblige le navigateur à faire une requête supplémentaire
Les redirections ralentissent le chargement car elles obligent le navigateur à effectuer une requête supplémentaire vers le nouvel emplacement.
-
Comment l'en-tête ETag allège-t-il les requêtes suivantes ?
- Il compresse automatiquement le HTML à chaque requête
- Si la valeur correspond, le serveur répond par un 304 Not Modified, bien plus léger
- Il supprime toutes les redirections du site
L’ETag est un identifiant unique de la ressource. Si la valeur renvoyée correspond, le serveur répond par un
304 Not Modified, bien plus léger qu’une réponse complète.
Besoin d'un accompagnement SEO ?
Votre serveur met trop de temps à répondre et vous ne savez pas pourquoi ?