Aller au contenu principal
Questions et réponses sur l'hébergement web

Accélérer un site WordPress lent, du serveur web aux images

Un WordPress pas assez rapide souffre presque toujours de quatre causes : aucun plugin de cache, un plugin lourd, des images non optimisées ou un serveur web trop juste. Mesurer la vitesse du site avec Google PageSpeed Insights avant d'optimiser WordPress évite d'utiliser des solutions inutiles.

Diagnostic d'un site WordPress lent. Le temps de réponse du serveur dit si l'hébergement traîne ; PageSpeed Insights mesure le temps de chargement, le poids des images et des fichiers CSS ; Query Monitor désigne le plugin ou le thème qui consomme le plus.

Un blog WordPress devient rapide d'abord avec la mise en cache de page et une version récente du langage serveur ; une boutique gagne plutôt avec Redis et un hébergeur WordPress installé en France dimensionné pour son trafic.

Quelles sont les causes d'un site WordPress lent ?

Un site WordPress est lent pour une raison mesurable, rarement pour une seule. WordPress est un système de gestion de contenu open source qui fabrique chaque page à la demande : le serveur lit le thème, exécute les plugins, interroge MySQL, puis envoie le HTML au navigateur, qui télécharge à son tour images, fichiers CSS et scripts. Chaque maillon peut ralentir votre site.

  • Absence de mise en cache : sans copie HTML prête à servir, le serveur recalcule chaque page à chaque visite, même pour un article publié il y a trois ans.
  • Plugin trop nombreux ou mal codés : le problème vient moins du nombre que de la qualité ; une seule extension qui lance des requêtes lentes suffit à doubler le temps de génération.
  • Thème volumineux : constructeurs de pages, curseurs animés, polices multiples et bibliothèques chargées partout alourdissent toutes les pages, y compris celles qui n'en ont pas besoin.
  • Images lourdes : des photos envoyées telles qu'elles sortent de l'appareil, à plusieurs mégaoctets, restent la cause la plus fréquente d'un affichage lent sur mobile.
  • Hébergement pas assez puissant : une offre mutualisée saturée, une mémoire allouée trop faible ou un serveur éloigné des visiteurs plafonnent la vitesse, quels que soient les réglages côté WordPress.

Ces causes se combinent. Un blog WordPress modeste peut tourner vite sur une offre d'entrée de gamme, alors qu'une boutique avec panier et espace membre demande des ressources que la même formule ne fournit pas.

Sur un même WordPress, ces causes se repèrent dans un ordre précis : d'abord le serveur, ensuite les plugins et le thème, enfin les images et les scripts. Utiliser cet ordre évite d'optimiser WordPress côté navigateur alors que la lenteur vient de la génération du HTML, erreur fréquente sur les sites WordPress qui empilent les plugins d'optimisation.

Mesurer la vitesse de votre site avant de toucher aux réglages

La vitesse d'un site WordPress se mesure avec des outils gratuits, et la mesure tranche entre deux lenteurs qui se confondent. La première vient du serveur : il met longtemps à produire la page, ce qui se lit dans le temps de réponse initial (TTFB) affiché par l'onglet Réseau des outils de développement du navigateur. La seconde vient du navigateur, qui doit télécharger et afficher trop de fichiers.

Google PagespeedInsights, plus connu sous le nom de PageSpeed Insights, distingue les deux et affiche les Core Web Vitals relevés auprès de vrais visiteurs sur Chrome. Selon les seuils publiés par Google sur web.dev, l'affichage du plus grand élément (LCP) doit rester sous 2,5 secondes, la réactivité aux clics (INP) sous 200 millisecondes et le décalage visuel (CLS) sous 0,1. Le score PageSpeed sur 100 n'est qu'une synthèse de laboratoire : une note moyenne sur mobile avec de bons Core Web Vitals réels vaut mieux que l'inverse.

OutilCe qu'il mesureQuand l'utiliser
PageSpeed InsightsCore Web Vitals réels et audit de laboratoire, mobile et ordinateurPremier bilan, puis contrôle après chaque changement
GTmetrixCascade de chargement ressource par ressource, depuis plusieurs régions du mondeRepérer la ressource qui bloque l'affichage
Query MonitorRequêtes SQL, appels externes et durée de génération, par composantDésigner le plugin ou le thème qui ralentit le serveur
Onglet Réseau du navigateurTTFB et poids de chaque ressourceVérifier directement si la copie HTML est servie

Une mesure se répète trois fois, à des heures différentes, avant d'en tirer une conclusion : l'occupation d'un serveur mutualisé varie au cours de la journée.

Un hébergement web pas assez puissant pour le site

Le serveur fixe le plancher du temps de chargement d'un site WordPress : aucun réglage ne compense un serveur saturé. Un temps de réponse initial qui dépasse régulièrement une seconde, même sur une page servie d'avance, désigne l'infrastructure plutôt que WordPress.

