Ce que vous saurez faire à la fin
- Mesurer précisément les performances de votre site WordPress avec PageSpeed Insights, GTmetrix et WebPageTest, et interpréter les Core Web Vitals.
- Configurer un cache pleine page efficace avec WP Rocket ou LiteSpeed Cache pour passer de 4 secondes à 1,2 seconde de chargement.
- Distribuer vos images, CSS et JavaScript via le CDN gratuit Cloudflare avec edge locations à Lagos, Le Cap et Johannesburg.
- Optimiser votre base de données MySQL en supprimant les révisions, transients et tables orphelines qui pèsent jusqu’à 60% du poids.
- 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