Aller au contenu principal
Performance

Optimiser wp-config.php pour la performance

Découvrez les réglages avancés de wp-config.php pour améliorer significativement la vitesse et la stabilité de votre WordPress.

Marie Lefebvre
Consultante WordPress
18 septembre 2025 8 min de lecture
Optimiser wp-config.php pour la performance
Sommaire de l'article

Le fichier wp-config.php est le cœur de la configuration de votre site WordPress. Situé à la racine de votre installation, il est chargé avant tout autre fichier du CMS et conditionne le comportement global de la plateforme. Au-delà des paramètres de base définis lors de l'installation (identifiants de base de données, préfixe des tables, clés de sécurité), ce fichier offre des dizaines de constantes méconnues qui peuvent considérablement améliorer les performances, la sécurité et la stabilité de votre site.

Avertissement important : Avant toute modification de votre fichier wp-config.php, créez systématiquement une copie de sauvegarde. Une erreur de syntaxe dans ce fichier peut rendre votre site complètement inaccessible. Gardez toujours un accès FTP ou SSH pour pouvoir restaurer la version originale en cas de problème.

Comprendre la structure de wp-config.php

Le fichier wp-config.php est un fichier PHP standard qui définit des constantes via define(). Ces constantes sont chargées très tôt dans le processus de démarrage, avant même l'initialisation des plugins. Toutes vos définitions personnalisées doivent être placées avant la ligne suivante :

/* C'est tout, ne touchez pas a ce qui suit ! Bonne publication. */
require_once ABSPATH . 'wp-settings.php';

Toute constante définie après cette ligne sera ignorée. C'est une erreur classique que nous constatons régulièrement lors de nos interventions de diagnostic WordPress.

Optimiser la connexion à la base de données

Chaque page WordPress génère en moyenne 20 à 100 requêtes SQL. Optimiser les paramètres de connexion est donc une priorité. Utilisez le charset utf8mb4 (recommandé depuis WordPress 4.2) et, si votre base de données est sur le même serveur, privilégiez une connexion par socket Unix pour éliminer la couche TCP/IP :

// Connexion via un socket Unix (plus rapide sur le même serveur)
define('DB_HOST', 'localhost:/var/run/mysqld/mysqld.sock');

Si votre hébergeur utilise un serveur de base de données dédié, préférez l'adresse IP interne plutôt que le nom d'hôte afin d'éviter une résolution DNS à chaque connexion.

Augmenter la mémoire PHP disponible

Par défaut, WordPress limite la mémoire PHP à 40 Mo pour le front-end et 256 Mo pour l'administration. Ces valeurs peuvent être insuffisantes pour les sites complexes avec de nombreux plugins ou WooCommerce.

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Ces valeurs ne sont que des demandes faites à PHP. Si votre hébergeur a configuré une limite inférieure dans php.ini, c'est la limite du serveur qui s'appliquera. Vérifiez via Outils > Santé du site. En cas d'erreur "Allowed memory size exhausted", augmentez progressivement par paliers de 64 Mo — une consommation anormalement haute signale souvent un plugin mal optimisé.

Limiter les révisions et la corbeille

WordPress enregistre une révision complète à chaque sauvegarde, sans aucune limite. Sur un site actif, des articles peuvent accumuler des centaines de révisions, gonflant les tables wp_posts et wp_postmeta et ralentissant les requêtes SQL.

define('WP_POST_REVISIONS', 5);
define('AUTOSAVE_INTERVAL', 120);
define('EMPTY_TRASH_DAYS', 7);

Cinq révisions offrent un bon compromis entre historique et performance. L'intervalle d'auto-sauvegarde passe de 60 à 120 secondes, divisant par deux les requêtes d'écriture. La corbeille est vidée après 7 jours au lieu de 30. Pour les sites existants, nettoyez les anciennes révisions via WP-Optimize ou une commande WP-CLI dédiée — cette opération peut réduire la taille de votre base de 30 à 50 %.

Configurer les mises à jour et la sécurité des fichiers

La valeur 'minor' pour les mises à jour automatiques est recommandée : elle autorise les correctifs de sécurité tout en bloquant les mises à jour majeures susceptibles de causer des incompatibilités.

define('WP_AUTO_UPDATE_CORE', 'minor');
define('DISALLOW_FILE_EDIT', true);

DISALLOW_FILE_EDIT supprime les éditeurs de thème et de plugin dans l'administration — une mesure de sécurité essentielle recommandée par tous les plugins de sécurité majeurs. Pour aller plus loin, DISALLOW_FILE_MODS empêche toute installation ou mise à jour depuis le tableau de bord, idéal pour les sites dont les déploiements sont gérés via Git.

Activer le cache

Le cache est le levier d'optimisation le plus puissant. La constante WP_CACHE permet à un plugin de cache de court-circuiter la génération de page et de servir une version statique.

define('WP_CACHE', true);

Le gain est spectaculaire : le temps de génération passe de 500–2000 ms à 10–50 ms, les requêtes SQL tombent à zéro pour les pages en cache, et la consommation CPU baisse de plus de 90 %. Si votre hébergeur supporte Redis ou Memcached, combinez cache de page et cache objet pour des performances optimales.