Version du langage serveur et OPcache

La version de PHP joue directement sur la vitesse de génération des pages. WordPress.org recommande PHP 8.3 ou plus, avec MySQL 8.0 ou MariaDB 10.11 au minimum ; une branche ancienne est plus lente et ne reçoit plus de correctifs de sécurité. Le changement de version se fait le plus souvent depuis le panneau de l'hébergeur, après avoir vérifié la compatibilité du thème et des plugins sur une copie. OPcache, l'accélérateur intégré au langage, garde le code compilé en mémoire : il doit être actif, ce que confirme l'outil Santé du site dans le tableau de bord.

Redis, Memcached et mémoire

Un cache d'objets persistant (Redis ou Memcached) conserve les résultats des requêtes fréquentes. La solution sert surtout aux boutiques et aux sites avec espace membre, dont les contenus personnalisés échappent à la copie HTML. La mémoire allouée compte aussi : une lenteur accompagnée d'une erreur Allowed memory size exhausted signale une limite trop basse ou un plugin gourmand.

Pour un public lointain, un CDN (content delivery network) copie les fichiers statiques sur des serveurs répartis dans le monde ; il n'accélère pas la génération des pages, seulement leur livraison.

Plugin de cache : la mise en cache de page en pratique

Un plugin de cache enregistre la page HTML générée et la sert telle quelle aux visiteurs suivants, sans relancer le code ni MySQL. Sur un site de contenu, c'est le gain le plus net. Certains hébergeurs fournissent leur propre système au niveau du serveur, ce qui rend un plugin supplémentaire inutile, voire nuisible en cas de double couche.

ExtensionModèleParticularité
WP RocketPayantRéglages prêts à l'emploi, différé des scripts et préchargement inclus
LiteSpeed CacheGratuitComplet sur un serveur LiteSpeed, limité ailleurs
W3 Total CacheGratuit, options payantesTrès paramétrable, réservé à qui sait lire chaque option
WP Super CacheGratuitSimple, maintenu par Automattic, centré sur les pages statiques

Un seul plugin de ce type doit rester actif sur WordPress. Le panier, la page de commande et le compte client doivent être exclus de la copie, faute de quoi un client risque de voir le panier d'un autre.

Trop d'extensions ou un thème trop chargé ?

Query Monitor répond à la question en quelques minutes : pour chaque URL, le plugin affiche les requêtes SQL, leur durée et le composant qui les a lancées. Une requête de plusieurs centaines de millisecondes désigne aussitôt le coupable. Sans lui, la technique consiste à désactiver les plugins un à un sur une copie du site et à mesurer après chaque essai.

Un thème bourré de constructeurs de pages coûte souvent davantage qu'une dizaine de petites extensions bien écrites. Les modules de statistiques, de partage social ou de sauvegarde qui travaillent pendant les visites figurent parmi les plus gourmands ; une sauvegarde se programme la nuit. Le meilleur ménage reste la suppression : un plugin désactivé mais installé ne ralentit rien, mais il doit recevoir ses correctifs de sécurité tant qu'il reste sur le serveur.

Les commentaires WordPress pèsent aussi : un fil long, avec avatars Gravatar chargés depuis un service externe, ajoute des dizaines de requêtes. Paginer les commentaires dans Réglages, Discussion allège ces pages.

Optimiser les images sans perdre en qualité

Optimiser les images reste l'action la plus rentable côté navigateur, car des images non optimisées représentent souvent la majorité du poids d'une page. Trois réglages suffisent dans la plupart des cas.

  1. Redimensionner avant l'envoi : une photo de 4000 pixels de large affichée sur 800 pixels gaspille de la bande passante, surtout sur mobile.
  2. Choisir le format WebP ou AVIF : WordPress accepte le WebP depuis la version 5.8 et l'AVIF depuis la 6.5, à condition que la bibliothèque d'images du serveur les gère. Une extension de compression convertit les images déjà envoyées.
  3. Garder le lazy loading pour le bas de page : WordPress sait déjà charger les images en différé de façon native depuis la version 5.5 ; l'image principale du haut de page ne doit pas l'être, puisque c'est elle qui détermine le LCP.

Les vidéos en lecture automatique et les images d'arrière-plan en pleine largeur méritent le même examen : une vidéo hébergée sur une plateforme externe, affichée sous forme de vignette cliquable, ne pèse presque rien tant que personne ne la lance.

CSS et JavaScript, polices et compression

