ITSkillsCenter
WordPress

WordPress avancé : optimiser les performances

10 min de lecture
WordPress avancé : optimiser les performances

Ce que vous saurez faire à la fin

  1. Mesurer précisément les performances de votre site WordPress avec PageSpeed Insights, GTmetrix et WebPageTest, et interpréter les Core Web Vitals.
  2. Configurer un cache pleine page efficace avec WP Rocket ou LiteSpeed Cache pour passer de 4 secondes à 1,2 seconde de chargement.
  3. Distribuer vos images, CSS et JavaScript via le CDN gratuit Cloudflare avec edge locations à Lagos, Le Cap et Johannesburg.
  4. Optimiser votre base de données MySQL en supprimant les révisions, transients et tables orphelines qui pèsent jusqu’à 60% du poids.
  5. Auditer vos plugins, désinstaller les gourmands, et garantir un Time To First Byte sous 200 millisecondes même depuis Dakar.

Durée : 4h. Pré-requis : Linux/Mac, accès admin WordPress, accès FTP/SSH au serveur, compte Cloudflare gratuit, optionnel WP Rocket (49 USD soit 30 000 FCFA/an), budget total : 0 à 50 000 FCFA/an.

Étape 1 — Mesurer avant d’optimiser

Vous ne pouvez pas améliorer ce que vous ne mesurez pas. Pour une boutique e-commerce sénégalaise, chaque seconde de chargement supplémentaire fait perdre 7% de conversions. Un site qui passe de 5 secondes à 2 secondes peut tripler son chiffre d’affaires sans changer une virgule au produit.

Trois outils gratuits incontournables : Google PageSpeed Insights (mesure mobile et desktop avec note sur 100), GTmetrix (waterfall détaillée), WebPageTest (test depuis plusieurs villes africaines). Mesurez 3 fois, prenez la médiane, notez la baseline avant toute action.

Étape 2 — Comprendre les Core Web Vitals

LCP (Largest Contentful Paint) : temps avant l'affichage du plus gros élément
  Cible : moins de 2,5 secondes
  Mauvais : plus de 4 secondes

INP (Interaction to Next Paint) : réactivité au clic ou au scroll
  Cible : moins de 200 ms
  Mauvais : plus de 500 ms
  (Remplace FID depuis mars 2024)

CLS (Cumulative Layout Shift) : stabilité visuelle pendant le chargement
  Cible : moins de 0,1
  Mauvais : plus de 0,25

Google utilise ces 3 métriques comme facteur de classement SEO depuis 2021. Un site qui les optimise grimpe de 3 à 8 positions sur des requêtes concurrentielles.

Étape 3 — Configurer WP Rocket en 15 minutes

1. Acheter et installer WP Rocket (Single = 49 USD/an)
2. Activer ces options par défaut :
   - Cache pour utilisateurs mobiles : ON
   - Cache utilisateurs connectés : ON (sauf si WooCommerce avec panier)
   - Lifespan : 10 hours
3. Onglet "Optimisation des fichiers" :
   - Minify CSS : ON
   - Combine CSS : OFF (HTTP/2 le rend inutile)
   - Optimize CSS delivery : "Remove unused CSS"
   - Minify JavaScript : ON
   - Defer JavaScript : ON
   - Delay JavaScript execution : ON (pour scripts tiers)
4. Onglet "Médias" :
   - LazyLoad images : ON
   - LazyLoad iframes : ON
   - Disable WordPress emoji : ON
   - WebP compatibility : ON
5. Onglet "Préchargement" :
   - Activer le préchargement : ON
   - Activate sitemap-based cache preloading : ON

Alternative gratuite équivalente : WP Super Cache + Autoptimize + Async JavaScript. Légèrement plus technique à configurer mais résultats comparables à 90%.

Étape 4 — LiteSpeed Cache si serveur LiteSpeed

Si votre hébergeur utilise LiteSpeed Web Server (vérifier avec headers HTTP) :
- LiteSpeed Cache est GRATUIT et plus rapide que WP Rocket
- Hébergeurs qui l'utilisent : Hostinger, NameCheap, A2Hosting, IONOS

