Credit : Illustration backtotheweb.fr
Optimiser les performances de WordPress
Optimiser les performances de WordPress
Un WordPress lent fait fuir les visiteurs et penalise votre SEO. Voici les optimisations concretes a mettre en place sur votre serveur IONOS pour des temps de chargement inferieurs a 2 secondes.
1. Cache objet avec Redis
Redis stocke en memoire les resultats des requetes a la base de donnees, evitant de les recalculer a chaque visite.
apt install redis-server -y
systemctl enable redis-server
systemctl start redis-server
Verifiez que Redis fonctionne :
redis-cli ping
# Doit repondre PONG
Installez l'extension PHP Redis :
apt install php8.2-redis -y
systemctl restart php8.2-fpm
Ajoutez dans wp-config.php :
define('WP_CACHE_KEY_SALT', 'monsite.fr:');
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
Installez et activez le plugin Redis Object Cache via WP-CLI :
wp plugin install redis-cache --activate
wp redis enable
wp redis status
2. Cache de pages avec WP Super Cache
Le cache objet optimise les requetes SQL. Le cache de pages va plus loin en stockant le HTML complet des pages :
wp plugin install wp-super-cache --activate
Configurez via le back-office (Reglages > WP Super Cache) :
- Mode : Expert (mod_rewrite pour Nginx, utilisez le mode simple)
- Activer la compression
- Precharger les pages principales
Pour Nginx, ajoutez ces regles dans votre vhost :
set $cache_uri $request_uri;
# Ne pas mettre en cache les pages admin, login, etc.
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|sitemap(_index)?.xml") {
set $cache_uri 'null';
}
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
set $cache_uri 'null';
}
location / {
try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args;
}
3. Optimisation des images
Les images representent souvent 60-80% du poids d'une page.
Convertir en WebP
Installez les outils systeme :
apt install webp -y
Utilisez un plugin WordPress pour la conversion automatique. Avec WP-CLI :
wp plugin install imagify --activate
Lazy loading natif
WordPress ajoute automatiquement loading="lazy" aux images depuis la version 5.5. Verifiez que vos images l'ont bien :
// Deja actif par defaut, pour forcer :
add_filter('wp_lazy_loading_enabled', '__return_true');
4. CDN (Content Delivery Network)
Un CDN distribue vos fichiers statiques depuis des serveurs proches de vos visiteurs. Cloudflare offre un plan gratuit efficace.
Configuration minimale :
- Ajoutez votre domaine sur Cloudflare
- Modifiez les serveurs DNS chez IONOS pour pointer vers Cloudflare
- Activez le mode "Full (strict)" pour le SSL
- Configurez les regles de cache (Cache-Control)
5. Nettoyage de la base de donnees
Une base WordPress accumule des donnees inutiles au fil du temps :
# Supprimer les revisions
wp post delete $(wp post list --post_type=revision --format=ids) --force
# Supprimer les transients expires
wp transient delete --expired
# Supprimer les commentaires spam
wp comment delete $(wp comment list --status=spam --format=ids) --force
# Optimiser les tables
wp db optimize
Planifiez ce nettoyage dans un cron hebdomadaire.
6. Optimisations PHP
Configurez OPcache dans /etc/php/8.2/fpm/conf.d/10-opcache.ini :
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=1
systemctl restart php8.2-fpm
7. Mesurer les resultats
Avant et apres chaque optimisation, mesurez les performances :
# Temps de reponse du serveur
curl -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://monsite.fr
Utilisez aussi Google PageSpeed Insights et GTmetrix pour une analyse complete cote client.
En combinant Redis, cache de pages, images optimisees et un CDN, vous pouvez reduire le temps de chargement de votre WordPress de 5-6 secondes a moins d'une seconde.