wp-config.php : réglages de base, fichier & mémoire, révisions — guide SSH, SFTP et cPanel

Mention d'affiliation v3.1
Mention d'affiliation v3.2 (mobile)

Le fichier wp-config.php est, pour un site WordPress, le fichier de configuration le plus important. Il contient les informations essentielles, celles dont WordPress a besoin pour se connecter à la base de données et fonctionner : c'est en quelque sorte le cœur du site.

Ⅰ. Le rôle de wp-config.php

Ce fichier contient notamment les réglages sensibles suivants.

  • Informations de connexion à la base de données
  • ↳ Les informations indispensables pour se connecter à la base de données où WordPress stocke son contenu, comme le nom, l'identifiant, le mot de passe et l'hôte de la base MySQL ou MariaDB.
  • Clés de sécurité et salts
  • ↳ Des chaînes uniques et aléatoires qui chiffrent les sessions de connexion et les cookies des utilisateurs pour renforcer la sécurité. Sans ces clés, les sessions ne peuvent pas rester sûres.
  • Autres réglages essentiels
  • ↳ On y définit d'importantes constantes qui contrôlent le fonctionnement de WordPress, comme le préfixe des tables, l'activation ou la désactivation du mode débogage et la désactivation de la modification des fichiers.
Fichier wp-config.php de WordPress

C'est pourquoi le fichier wp-config.php est, pour un attaquant extérieur, la cible prioritaire. Si ses droits d'accès sont mal réglés ou si son contenu est exposé, toute la base de données peut fuiter ou les droits d'administration du site peuvent être volés, ce qui en fait une grave faille de sécurité. Le premier pas pour renforcer la sécurité de WordPress est donc de protéger ce fichier.

1️⃣ Emplacement du fichier wp-config.php

wp-config.php se trouve dans le dossier racine de l'installation de WordPress, au même niveau que les dossiers [wp-admin], [wp-content] et [wp-includes]. Chez un hébergeur cPanel, c'est le dossier [public_html] ; ce site le place sur un VPS Lightsail, dans [/home/uknew/www/wp-config.php].

Si vous ne voyez pas le fichier dans le dossier racine, regardez un niveau au-dessus. WordPress cherche wp-config.php d'abord dans le dossier d'installation et, s'il n'y est pas, le charge depuis le dossier juste au-dessus.

2️⃣ Comment ouvrir wp-config.php

Dans le [Gestionnaire de fichiers] du panneau de votre hébergeur, allez dans le dossier racine, faites un clic droit sur wp-config.php et choisissez [Edit]. Vous modifiez ainsi le fichier directement dans le navigateur, sans logiciel supplémentaire.

Avec un logiciel FTP (FileZilla), vous téléchargez le fichier sur votre ordinateur, le modifiez dans un éditeur, puis le renvoyez. Si vous gardez une copie de l'original avant l'envoi, vous pourrez revenir en arrière immédiatement en cas d'erreur.

Sur un serveur comme un VPS, auquel vous vous connectez en SSH, lancez l'éditeur [vi] suivi du chemin du fichier ; [nano] s'ouvre de la même façon.

vi /home/uknew/www/wp-config.php

3️⃣ wp-config-sample.php et la structure de base

Une archive WordPress fraîchement téléchargée ne contient pas de wp-config.php, seulement [wp-config-sample.php] au même endroit. Quand vous saisissez les informations de la base de données à l'écran d'installation, WordPress crée wp-config.php à partir de ce fichier ; le copier et le renommer vous-même donne le même résultat.

define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );

define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

$table_prefix = 'wp_';

define( 'WP_DEBUG', false );

Dans les quatre lignes [DB_NAME], [DB_USER], [DB_PASSWORD] et [DB_HOST], saisissez les informations de base de données fournies par votre hébergeur. Si une seule valeur est fausse, l'erreur [Error establishing a database connection] s'affiche à la place du site.