Activer ces réglages dans LiteSpeed Cache :
- Cache : Enable LiteSpeed Cache = ON
- TTL Cache : 604800 secondes (7 jours)
- Browser Cache : ON, TTL 31557600 secondes
- Object Cache : ON, Memcached ou Redis si disponible
- Image Optimization : Auto request cron = ON
- Page Optimization > CSS : Minify, Combine, HTTP/2 push
- Page Optimization > JS : Minify, Defer, Load JS Deferred

LiteSpeed gère le cache au niveau serveur, donc beaucoup plus rapide que PHP. Sur un site d’actualités sénégalais avec 50 000 visites/jour, le passage Apache+WP Rocket vers LiteSpeed+LSCache a réduit la charge serveur de 80%.

Étape 5 — Connecter Cloudflare en 10 minutes

# Etape 1 : créer un compte gratuit sur cloudflare.com
# Etape 2 : ajouter votre domaine, suivre l'assistant DNS
# Etape 3 : changer les nameservers chez votre registrar
#   Exemples : alice.ns.cloudflare.com et bob.ns.cloudflare.com

# Vérifier la propagation DNS depuis Dakar :
dig pme-dakar.sn NS

# Vérifier que le proxy Cloudflare est actif (orange cloud) :
curl -I https://pme-dakar.sn | grep -i "server"
# Attendu : server: cloudflare

Cloudflare gratuit offre : CDN mondial avec 12 edge locations en Afrique (Lagos, Le Cap, Johannesburg, Le Caire, Casablanca), protection DDoS illimitée, certificat SSL gratuit, et règles de cache personnalisées. Pour 90% des PME, le plan gratuit suffit largement.

Étape 6 — Règles de cache Cloudflare optimales

Cloudflare Dashboard > Caching > Configuration :
- Caching Level : Standard
- Browser Cache TTL : 4 hours minimum
- Always Online : ON

Cloudflare Dashboard > Speed > Optimization :
- Auto Minify : HTML, CSS, JS = tous ON
- Brotli : ON
- Early Hints : ON
- Rocket Loader : OFF (souvent casse WordPress)

