Fichier wp-config.php WordPress : rôle et modification sûre
wp-config.php contient l'accès à la base de données, les clés de sécurité et des réglages. Où le trouver, son contenu et comment le modifier sans risque.
wp-config.php est le fichier qui indique à WordPress comment se connecter à sa base de données et comment fonctionner. Il se trouve normalement dans le dossier racine de votre installation, à côté de wp-admin et wp-content. Vous pouvez ajouter ou modifier des réglages sans risque au-dessus de la ligne “That’s all, stop editing!” (C’est tout, arrêtez de modifier !), et vous devez laisser tels quels les deux blocs de code situés en dessous. Faites d’abord une sauvegarde, car une seule faute de frappe peut mettre tout le site hors service.
À retenir
- Le fichier contient le mot de passe de votre base de données et vos clés de sécurité. Traitez-le comme un mot de passe et ne publiez jamais son contenu sur un forum ou dans un chat d’assistance.
- Les réglages personnalisés se placent au-dessus de la ligne “stop editing”. La dernière ligne en dessous charge WordPress, et un réglage placé après elle arrive trop tard.
- Le téléchargement de WordPress inclut
wp-config-sample.php. Le vraiwp-config.phpest créé pendant l’installation.- Ne changez pas
$table_prefixsur un site en ligne en modifiant cette seule ligne. WordPress se comportera comme s’il n’était pas installé.
Où trouver wp-config.php
Connectez-vous en SFTP ou ouvrez le gestionnaire de fichiers de votre hébergeur, puis allez dans le dossier qui contient wp-admin, wp-includes et wp-content. La documentation de WordPress l’appelle la racine de votre répertoire de fichiers WordPress.
S’il n’y est pas, regardez un dossier plus haut. Le chargeur de WordPress vérifie d’abord le dossier d’installation, puis le dossier parent, et ignore ce dernier s’il contient son propre wp-settings.php, car cela signifie qu’une autre installation de WordPress s’y trouve.
Si le fichier n’est à aucun de ces deux endroits, WordPress envoie les visiteurs vers son écran d’installation. Cet écran crée le fichier à partir de wp-config-sample.php. S’il ne peut pas écrire dans le dossier, il vous affiche le texte à coller à la main dans un nouveau fichier.
À quoi sert chaque section par défaut
wp-config-sample.php est le modèle, et il comporte ces parties dans cet ordre :
| Section | Ce qu’elle contient | Pouvez-vous la changer ? |
|---|---|---|
DB_NAME, DB_USER, DB_PASSWORD, DB_HOST | L’accès à la base de données. Le modèle utilise localhost comme hôte, et votre hébergeur peut vous donner les vraies valeurs. | Oui, quand les informations de votre base de données changent. Une valeur erronée provoque l’erreur d’établissement de la connexion à la base de données. |
DB_CHARSET, DB_COLLATE | La façon dont le texte est stocké dans la base de données. Les valeurs par défaut sont utf8mb4 et une valeur vide. | Le commentaire du modèle sur DB_COLLATE dit de ne pas la changer en cas de doute. |
AUTH_KEY à NONCE_SALT | Huit clés de sécurité et salts utilisés pour les cookies de connexion. | Oui. Les changer déconnecte tous les utilisateurs. |
$table_prefix | Le texte au début du nom de chaque table de la base de données, wp_ par défaut. | Seulement à l’installation, sauf si vous renommez aussi les tables et mettez à jour les entrées enregistrées de la base de données dont le nom utilise le préfixe. |
WP_DEBUG | Le mode débogage, réglé sur false dans le modèle. | Oui. Le guide sur l’emplacement du journal de débogage montre comment envoyer les erreurs vers un fichier. |
| Le commentaire “custom values” (valeurs personnalisées) | Un espace vide pour vos réglages, qui se termine à la ligne “stop editing”. | Oui, c’est ici que vont vos ajouts. |
ABSPATH et la ligne wp-settings.php | Le chemin vers WordPress, puis la ligne qui charge le reste. | Non. Laissez-les tels quels. |
De nouvelles clés s’obtiennent en un clic : le service de clés secrètes de WordPress.org vous donne un nouveau jeu à chaque chargement. Remplacez les huit lignes par ce nouveau jeu.
Les anciens fichiers n’ont parfois pas le commentaire “custom values” et indiquent “Happy blogging” au lieu de “Happy publishing”. Les deux fonctionnent, et la règle reste la même : ajoutez vos réglages au-dessus de cette ligne.
Les réglages souvent modifiés
Chacun tient sur une ligne. Tous viennent de la documentation de wp-config.php, et les valeurs par défaut de default-constants.php de WordPress.
// Memory for the front end, then for wp-admin
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
// Keep at most 3 revisions per post (false turns revisions off)
define( 'WP_POST_REVISIONS', 3 );
// Autosave every 180 seconds
define( 'AUTOSAVE_INTERVAL', 180 );
// Empty the trash after 7 days
define( 'EMPTY_TRASH_DAYS', 7 );
// Remove the theme and plugin file editor from wp-admin
define( 'DISALLOW_FILE_EDIT', true );
// Force HTTPS for logins and wp-admin
define( 'FORCE_SSL_ADMIN', true );
// Set the site addresses here
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
Copiez uniquement les lignes dont vous avez besoin. Certaines ont des détails à connaître :
- Mémoire : WordPress utilise par défaut 40M, ou 64M en multisite, et 256M pour wp-admin, sauf si PHP autorise déjà davantage. Si votre hébergeur ne permet pas de changer la limite, WordPress utilise celle que PHP applique déjà. Le guide sur la mémoire épuisée explique quoi faire dans ce cas.
- Révisions : elles sont activées par défaut. Mettez
falsepour les désactiver, ou un nombre pour les limiter. - Sauvegarde automatique et corbeille : les valeurs par défaut sont 60 secondes et 30 jours. Régler
EMPTY_TRASH_DAYSsur0désactive la corbeille, et la documentation avertit que WordPress ne demandera alors pas de confirmation quand quelqu’un clique sur “Delete Permanently” (Supprimer définitivement). - Éditeur de fichiers : le guide de sécurisation indique que cela n’empêchera pas un attaquant de téléverser des fichiers malveillants, même si cela peut arrêter certaines attaques.
DISALLOW_FILE_MODSva plus loin et bloque aussi l’installation et la mise à jour des extensions et des thèmes. - HTTPS : quand le réglage « Adresse web de WordPress » commence déjà par
https, WordPress règle lui-mêmeFORCE_SSL_ADMINsurtrue. Cette ligne ne change quelque chose que si l’adresse ne commence pas parhttps. - Adresses du site : elles remplacent les valeurs enregistrées sans changer ce qui est stocké dans la base de données. Incluez la partie
https://.
Un réglage demande plus de préparation. define( 'DISABLE_WP_CRON', true ); empêche les visites de pages de lancer les tâches planifiées. Configurez donc une tâche cron serveur pour wp-cron.php avant de l’activer, sinon les articles planifiés et les autres tâches programmées ne s’exécuteront pas.
Comment modifier wp-config.php sans risque
- Téléchargez d’abord une copie. Gardez-la sur votre propre ordinateur. Une copie laissée sur le serveur sous un nom comme
wp-config.php.bakpeut être lisible dans un navigateur, car le serveur ne la traite plus comme du PHP. - Ouvrez le fichier dans un éditeur de texte brut. Le guide d’édition de WordPress cite Notepad++, Sublime Text et Visual Studio Code comme acceptables, et déconseille Google Docs et Microsoft Word, car les traitements de texte changent les guillemets et peuvent ajouter du code qui casse les fichiers.
- Trouvez la ligne “stop editing” et placez vos nouvelles lignes juste au-dessus. Si le réglage est déjà défini plus haut, modifiez cette ligne.
- Enregistrez, téléversez, puis chargez votre site dans une fenêtre de navigation privée, ainsi qu’une page de wp-admin.
- Si quelque chose ne fonctionne plus, remettez votre copie. Cela annule la modification même si wp-admin ne se charge pas.
Déplacer le fichier au-dessus de la racine web
Le guide de sécurisation indique que wp-config.php peut être placé un dossier au-dessus de votre installation WordPress, et le code du chargeur gère cela sans réglage supplémentaire. Déplacez le fichier, puis vérifiez que le site se charge toujours. Ce déplacement a deux limites :
- Le dossier parent ne peut pas contenir une autre installation de WordPress. Le chargeur ignore un dossier parent qui a son propre
wp-settings.php. - Un niveau au-dessus n’est privé que si WordPress est à la racine web. Si WordPress se trouve dans un sous-dossier comme
/blog/, un niveau au-dessus reste généralement public.
Le même guide précise que certains estiment que ce déplacement n’apporte qu’un bénéfice de sécurité minime, et qu’il peut introduire de graves vulnérabilités s’il est fait sans précaution. Considérez-le donc comme facultatif. Pour Apache, le guide donne aussi ce bloc à placer en haut de votre fichier .htaccess, qui refuse les requêtes directes vers le fichier :
<Files "wp-config.php">
Require all denied
</Files>
Notre guide de sécurité .htaccess présente cette règle avec d’autres.
Permissions du fichier wp-config.php
La documentation de WordPress donne des chiffres légèrement différents selon la situation :
- Le guide de sécurisation indique que seuls vous et le serveur web devez pouvoir lire le fichier, ce qui, selon lui, signifie généralement 400 ou 440.
- Le guide des permissions de fichiers indique 440 ou 400 sur un hébergement mutualisé avec suexec, pour empêcher les autres utilisateurs du serveur de le lire. Il montre aussi 600 comme exemple sécurisé.
- Pour les fichiers WordPress ordinaires, ce guide indique 644 ou 640.
Le chiffre qui fonctionne dépend de l’utilisateur système sous lequel tourne votre serveur web. Celui-ci doit pouvoir lire le fichier. Si le site ne se charge plus après un changement, revenez donc à la valeur précédente et demandez à votre hébergeur laquelle convient à sa configuration.
Erreurs courantes
- Coller un réglage après la ligne
wp-settings.php. Cette ligne charge WordPress et définit ses valeurs par défaut. Une constante PHP ne peut pas changer pendant l’exécution d’un script : votre ligne n’a donc aucun effet. - Définir deux fois le même réglage. La première ligne fixe la valeur et la seconde ne peut pas la changer. Le manuel PHP indique que redéclarer une constante est obsolète depuis PHP 8.5, ce qui peut aussi déclencher un message. Cherchez le nom dans le fichier avant de l’ajouter.
- Mettre des guillemets autour de true ou false.
'false'est une chaîne non vide, et PHP la traite comme true. Écrivezfalsesans guillemets. Les tailles comme'256M'en ont, elles, besoin. - Des guillemets typographiques venus d’un traitement de texte ou d’une page web. PHP a besoin de guillemets droits : les guillemets typographiques provoquent une erreur qui empêche le site de se charger.
- Afficher les erreurs de débogage sur un site en ligne.
WP_DEBUG_DISPLAYvauttruepar défaut. Si vous activez seulementWP_DEBUG, les erreurs s’affichent donc sur la page pour les visiteurs. Le guide sur l’emplacement du journal de débogage montre comment les envoyer vers un fichier. - Laisser
WP_ALLOW_REPAIRactivé. La documentation dit de ne l’activer qu’en cas de besoin et de le désactiver une fois le problème résolu.
FAQ
Qu’est-ce que wp-config.php dans WordPress ?
C’est le fichier de configuration que WordPress charge au démarrage. Il contient l’accès à votre base de données, les clés de sécurité et le préfixe des tables, et c’est là que vous ajoutez des réglages comme WP_DEBUG ou WP_MEMORY_LIMIT.
Où se trouve le fichier wp-config.php ?
Normalement à la racine de votre installation WordPress, le dossier qui contient aussi wp-admin, wp-includes et wp-content. WordPress l’accepte également un dossier au-dessus de l’installation, à condition que ce dossier ne contienne pas de wp-settings.php.
Où ajouter du code dans wp-config.php ? Au-dessus de la ligne That’s all, stop editing! Happy publishing. (C’est tout, arrêtez de modifier ! Bonne publication.) Les anciens fichiers indiquent Happy blogging. La dernière ligne en dessous charge WordPress : un réglage placé après cette ligne arrive donc trop tard.
Peut-on modifier wp-config.php sans risque ? Oui, si vous gardez une sauvegarde et utilisez un éditeur de texte brut. Une seule faute de frappe peut empêcher tout le site de se charger, wp-admin compris, alors téléchargez d’abord une copie. Si le site ne fonctionne plus après votre modification, remettez la copie en place.
Que se passe-t-il si je supprime wp-config.php ? WordPress ne trouve plus l’accès à sa base de données et lance son processus d’installation, avec une invite à créer un fichier de configuration. Votre contenu reste dans la base de données : restaurer la sauvegarde ou recréer le fichier avec les mêmes informations reconnecte le site.
Quelles permissions donner à wp-config.php ? Le guide de sécurisation de WordPress indique que seuls vous et le serveur web devez pouvoir le lire, ce qui signifie généralement 400 ou 440. Son guide des permissions de fichiers montre aussi 600. Le serveur web doit toujours pouvoir lire le fichier, alors renseignez-vous auprès de votre hébergeur si le site ne se charge plus.
Sources
- WordPress Advanced Administration : wp-config.php, Hardening WordPress, File permissions, Editing files
- Code source de WordPress : wp-config-sample.php, wp-load.php, default-constants.php, setup-config.php, cron.php
- Manuel PHP : Constants, Booleans
Créez les réglages dont vous avez besoin sans les saisir à la main, clés de sécurité neuves comprises, avec le générateur wp-config.php gratuit.
FAQ
Questions
Qu'est-ce que wp-config.php dans WordPress ?
C'est le fichier de configuration que WordPress charge au démarrage. Il contient l'accès à votre base de données, les clés de sécurité et le préfixe des tables, et c'est là que vous ajoutez des réglages comme WP_DEBUG ou WP_MEMORY_LIMIT.
Où se trouve le fichier wp-config.php ?
Normalement à la racine de votre installation WordPress, le dossier qui contient aussi wp-admin, wp-includes et wp-content. WordPress l'accepte également un dossier au-dessus de l'installation, à condition que ce dossier ne contienne pas de wp-settings.php.
Où ajouter du code dans wp-config.php ?
Au-dessus de la ligne That's all, stop editing! Happy publishing. (C'est tout, arrêtez de modifier ! Bonne publication.) Les anciens fichiers indiquent Happy blogging. La dernière ligne en dessous charge WordPress : un réglage placé après cette ligne arrive donc trop tard.
Peut-on modifier wp-config.php sans risque ?
Oui, si vous gardez une sauvegarde et utilisez un éditeur de texte brut. Une seule faute de frappe peut empêcher tout le site de se charger, wp-admin compris, alors téléchargez d'abord une copie. Si le site ne fonctionne plus après votre modification, remettez la copie en place.
Que se passe-t-il si je supprime wp-config.php ?
WordPress ne trouve plus l'accès à sa base de données et lance son processus d'installation, avec une invite à créer un fichier de configuration. Votre contenu reste dans la base de données : restaurer la sauvegarde ou recréer le fichier avec les mêmes informations reconnecte le site.
Quelles permissions donner à wp-config.php ?
Le guide de sécurisation de WordPress indique que seuls vous et le serveur web devez pouvoir le lire, ce qui signifie généralement 400 ou 440. Son guide des permissions de fichiers montre aussi 600. Le serveur web doit toujours pouvoir lire le fichier, alors renseignez-vous auprès de votre hébergeur si le site ne se charge plus.