Les huit lignes de [AUTH_KEY] à [NONCE_SALT] chiffrent les cookies de connexion ; récupérez-en un nouveau jeu sur [https://api.wordpress.org/secret-key/1.1/salt/] et remplacez-les entièrement. Changer ces valeurs déconnecte tous les utilisateurs connectés.

[$table_prefix] est le préfixe placé devant le nom des tables de la base de données, [wp_] par défaut ; il permet de distinguer plusieurs installations de WordPress dans une même base. Si vous passez [WP_DEBUG] à [true], les erreurs PHP, qui restent sinon cachées, s'affichent à l'écran : sur un site en production, laissez-le donc à [false].

Ⅱ. Réglages de base de wp-config.php à appliquer après l'installation de WordPress

Toutes les lignes de réglage se placent au-dessus du commentaire /* That’s all, stop editing! Happy publishing. */. Dans le simulateur ci-dessous, choisissez votre mode de connexion (SSH, cPanel ou FTP) et ouvrez wp-config.php : le réglage que vous choisissez à gauche vous amène directement à sa ligne.

⚙️ Réglages de wp-config.phpSimulateur de réglages
/* That’s all, stop editing! Happy publishing. */
Techniquement, ce commentaire (/* That’s all, stop editing! Happy publishing. */) ne fait rien de particulier en tant que code PHP. C'est simplement un commentaire.
user_a@server: ~
Last login: Mon Oct 5 14:10:02 2026 from 10.0.0.12
[user_a@server ~]$
Mais l'équipe de développement de WordPress l'a laissé comme ‘repère‘ pour dire aux utilisateurs : « Sous ce commentaire se trouve le code essentiel au fonctionnement de WordPress, n'y touchez pas. »
  1. Les constantes de réglage (define) en haut : La plupart des constantes de réglage de WordPress (define) doivent être définies avant /* That’s all, stop editing! Happy publishing. */ et juste au-dessus de cette ligne pour que WordPress les charge correctement lors de l'initialisation des réglages.
  2. Le chargement de WordPress commence en dessous : Sous ce commentaire se trouvent la définition de [ABSPATH] , puis le code [require_once( ABSPATH . ‘wp-settings.php’ );]. Dès que ce fichier [wp-settings.php] est chargé, les fonctions essentielles de WordPress commencent réellement à tourner.
Donc, si vous ajoutez des réglages supplémentaires (par exemple désactiver la modification des fichiers avec [define(‘DISALLOW_FILE_EDIT’, true);] ou fixer la limite de mémoire avec [define(‘WP_MEMORY_LIMIT’, ‘256M’);]), écrivez-les avant le chargement des fichiers essentiels de WordPress, c'est-à-dire juste au-dessus du commentaire, et ils s'appliqueront sans erreur.
Dans wp-config-sample.php, juste au-dessus du commentaire [stop editing], se trouve une autre ligne de commentaire, [Add any custom values between this line and the “stop editing” line.] : les réglages que vous ajoutez vous-même se placent entre ces deux commentaires.
Réglages de mémoire de WordPress
Dans la plupart des tutoriels WordPress et dans la documentation officielle, [define(‘WP_MEMORY_LIMIT’, ‘256M’);] apparaît seul dans la grande majorité des cas.
Le réglage de la mémoire fixe le maximum de mémoire que WordPress peut utiliser dans PHP, pour éviter les erreurs de mémoire insuffisante (Fatal error: Allowed memory size exhausted) pendant l'exécution des thèmes ou des extensions. C'est donc, pour un site stable qui ne dépasse pas ses ressources, une sécurité de base.
‘WP_MAX_MEMORY_LIMIT’ est un réglage qui accorde plus de mémoire à l'administration qu'au site public.
WP_MEMORY_LIMIT est la « limite de mémoire pour les visiteurs du site »,
WP_MAX_MEMORY_LIMIT, la « limite étendue pour l'administration et les traitements internes ».
Ce n'est qu'en réglant les deux que vous obtenez un contrôle complet de la mémoire de WordPress.
Si la valeur de wp-config.php dépasse celle de php.ini ou du pool PHP-FPM du serveur, c'est le réglage du serveur qui s'applique.
Limiter les révisions
Inutile d'installer une extension pour fixer le nombre de révisions. Une seule constante dans wp-config.php donne le même résultat, et aucun réglage d'extension à nettoyer plus tard ne reste dans la base de données.
Avec les révisions de WordPress, les versions précédentes de chaque article s'accumulent sans cesse, ce qui ralentit le site. Sur un site sans cache, mais aussi avec un cache pendant que vous travaillez dans le tableau de bord, en particulier quand vous rédigez des articles ou des pages, même les pages des visiteurs peuvent ralentir.
Par exemple, si le serveur utilise environ 50 % de son CPU total, les pages des visiteurs peuvent ralentir, quelle que soit l'extension de cache utilisée.
C'est pourquoi on désactive les révisions ou on en limite le nombre.
Si vous utilisez WP Rocket ou Perfmatters, vous pouvez aussi le régler dans leurs écrans de réglages. WP Rocket, dans l'onglet [Base de données], supprime avec [Révisions] les révisions déjà accumulées ; il n'a pas de réglage pour en limiter le nombre.
WP Rocket : nettoyage des révisions de la base de données
Perfmatters, de son côté, règle sous [Limiter les révisions] le nombre de révisions conservées par article, et sous [Intervalle d'enregistrement automatique] l'intervalle de l'enregistrement automatique.
Perfmatters : réglage de la limite des révisions
Régler l'intervalle d'enregistrement automatique
Par défaut, WordPress enregistre automatiquement les articles toutes les minutes. Vous pouvez par exemple passer de 60 secondes à 5 minutes (300 secondes).
Réglages de Heartbeat
Heartbeat n'a pas de constante à placer dans wp-config.php : ce fichier ne permet donc pas de le régler. Si vous mettez le code ci-dessous dans wp-config.php, il s'exécute avant que WordPress ne charge la fonction [add_action], et le site s'arrête sur l'erreur [Call to undefined function add_action()].
Le « Heartbeat » de WordPress est un signal qui vérifie que le serveur et le site restent connectés. L'API Heartbeat utilise 
/wp-admin/admin-ajax.php, qui lui sert à exécuter des appels AJAX depuis le navigateur. Dans le tableau de bord WordPress, une requête POST est ainsi envoyée toutes les 15 secondes.
Vous pouvez le laisser actif uniquement sur les écrans de rédaction de l'administration, [post.php]·[post-new.php].
WP Rocket, si vous l'utilisez, propose dans l'onglet [Heartbeat] de choisir, pour l'administration, l'éditeur d'articles et le site public, entre [Ne pas limiter], [Réduire l'activité] et [Désactiver].
WP Rocket : réglages de Heartbeat
Perfmatters, de son côté, définit sous [Désactiver Heartbeat] les écrans où Heartbeat est autorisé, et sous [Fréquence de Heartbeat] l'intervalle des requêtes.
Perfmatters : réglages de Heartbeat
Si vous n'avez aucune des deux extensions, n'en installez pas une juste pour Heartbeat. Les extensions laissent leurs réglages dans la base de données même après leur suppression, alors placez plutôt le code ci-dessous dans le [functions.php] du thème.
/** Disable Heartbeat everywhere except post editor */
add_action('init', function() {
    global $pagenow;
    if ($pagenow != 'post.php' && $pagenow != 'post-new.php') {
        wp_deregister_script('heartbeat');
    }
}, 1);
Réglages globaux
Les réglages globaux correspondent à un wp-config.php qui contient tous les réglages de cet article.
Les deux lignes de mémoire, la limite de 3 révisions et l'enregistrement automatique toutes les 300 secondes se suivent au-dessus du commentaire [stop editing].
Heartbeat ne figure pas dans les réglages globaux, car il provoque une erreur dans wp-config.php.
L'icône de copie en haut à droite de l'écran ne copie que les lignes à ajouter.
Fonctionne uniquement dans votre navigateur et ne modifie aucun vrai fichier. Choisissez en haut votre mode de connexion et cliquez sur les puces dans l'ordre pour ouvrir wp-config.php : le réglage que vous choisissez à gauche vous amène à sa ligne. Au lieu des puces, vous pouvez aussi cliquer dans le terminal et taper vous-même les commandes et les touches vi. Le serveur virtuel ne contient que les fichiers nécessaires à cet article, et les écrans cPanel et FileZilla sont des versions simplifiées des écrans réels.

🔢 FAQ & contenus recommandés

S'il manque un guillemet ou un point-virgule dans la ligne que vous venez d'enregistrer, PHP ne peut pas lire wp-config.php jusqu'au bout et le site ne s'ouvre pas. Rétablissez l'original sauvegardé avant la modification, puis vérifiez seulement les lignes changées.

Dans l'article sur la sécurité de wp-config.php, c'est [600] qui est recommandé : lecture et écriture pour le seul propriétaire. Sur un serveur où PHP tourne sous un autre compte que le propriétaire du fichier, PHP ne peut pas lire le fichier en 600 : après le changement, vérifiez tout de suite que le site s'ouvre.

À son activation, WP Rocket ajoute en haut du fichier la ligne [define( ‘WP_CACHE’, true ); // Added by WP Rocket] ; dans le wp-config.php de ce site aussi, elle se trouve à la ligne 2. C'est cette ligne qui permet à WordPress de charger le fichier de cache [advanced-cache.php].

Si la même constante est déjà définie plus haut dans le fichier, PHP garde la première valeur et ne laisse pour la ligne suivante que l'avertissement [Constant WP_MEMORY_LIMIT already defined]. Recherchez le nom de la constante dans tout le fichier pour trouver les lignes ajoutées par l'hébergeur ou une extension.

ℹ️ Mention d'affiliation
Le contenu de ce site contient des liens d'affiliation. Lorsqu'un visiteur achète un produit ou un service via l'un de ces liens, le site perçoit une commission du vendeur. Le montant payé par l'acheteur(il baisse lors des promotions ↓), lui, n'augmente pas. Les prix, remises et stocks indiqués correspondent à la date de rédaction et peuvent différer ; vérifiez-les donc auprès du vendeur avant d'acheter. Les produits sont choisis et évalués selon nos propres critères, et les commissions n'influencent ni l'ordre de présentation ni le contenu des évaluations.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Prouvez que vous êtes humain : 2   +   1   =