Les fichiers CSS et JavaScript bloquent l'affichage tant que le navigateur ne les a pas lus. Beaucoup d'extensions chargent leurs scripts sur toutes les pages, même là où elles ne servent pas : un formulaire de contact présent sur une seule page injecte parfois son code sur tout le site. Des outils comme Asset CleanUp ou Perfmatters désactivent ces scripts page par page.

  • Différer les scripts non essentiels pour que le texte apparaisse d'abord.
  • Limiter les polices web à deux familles et à quelques graisses, hébergées sur le même nom de domaine que le site plutôt que chez un tiers.
  • Vérifier que la compression Gzip ou Brotli est active sur le serveur web : l'onglet Réseau l'indique dans les en-têtes HTTP.
  • Se méfier de la concaténation des fichiers, utile autrefois et souvent sans effet avec HTTP/2.

La minification retire espaces et commentaires du code CSS et JavaScript ; WP Rocket, LiteSpeed Cache et Autoptimize la proposent. Un WordPress rapide n'utilise pas toutes ces options à la fois : chaque réglage se teste sur une copie, car différer un script mal choisi casse un menu ou un formulaire.

Base de données, révisions et tâches planifiées

La base de données d'un WordPress s'encombre au fil des années. Les révisions d'articles s'accumulent sans limite par défaut ; une ligne dans wp-config.php en fixe le nombre, et une seconde coupe le pseudo-cron déclenché par les visites :

define('WP_POST_REVISIONS', 5);
define('DISABLE_WP_CRON', true);

La seconde ligne suppose de créer une tâche planifiée dans la crontab du serveur qui appelle wp-cron à intervalle régulier ; sans elle, les publications programmées et les envois automatiques ne partent plus. Les options chargées automatiquement (autoload) laissées par d'anciennes extensions alourdissent chaque page : l'outil Santé du site signale quand leur volume devient excessif, et une extension de nettoyage les supprime après sauvegarde.

Quand c'est l'administration qui rame, pas le site public

Un back-office WordPress lent alors que les visiteurs ne se plaignent de rien relève d'autres causes, que les guides consacrés à la vitesse du site public oublient souvent. La copie HTML ne s'applique jamais aux utilisateurs connectés : chaque écran du tableau de bord est généré à neuf, ce qui met à nu la lenteur du serveur.

  • L'API Heartbeat interroge le serveur toutes les quinze à soixante secondes tant qu'un onglet d'administration reste ouvert ; plusieurs rédacteurs connectés multiplient ces appels sur une offre mutualisée.
  • Les appels externes d'extensions qui vérifient une licence ou des nouveautés chez leur éditeur bloquent l'écran si ce service répond mal ; Query Monitor les liste dans sa section HTTP.
  • L'éditeur de blocs (Gutenberg) exécute davantage de code que l'ancien éditeur ; sur un ordinateur ancien, la lenteur vient du navigateur et non du serveur.

Un WordPress utilisé par plusieurs rédacteurs gagne à limiter Heartbeat à l'écran d'édition, réglage que proposent le plugin Heartbeat Control et WP Rocket.

Avant de modifier un site en production

Chaque réglage décrit plus haut peut casser un affichage, surtout la mise en cache sur un panier ou un formulaire. Une maintenance WordPress sérieuse suit quelques étapes clés : sauvegarde complète des fichiers et de la base, essai sur une copie, puis vidage de toutes les copies stockées après chaque changement, pour mesurer honnêtement l'effet obtenu. Un seul réglage à la fois permet de savoir lequel a produit le gain, ou le problème. Les autres sujets liés au CMS, de la sécurité aux nouvelles versions, sont regroupés dans la rubrique CMS de R7.

WordPress lent malgré le cache : les cas qui résistent

Pourquoi PageSpeed Insights donne-t-il un score différent à chaque test ?

Le score de laboratoire de PageSpeed Insights varie de quelques points d'un test à l'autre, car il dépend de la charge du serveur et du réseau au moment de la mesure. Les Core Web Vitals issus des vrais visiteurs, calculés sur 28 jours, sont plus stables et font foi.

Un site rapide améliore-t-il le référencement ?

Un WordPress rapide aide le référencement sans le décider : Google intègre les Core Web Vitals à ses signaux d'expérience de page, mais la pertinence du contenu pèse davantage pour le SEO. La vitesse agit surtout sur les visiteurs qui abandonnent une page trop longue à s'afficher, et donc sur le taux de conversion.

Faut-il changer d'hébergeur ou optimiser WordPress d'abord ?

Optimiser WordPress d'abord coûte moins et renseigne sur la suite : si le temps de réponse reste élevé une fois la copie HTML active, le thème allégé et les extensions triées, la formule souscrite atteint sa limite et une nouvelle version de l'abonnement, ou un autre prestataire, devient la seule solution.

Sources : WordPress.org, configuration requise ; documentation de WordPress pour les développeurs, optimisation des performances et fichier de configuration ; Google, web.dev, seuils des signaux Web Vitals.

Dernières réponses

Questions proches

▲