Site WordPress lent : comment passer de 2 minutes à quelques secondes
Le point de départ
Récemment, j'ai repris un site WordPress qui mettait une à deux minutes à s'afficher. En regardant de plus près, rien d'exceptionnel : une vingtaine d'extensions installées au fil des années, dont la moitié ne servait plus, et des images envoyées directement depuis l'appareil photo, à 2 ou 4 Mo chacune.
C'est le scénario le plus courant. Un site WordPress ne devient pas lent d'un coup : il s'alourdit petit à petit, une extension et une image à la fois. La bonne nouvelle, c'est qu'il se répare avec une méthode simple, dans cet ordre.
Le principe : on ne cherche pas l'astuce miracle. On mesure, on retire ce qui est inutile, on allège ce qui reste, et seulement ensuite on ajoute du cache. Mettre un plugin de cache sur un site trop lourd, c'est mettre un pansement sur une fracture.
1. Mesurer avant de toucher à quoi que ce soit
Sans mesure de départ, impossible de savoir si une modification a vraiment servi. Je note toujours les mêmes indicateurs sur deux ou trois pages clés (accueil, une page de contenu, une page avec beaucoup d'images) :
| Outil | Ce qu'il apporte |
|---|---|
| PageSpeed Insights | Les Core Web Vitals (LCP, CLS, INP), sur mobile et sur ordinateur |
| Onglet Réseau du navigateur | Le poids total de la page et les fichiers les plus lourds |
| Query Monitor (extension) | Les requêtes SQL lentes et les extensions qui ralentissent le serveur |
Les deux chiffres les plus parlants : le poids total de la page et le LCP (le temps d'affichage du plus gros élément visible). Ce sont eux qu'on veut voir baisser.
2. Faire le tri dans les extensions
Chaque extension ajoute potentiellement des fichiers CSS et JavaScript sur toutes les pages, des requêtes à la base de données, et des tâches qui tournent en arrière-plan. Pour chacune, je pose trois questions :
- Est-elle encore utilisée ? Beaucoup ont été installées pour un besoin ponctuel, puis oubliées.
- Fait-elle doublon ? Deux extensions de SEO, trois constructeurs de formulaires...
- Peut-on s'en passer ? Certaines fonctions sont maintenant natives dans WordPress, comme le chargement différé des images.
Désactiver une extension n'est pas la supprimer : certaines laissent des tables et des options dans la base de données. Fais toujours une sauvegarde complète (fichiers + base) avant ce tri, et teste le site après chaque désactivation.
Sur le site en question, l'historique était tel que j'ai choisi une option plus radicale : repartir d'une installation WordPress propre, en reprenant fidèlement le design et les contenus, puis en réinstallant uniquement les extensions vraiment nécessaires. Plus long au départ, mais on élimine d'un coup des années de résidus.
3. Optimiser les images
C'est presque toujours là que se cache le plus gros gain. Une photo de 4 Mo affichée dans un bloc de 600 pixels de large, c'est 95 % de données téléchargées pour rien.
❌ Image brute
- JPEG de 4 Mo, 6000 px de large
- Affichée en 600 px
- Téléchargée en entier, même sur mobile
✅ Image optimisée
- WebP d'environ 80 Ko
- Redimensionnée à 2× sa taille d'affichage
- Chargée seulement quand elle approche de l'écran
Concrètement :
- Redimensionner les images à environ deux fois leur taille d'affichage maximale (pour les écrans haute densité), pas plus.
- Compresser et convertir en WebP, avec une extension d'optimisation qui traite aussi les images déjà présentes dans la médiathèque.
- Vérifier le chargement différé : WordPress ajoute
loading="lazy"automatiquement, sauf sur l'image principale en haut de page, qui doit justement se charger le plus vite possible.
4. Ajouter du cache, maintenant seulement
Une fois le site allégé, le cache prend tout son sens. Au lieu de recalculer chaque page en PHP à chaque visite, le serveur sert une version déjà prête.
- Cache de pages : le plus important pour un site vitrine. Si ton hébergeur utilise LiteSpeed (c'est le cas chez Hostinger), l'extension LiteSpeed Cache est la plus efficace, car elle travaille directement avec le serveur.
- Minification et regroupement des fichiers CSS et JS : à activer une option à la fois, en testant le site entre chaque, car c'est ce qui casse le plus souvent l'affichage.
- Cache navigateur : pour que les visiteurs ne retéléchargent pas le logo et les polices à chaque page.
5. Vérifier les fondations
Quelques réglages côté serveur et base de données, rapides à faire et souvent oubliés :
- Une version de PHP récente (8.2 ou plus), à choisir dans le panneau de l'hébergeur. Les versions récentes sont nettement plus rapides que les anciennes.
- Un thème léger. Un thème « tout-en-un » qui charge des dizaines de fonctionnalités inutilisées pèse sur toutes les pages.
- Limiter les révisions d'articles, qui s'accumulent dans la base de données :
// wp-config.php
define( 'WP_POST_REVISIONS', 5 );
En résumé
| Étape | Pourquoi |
|---|---|
| Mesurer | Savoir d'où on part et prouver ce qui a fonctionné |
| Trier les extensions | Retirer du code chargé sur chaque page pour rien |
| Optimiser les images | Le gain le plus important, en poids comme en temps |
| Ajouter du cache | Servir des pages prêtes au lieu de les recalculer |
| Vérifier les fondations | PHP récent, thème léger, base de données propre |
Résultat sur ce projet : un chargement passé d'environ deux minutes à quelques secondes, sans changer une seule ligne du design. Et un site qu'il est de nouveau agréable de maintenir — ce qui compte autant que la vitesse.
