La section "Opportunités" de votre rapport Lighthouse indique le temps de réponse du serveur, c'est-à-dire le temps nécessaire au navigateur d'un utilisateur pour recevoir le premier octet du contenu de la page, après avoir envoyé la requête:
La lenteur des temps de réponse du serveur affecte les performances
Cet audit échoue lorsque le navigateur attend plus de 600 ms que le serveur réponde à la demande de document principale. Les utilisateurs n'aiment pas que les pages mettent beaucoup de temps à se charger. La lenteur de réponse du serveur peut être à l'origine du chargement trop long des pages.
Lorsque les utilisateurs accèdent à une URL dans leur navigateur Web, celui-ci envoie une requête réseau pour récupérer ce contenu. Votre serveur reçoit la demande et renvoie le contenu de la page.
Le serveur peut avoir besoin d'effectuer un travail considérable pour renvoyer une page avec tout le contenu souhaité par les utilisateurs. Par exemple, si les utilisateurs consultent l'historique de leurs commandes, le serveur doit extraire l'historique de chaque utilisateur d'une base de données, puis insérer ce contenu dans la page. Optimiser le serveur pour qu'il effectue ce travail le plus rapidement possible est un moyen de réduire le temps que les utilisateurs passent à attendre le chargement des pages.
Même lorsque le serveur n'a pas besoin d'effectuer beaucoup de travail, la latence du réseau entre le client et le serveur peut ralentir les temps de réponse du serveur.
Améliorer les temps de réponse du serveur
La première étape pour améliorer les temps de réponse du serveur consiste à identifier les principales tâches conceptuelles que votre serveur doit effectuer pour renvoyer le contenu de la page, puis à mesurer la durée de chacune de ces tâches. Une fois que vous avez identifié les tâches les plus longues, cherchez comment les accélérer.
La lenteur des réponses du serveur peut avoir de nombreuses causes, et donc de nombreuses méthodes d'amélioration possibles:
- Optimiser la logique d'application du serveur pour préparer les pages plus rapidement Si vous utilisez un framework de serveur, celui-ci peut proposer des recommandations sur la façon de procéder.
- Optimisez la façon dont votre serveur interroge les bases de données ou migrez vers des systèmes de base de données plus rapides.
- Mettez à niveau le matériel de votre serveur pour obtenir plus de mémoire ou de processeur.
Utilisez un CDN pour réduire la latence du réseau. Cette approche est particulièrement efficace si le document peut être mis en cache au niveau du nœud périphérique du CDN.
Pour en savoir plus, consultez le guide TTC Optimize.
Conseils spécifiques aux piles
Drupal
Les thèmes, les modules et les spécifications du serveur sont autant d'éléments qui influent sur le temps de réponse du serveur. Pensez à trouver un thème plus optimisé, à sélectionner soigneusement un module d'optimisation ou à mettre à niveau votre serveur. Vos serveurs d'hébergement doivent utiliser la mise en cache du code d'opération PHP, des systèmes de mise en cache de la mémoire tels que Memcached ou Redis pour réduire le temps d'interrogation de la base de données, ainsi qu'une logique d'application optimisée pour préparer les pages plus rapidement.
Magento
Utilisez l'intégration de Varnish de Magento.
React
Si vous effectuez un rendu côté serveur de composants React, envisagez d'utiliser renderToNodeStream()
ou renderToStaticNodeStream()
pour permettre au client de recevoir et d'hydrater différentes parties du balisage au lieu de toutes les utiliser en même temps.
WordPress
Choisissez un thème léger (idéalement un thème de blocs) et implémentez la mise en cache pleine page ou une solution pour site statique. Désactivez les plug-ins inutiles afin de réduire la surcharge du serveur.
Envisagez de passer à un service géré ou dédié pour votre hébergement.