Page Rules (3 règles gratuites) :
1. *pme-dakar.sn/wp-admin/* : Cache Level = Bypass
2. *pme-dakar.sn/wp-login.php* : Cache Level = Bypass
3. *pme-dakar.sn/* : Cache Level = Standard, Edge Cache TTL = 2 hours

Avec ces règles, vos pages sont servies depuis le datacenter Cloudflare le plus proche du visiteur. Un client à Abidjan reçoit le HTML depuis Lagos en 80 ms au lieu de 450 ms depuis votre serveur OVH à Strasbourg.

Étape 7 — Optimiser les images automatiquement

Plugins recommandés (un seul à la fois) :
- ShortPixel : 100 images/mois gratuites, ensuite 0,005 USD/image
- Imagify : 25 Mo/mois gratuits, ensuite 4,99 USD/mois
- EWWW Image Optimizer : illimité local et gratuit (lent), Cloud à partir de 7 USD/mois

Configuration ShortPixel optimale :
- Compression Type : Glossy (équilibre qualité/poids)
- Convert to WebP : ON
- Convert to AVIF : ON
- Resize larger images : 2560 x 2560 maximum
- Optimize PDF : ON
- Backup originals : ON (12 mois minimum)

Une image JPEG de 850 Ko devient un WebP de 95 Ko sans perte visible. Sur une page produit avec 12 visuels, vous passez de 10 Mo à 1,1 Mo. Pour un visiteur en 4G à Touba, le chargement passe de 18 secondes à 2 secondes.

Étape 8 — Lazy loading natif et avancé

# WordPress 5.5+ supporte le lazy loading natif
# Vérifier dans le HTML source :
curl -s https://pme-dakar.sn | grep 'loading="lazy"' | head -5

# Si manquant, activer dans functions.php du thème enfant :
# add_filter('wp_lazy_loading_enabled', '__return_true');

# Pour les iframes et videos YouTube :
# Plugin "Lazy Load for Videos" ou code custom

# Test des images lazy loadées :
# Dans Chrome DevTools onglet Network, filtre "Img"
# Scroller la page : les images doivent charger au fur et à mesure

Le lazy loading natif (loading= »lazy ») économise 30 à 50% de bande passante sur la première visite. Combiné avec la priorité fetchpriority= »high » sur l’image héro, vous accélérez le LCP de 800 ms.

Étape 9 — Nettoyer la base de données MySQL

# Sauvegarde OBLIGATOIRE avant tout nettoyage :
ssh user@serveur
mysqldump -u wp_user -p wp_database > backup_$(date +%Y%m%d).sql
gzip backup_$(date +%Y%m%d).sql

# Plugin WP-Optimize (gratuit) couvre 95% des besoins :
# - Supprimer révisions de posts (limite à 5 par post)
# - Supprimer drafts auto et brouillons
# - Supprimer commentaires en spam et corbeille
# - Supprimer transients expirés
# - Supprimer pingbacks et trackbacks
# - Optimiser les tables (équivaut à OPTIMIZE TABLE)

# Pour les bourrins, en SQL direct :
# DELETE FROM wp_posts WHERE post_type = 'revision';
# DELETE FROM wp_options WHERE option_name LIKE '%_transient_%' AND option_value < UNIX_TIMESTAMP();

Sur un site WordPress de 5 ans, la base passe couramment de 380 Mo à 65 Mo après nettoyage. Les requêtes SQL deviennent 4 fois plus rapides, et le TTFB chute de 600 ms à 180 ms.

Étape 10 — Tableau d’audit des plugins

Plugin Impact perf Décision Alternative
WooCommerce Lourd mais nécessaire Garder WP-Optimize Premium
Elementor Très lourd À éviter, garder si critique GeneratePress + blocs natifs
Jetpack Modules à désactiver un par un Garder seulement Stats Plugins dédiés
Wordfence Lourd au scan Remplacer Cloudflare + iThemes Security
Contact Form 7 Charge sur toutes les pages Conditionnel Fluent Forms (10x plus rapide)
Yoast SEO Moyen Garder Rank Math (plus léger)
WPBakery Catastrophique Migrer Editor Gutenberg natif
Sliders (Revslider) 1 Mo de JS par slide Supprimer Bloc cover natif WP

Étape 11 — Hébergeur : la base de tout

Hébergement mutualisé (déconseillé en 2026) :
- O2switch, OVH Perso : 60 000 FCFA/an, partagé avec 200 sites
- TTFB typique depuis Dakar : 800 ms à 2 secondes

VPS dédié (recommandé) :
- Hetzner CX22 (2 vCPU, 4 Go RAM, NVMe) : 4 EUR/mois soit 32 000 FCFA/an
- DigitalOcean Droplet 4 Go : 24 USD/mois soit 175 000 FCFA/an
- TTFB typique : 150 à 300 ms

Hébergement WordPress managé :
- Kinsta : à partir de 35 USD/mois (bilingue support FR)
- WP Engine : à partir de 25 USD/mois
- TTFB typique : 100 à 200 ms

Sur un VPS, installer LiteSpeed gratuit (OpenLiteSpeed) au lieu d'Apache.

Pour une boutique en ligne sérieuse, un VPS Hetzner CX32 (4 vCPU, 8 Go RAM) à 7 EUR/mois soit 56 000 FCFA/an avec OpenLiteSpeed et MariaDB tient 100 000 visites/mois sans broncher.

Étape 12 — Activer Object Cache avec Redis

# Installer Redis sur le serveur (Ubuntu) :
sudo apt update
sudo apt install -y redis-server php-redis

sudo systemctl enable redis-server
sudo systemctl start redis-server

# Vérifier :
redis-cli ping
# Attendu : PONG

# Dans WordPress, installer le plugin "Redis Object Cache"
# Activer, puis cliquer "Enable Object Cache" dans Settings

# Vérifier les hits :
redis-cli info stats | grep -E "keyspace_hits|keyspace_misses"

Sans object cache, chaque chargement de page lance 80 à 200 requêtes MySQL. Avec Redis, 90% sont servies depuis la RAM en moins d’une milliseconde. Le TTFB tombe à 80 ms même pour un utilisateur connecté avec WooCommerce.

Étape 13 — Désactiver Heartbeat et révisions inutiles

Dans wp-config.php (sauvegarder avant !) :

// Limiter les révisions à 5 par article
define('WP_POST_REVISIONS', 5);

// Vider la corbeille tous les 7 jours
define('EMPTY_TRASH_DAYS', 7);

// Désactiver l'éditeur de fichiers (sécurité + perf)
define('DISALLOW_FILE_EDIT', true);

// Augmenter la mémoire PHP allouée
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

// Désactiver les pingbacks et trackbacks (charge inutile)
// + plugin "Disable XML-RPC" pour bloquer cette API obsolète

// Heartbeat API : limiter à 60 secondes au lieu de 15
// Plugin "Heartbeat Control"

L’API Heartbeat lance une requête AJAX toutes les 15 secondes vers admin-ajax.php. Sur un site avec 5 admins connectés simultanément, c’est 1 200 requêtes par heure inutiles qui saturent la base.

Étape 14 — Audit final et benchmark

# Mesure complète après optimisation :
# 1. PageSpeed Insights : viser 90+ en mobile
# 2. GTmetrix : viser A/A et < 2 secondes
# 3. WebPageTest depuis Lagos ou Le Cap : viser TTFB < 300 ms

# Test en ligne de commande :
curl -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" \
  https://pme-dakar.sn/

# Test charge avec Apache Bench :
ab -n 1000 -c 10 https://pme-dakar.sn/

# Lighthouse CLI :
npm install -g lighthouse
lighthouse https://pme-dakar.sn --output html --view

Critères de réussite avant de déclarer victoire : LCP < 2,5s, INP < 200ms, CLS < 0,1, score PageSpeed mobile > 85, TTFB depuis Dakar < 300ms, page d’accueil < 1,5 Mo total.

Erreurs classiques à éviter

  • Empiler 3 plugins de cache : WP Rocket + WP Super Cache + LiteSpeed Cache se battent et cassent les pages. Un seul plugin de cache à la fois.
  • Activer toutes les options Cloudflare : Rocket Loader et Mirage cassent souvent JavaScript et formulaires. Tester chaque option en isolation.
  • Optimiser les images sans backup : en cas de mauvaise compression, vous perdez tout le visuel original.
  • Garder 47 plugins actifs : chaque plugin charge du CSS/JS partout. Désactivez ceux utilisés rarement, ou utilisez Asset CleanUp pour les charger conditionnellement.
  • Mutualisé bondé pour un site critique : aucune optimisation ne compensera un voisin qui consomme 90% du CPU. Migrer vers VPS dédié.
  • Mesurer une seule fois : les performances varient selon l’heure et la géolocalisation. Toujours moyenner 3 à 5 mesures.

Checklist optimisation WordPress

✓ Baseline mesurée et notée (PageSpeed, GTmetrix, WebPageTest)
✓ Hébergeur LiteSpeed ou VPS NVMe avec OpenLiteSpeed
✓ PHP 8.2 ou 8.3 activé (vs PHP 7.4 obsolète)
✓ Plugin de cache configuré (WP Rocket ou LSCache)
✓ Cloudflare connecté avec proxy actif (orange cloud)
✓ Auto Minify HTML/CSS/JS activé sur Cloudflare
✓ Images optimisées et converties en WebP
✓ Lazy loading natif vérifié dans le source HTML
✓ Object cache Redis ou Memcached actif
✓ Base de données nettoyée et tables optimisées
✓ Révisions limitées à 5 dans wp-config.php
✓ Plugins inutiles désinstallés (audit complet)
✓ Heartbeat API ralenti à 60 secondes
✓ TTFB mesuré sous 300 ms depuis Dakar
✓ Score PageSpeed mobile au-dessus de 85
Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité