Un site WordPress lent fait fuir les visiteurs et pénalise le référencement. Avant de tout réécrire ou de changer de thème, il vaut mieux mesurer où le temps est réellement perdu : dans la grande majorité des cas, le problème vient de l’une des cinq causes ci-dessous. Pour chacune, voici comment la repérer et la corriger.

Commencer par mesurer

Deux chiffres suffisent pour orienter le diagnostic :

curl -o /dev/null -s -w "TTFB : %{time_starttransfer} s\n" https://votre-site.tn/

Sur une copie du site, l’extension Query Monitor détaille ensuite les requêtes SQL et le temps passé par chaque extension.

1. Un hébergement mutualisé sous-dimensionné

Sur un hébergement mutualisé bas de gamme, votre site partage le processeur et la mémoire avec des dizaines d’autres. Un test simple consiste à mesurer le temps de réponse d’une page HTML statique, sans WordPress : s’il dépasse déjà 300 à 400 ms, le problème est à la source, avant même d’ouvrir WordPress.

2. Trop d’extensions, ou des extensions mal codées

Chaque extension active ajoute des requêtes, du JavaScript et parfois des appels à des services externes. Ce n’est pas le nombre d’extensions qui compte, mais leur qualité : deux ou trois extensions mal écrites font plus de dégâts que quinze bien codées.

3. Des images trop lourdes

Une photo de 4 Mo affichée en 600 pixels de large gaspille de la bande passante pour rien.

4. Aucun système de cache

Sans cache, WordPress régénère chaque page à chaque visite : il interroge la base de données, exécute le PHP, assemble le HTML. Plusieurs niveaux se complètent :

Sur une boutique WooCommerce, le panier, la commande et le compte client doivent être exclus du cache de pages, sinon les clients verraient le panier d’un autre.

5. Une base de données qui a grossi sans entretien

Au fil des années, la base accumule des révisions d’articles, des données temporaires (transients) expirées et des réglages laissés par des extensions désinstallées. Certains de ces réglages sont chargés à chaque page : ce sont les options « autoload ». Pour voir les plus lourdes :

SELECT option_name, LENGTH(option_value) AS taille
FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto', 'auto-on')
ORDER BY taille DESC
LIMIT 10;

Tout nettoyage de la base se fait après une sauvegarde vérifiée : voir la règle des sauvegardes que presque personne ne respecte.

Dans quel ordre corriger

Traitez les causes dans cet ordre : hébergement, cache, images, extensions, base de données. Corriger les extensions avant d’avoir un hébergement correct, par exemple, donne des résultats décevants et fait perdre du temps. Et mesurez à nouveau après chaque étape, pour savoir ce qui a vraiment eu un effet.

La check-list

  1. Mesurer le temps de réponse serveur et le score PageSpeed mobile.
  2. PHP 8 récent, OPcache activé, hébergement adapté au trafic.
  3. Cache de pages actif, avec les bonnes exclusions pour WooCommerce.
  4. Images redimensionnées, compressées, en WebP, avec largeur et hauteur.
  5. Extensions inutiles supprimées, extensions lentes identifiées et remplacées.
  6. Révisions limitées, données temporaires et options orphelines nettoyées, après sauvegarde.
  7. Mesurer à nouveau.

Pour aller plus loin : mon expertise : Développeur WordPress freelance · à lire aussi : WordPress ou builder tout-en-un : que choisir pour un site professionnel ?