Remplacer le cron WordPress par un cron système

WP-Cron se déclenche à chaque visite, ce qui peut ralentir le chargement si une tâche lourde s'exécute. Désactivez-le et remplacez-le par un vrai cron système :

define('DISABLE_WP_CRON', true);
*/15 * * * * cd /var/www/html && php wp-cron.php > /dev/null 2>&1

Ajustez la fréquence selon vos besoins : toutes les 5 minutes pour un site e-commerce, toutes les 30 minutes pour un blog simple. Sur un hébergement mutualisé, utilisez l'interface cron de votre panneau de contrôle (cPanel, Plesk).

Configuration SSL et sécurité réseau

Forcez HTTPS sur l'ensemble de l'administration :

define('FORCE_SSL_ADMIN', true);

// Detection du HTTPS derriere un reverse proxy (Cloudflare, load balancer, etc.)
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

Le bloc de détection du proxy est indispensable si vous utilisez Cloudflare ou un load balancer — sans lui, votre site risque une boucle de redirection infinie entre HTTP et HTTPS.

Mode debug

En production, désactivez le debug. En développement, activez le debug complet :

// Production
define('WP_DEBUG', false);

// Développement / staging
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
define('SCRIPT_DEBUG', true);
define('SAVEQUERIES', true);

WP_DEBUG_LOG écrit les erreurs dans /wp-content/debug.log (ou un chemin personnalisé). SAVEQUERIES enregistre toutes les requêtes SQL avec leur temps d'exécution — très utile pour identifier les plugins gourmands, mais à ne jamais activer en production. Consultez notre guide sur le diagnostic WordPress pour une méthodologie complète.

Constantes de sécurité avancées

Les clés de sécurité et les sels chiffrent les cookies d'authentification. Régénérez-les immédiatement en cas de compromission — cela déconnecte automatiquement tous les utilisateurs et invalide les cookies existants.

define('AUTH_KEY',         'votre-cle-unique-ici');
define('SECURE_AUTH_KEY',  'votre-cle-unique-ici');
define('LOGGED_IN_KEY',    'votre-cle-unique-ici');
define('NONCE_KEY',        'votre-cle-unique-ici');
define('AUTH_SALT',        'votre-cle-unique-ici');
define('SECURE_AUTH_SALT', 'votre-cle-unique-ici');
define('LOGGED_IN_SALT',   'votre-cle-unique-ici');
define('NONCE_SALT',       'votre-cle-unique-ici');

Modifiez également le préfixe des tables par défaut (wp_) pour compliquer les attaques par injection SQL :

$table_prefix = 'xk92_';

Ce changement doit idéalement être fait à l'installation. Le modifier sur un site existant nécessite de renommer toutes les tables et de mettre à jour certaines valeurs dans options et usermeta.

Définir les URL du site

Définir les URL dans wp-config.php améliore légèrement les performances (pas de requête en base) et protège contre les modifications accidentelles :

define('WP_HOME', 'https://www.example.com');
define('WP_SITEURL', 'https://www.example.com');

C'est aussi le moyen le plus rapide de débloquer un site dont l'URL a été modifiée par erreur dans les réglages.

Erreurs courantes à éviter

  • Définir une constante deux fois : la seconde définition est ignorée silencieusement.
  • Placer les constantes après wp-settings.php : elles seront ignorées.
  • Définir des valeurs de mémoire irréalistes : inutile de demander 2 Go si le serveur n'en a qu'un.
  • Activer WP_DEBUG en production : les messages d'erreur exposent des chemins et des noms de tables sensibles.
  • Désactiver WP-Cron sans configurer un cron système : les tâches planifiées ne s'exécuteront plus du tout.

Récapitulatif : le wp-config.php optimisé pour la production

Voici un exemple complet de configuration recommandée pour un site en production :

// ============================
// Performance
// ============================
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
define('WP_POST_REVISIONS', 5);
define('AUTOSAVE_INTERVAL', 120);
define('EMPTY_TRASH_DAYS', 7);
define('WP_CACHE', true);
define('DISABLE_WP_CRON', true);

// ============================
// Securite
// ============================
define('FORCE_SSL_ADMIN', true);
define('DISALLOW_FILE_EDIT', true);
define('WP_AUTO_UPDATE_CORE', 'minor');

// ============================
// Debug (production)
// ============================
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);

// ============================
// URL du site (optionnel mais recommande)
// ============================
define('WP_HOME', 'https://www.example.com');
define('WP_SITEURL', 'https://www.example.com');

Procédez étape par étape : ajoutez une constante, sauvegardez, puis vérifiez que votre site fonctionne avant de passer à la suivante. Le fichier wp-config.php est un outil puissant mais sensible. Combinée à une routine de maintenance régulière, aux bons plugins de sécurité et à une surveillance active, une configuration bien pensée vous permettra de tirer le meilleur parti de votre hébergement sans compromettre l'expérience de vos visiteurs.

Partager cet article
Retour au blog

Envie d'aller plus loin ?

Consultez notre guide complet pour une approche exhaustive de la sécurité et de la maintenance WordPress.

Lire le guide complet