WP-config est l’un des fichiers les plus puissants de votre site WordPress, et il joue un rôle important dans le fonctionnement de WordPress en coulisses.
Ici, chez WPBeginner, nous bricolons avec WordPress depuis des années et nous avons découvert des astuces de configuration de WordPress très utiles que la plupart des débutants ne connaissent pas.
Dans cet article, nous allons partager avec vous quelques-unes des astuces de configuration les plus utiles de WordPress qui vous aideront à dépanner, optimiser et sécuriser votre site WordPress.
Comment utiliser ces astuces de configuration de WordPress ?
WordPress est livré avec un puissant fichier de configuration appelé wp-config.php. Il est situé dans le dossier racine de chaque site WordPress et contient d’importants réglages de configuration.
Pour en savoir plus, consultez notre guide sur comment modifier le fichier wp-config.php dans WordPress.
Toutes les meilleures entreprises d’hébergement WordPress proposent l’installation de WordPress en 1 clic, ce qui signifie que vous n’aurez jamais besoin de modifier le fichier wp-config.php pendant l’installation. C’est la principale raison pour laquelle de nombreux utilisateurs/utilisatrices ne connaissent pas la puissance de ce fichier.
Vous pouvez utiliser le fichier wp-config pour dépanner, optimiser et sécuriser votre site WordPress.
Le fichier wp-config.php est un outil puissant, et une minuscule erreur dans le code peut rendre votre site inaccessible. Vous ne devez modifier ce fichier qu’en cas de nécessité et créer uniquement une sauvegarde complète de WordPress avant toute modification,
Ceci étant dit, jetons un coup d’œil à quelques astuces de configuration WordPress pratiques que vous pouvez utiliser sur votre site WordPress. Vous pouvez utiliser les liens rapides ci-dessous pour accéder directement aux astuces qui vous intéressent le plus :
- The Basic WordPress Configuration Settings
- Adding Security Keys in WordPress
- Change WordPress Table Prefix
- Turn on Debugging in WordPress
- Changing Your Site or WordPress Address
- Override File Permissions
- Changing Post Revision Settings
- Changing WordPress Trash Settings
- Adding FTP/SSH Constants to WordPress Configuration
- Allow Automatic Database Repair
- Increase PHP Memory Limit
- Moving wp-content Directory
- Use Custom User Tables
- Enable Multi-Site Network
- Securing Your WordPress Configuration File
1. Les Réglages de base de la configuration de WordPress
Par défaut, il vous suffit de renseigner les réglages de la base de données lors de l’installation de WordPress. Si vous n’avez pas de fichier wp-config.php, il vous sera demandé d’en créer un en renseignant les informations relatives à votre base de données.
WordPress essaiera d’enregistrer automatiquement ces réglages en générant un fichier wp-config.php. Toutefois, en cas d’échec, vous devrez les ajouter manuellement.
Pour ce faire, vous devrez vous connecter à votre site à l’aide d’un client FTP. Une fois connecté, vous devrez renommer le fichier wp-config-sample.php en wp-config.php.
Après cela, vous pouvez aller de l’avant et modifier le fichier wp-config.php nouvellement créé. Vous devrez ajouter les informations de votre base de données en modifiant les lignes suivantes :
define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');
N’oubliez pas d’enregistrer vos modifications et de téléverser le fichier sur le serveur.
2. Ajout de clés de sécurité dans WordPress
L’installation par défaut de WordPress ajoute automatiquement des clés de sécurité à votre fichier de configuration. Ces clés de sécurité sont utilisées pour ajouter un calque de sécurité supplémentaire à votre connexion WordPress et à l’authentification des cookies.
Vous pouvez toujours régénérer les clés de sécurité si vous pensez que quelqu’un accède à votre site sans authentification appropriée. Modifier les clés de sécurité déconnectera tous les utilisateurs/utilisatrices connectés.
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' );
En savoir plus, consultez notre article sur les clés de sécurité WordPress et leur utilisation.
3. Modifier le préfixe du tableau WordPress
Une installation typique de WordPress par défaut ajoute le préfixe wp_ à tous les noms de tables de la base de données WordPress. Certains experts en sécurité de WordPress pensent que la modification du préfixe de table peut rendre votre base de données WordPress plus sûre.
Pour ce faire, vous devez modifier la ligne suivante dans la configuration de WordPress.
$table_prefix = 'wp_';
Si vous faites cela pour un site existant, alors vous devrez également modifier le préfixe de la table dans votre base de données WordPress. Pour ce faire, consultez notre article sur la modification du préfixe de la base de données WordPress.
4. Activer le débogage dans WordPress
WordPress dispose d’une fonctionnalité de débogage très pratique qui vous permet de voir ou de masquer les erreurs de WordPress en mode débogage. Pour activer cette fonction, vous devez ajouter cette règle dans le fichier de configuration de WordPress.
define( 'WP_DEBUG', true );
Vous pouvez également activer le débogage tout en masquant les erreurs sur votre site et en les enregistrant plutôt dans un fichier journal. Pour ce faire, ajoutez les lignes suivantes à vos Réglages de configuration.
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Cela créera un fichier debug.log dans le dossier wp-content de votre site et stockera toutes les erreurs de débogage et les notifications dans le fichier journal.
5. Modification de l’adresse de votre site ou de WordPress
Normalement, vous pouvez définir les URL de WordPress et de votre site à partir de la page Réglages » Général. Cependant, il se peut que vous ne puissiez pas le faire si vous n’avez pas accès à votre site WordPress, si vous voyez des erreurs de redirection ou si vous venez de déplacer votre site.
Dans ce cas, vous pouvez modifier les URL de votre site et de WordPress via le fichier wp-config.php en ajoutant les lignes suivantes :
define('WP_HOME', 'http://www.example.com');
define('WP_SITEURL', 'http://www.example.com');
N’oubliez pas de remplacer exemple.com par votre propre nom de domaine.
6. Surcharger les droits des fichiers
WordPress vous permet de surcharger les droits des fichiers si votre hébergeur a des droits restrictifs pour tous les fichiers des utilisateurs/utilisatrices. La plupart des utilisateurs/utilisatrices n’en ont pas besoin, mais cette fonction existe pour ceux qui en ont besoin.
define('FS_CHMOD_FILE', 0644);
define('FS_CHMOD_DIR', 0755);
Pour en savoir plus sur les droits des fichiers, consultez notre article sur la façon de corriger l’erreur des droits des fichiers et des dossiers dans WordPress.
7. Modifier les Réglages de la publication
WordPress dispose d’une fonctionnalité très utile de révision des publications qui vous permet d’annuler les modifications apportées à vos publications et à vos pages en revenant à une version précédente ou à une sauvegarde automatique.
Vous pouvez désactiver ou modifier les réglages de publication dans le fichier de configuration. Voici les différents paramètres de révision des publications que vous pouvez utiliser.
Vous pouvez modifier la fréquence à laquelle WordPress stocke une sauvegarde automatique en tant que révision en ajoutant la ligne suivante :
define('AUTOSAVE_INTERVAL', 120); // in seconds
Certains articles de votre site peuvent faire l’objet de dizaines de publications, en fonction du temps nécessaire à leur rédaction. Si vous pensez que cette fonctionnalité vous ennuie, vous pouvez limiter le nombre de révisions par publication.
define('WP_POST_REVISIONS', 10);
Si, pour une raison quelconque, vous souhaitez désactiver la fonctionnalité de publication en avant (ce qui n’est pas du tout recommandé), vous pouvez utiliser le code suivant pour désactiver la publication en avant.
define( 'WP_POST_REVISIONS', false );
8. Modifier les réglages de la corbeille de WordPress
WordPress dispose d’une fonctionnalité de corbeille avant appelée Trash. Lorsqu’un compte utilisateur met une publication à la corbeille, celle-ci est stockée sur votre site pendant les 30 jours suivants en tant que corbeille. Passé ce délai, WordPress les supprime automatiquement et définitivement.
Vous pouvez modifier ce comportement en modifiant le nombre de jours pendant lesquels vous souhaitez conserver la corbeille.
define( 'EMPTY_TRASH_DAYS', 15 ); // 15 days
Si vous n’aimez pas cette fonctionnalité, vous pouvez la désactiver en ajoutant la fonction ci-dessous :
define('EMPTY_TRASH_DAYS', 0 );
Note : L’utilisation de zéro signifie que vos publications seront supprimées définitivement. WordPress ne demande pas de confirmation lorsque vous cliquez sur Supprimer définitivement. Tout clic accidentel pourrait vous coûter…
Pour en savoir plus, consultez notre article sur la façon de limiter ou de désactiver la fonctionnalité de vidage automatique de la corbeille en WordPress.
9. Ajout de constantes FTP/SSH à la configuration de WordPress
Par défaut, WordPress vous permet de passer à la version du cœur de WordPress, des thèmes et des extensions depuis le tableau de bord de l’administrateur. Certains hébergeurs nécessitent une connexion FTP ou SSH à chaque fois que vous essayez de mettre à niveau ou d’installer une nouvelle extension.
En utilisant les codes, vous pouvez définir les constantes FTP ou SSH et ne plus jamais avoir à vous en soucier.
// forces the filesystem method: "direct", "ssh", "ftpext", or "ftpsockets"
define('FS_METHOD', 'ftpext');
// absolute path to root installation directory
define('FTP_BASE', '/path/to/wordpress/');
// absolute path to "wp-content" directory
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
// absolute path to "wp-plugins" directory
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
// absolute path to your SSH public key
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
// absolute path to your SSH private key
define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa');
// either your FTP or SSH username
define('FTP_USER', 'username');
// password for FTP_USER username
define('FTP_PASS', 'password');
// hostname:port combo for your SSH/FTP server
define('FTP_HOST', 'ftp.example.org:21');
Note : N’oubliez pas de remplacer le chemin WordPress et ftp.example.com par vos propres informations d’hébergeur FTP.
10. Permettre la réparation automatique des bases de données
WordPress est doté d’une fonctionnalité avant d’optimiser et de réparer automatiquement la base de données de WordPress. Toutefois, cette fonctionnalité est inactive par défaut.
Pour activer cette fonctionnalité, vous devez ajouter la ligne suivante au fichier de configuration de WordPress.
define('WP_ALLOW_REPAIR', true);
Après l’Ajouté, vous devez visiter l’URL suivante pour optimiser et réparer la base de données de WordPress.
http://example.com/wp-admin/maint/repair.php
N’oubliez pas de remplacer exemple.com par votre propre nom de domaine. Vous verrez une page simple avec les facultatifs de réparer ou de réparer et d’optimiser la base de données. Vous n’avez pas besoin d’être connecté pour accéder à cette page.
11. Augmenter la limite de mémoire de PHP
Certaines des erreurs WordPress les plus courantes sont dues à l’épuisement de la mémoire de PHP. Vous pouvez augmenter la limite de mémoire de PHP dans le fichier wp-config.php. Il vous suffit de coller le code ci-dessous :
define('WP_MEMORY_LIMIT', '128M');
12. Déplacement du répertoire wp-content
WordPress vous permet de déplacer votre répertoire wp-content. Certains experts estiment que cela peut aider à renforcer la sécurité de WordPress.
Vous devrez ajouter le code suivant à votre fichier wp-config.php :
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' );
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');
define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );
define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');
N’oubliez pas de remplacer exemple.com par votre propre nom de domaine.
13. Outil de personnalisation des comptes utilisateurs/utilisatrices
Par défaut, WordPress enregistre toutes les données des utilisateurs dans les tables wp_users et wp_usermeta. En utilisant la fonction ci-dessous, vous pouvez spécifier la table dans laquelle vous souhaitez que vos informations utilisateur soient stockées.
define('CUSTOM_USER_TABLE', $table_prefix.'my_users');
define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
14. Activer le réseau multisite
Chaque site WordPress est livré avec une fonctionnalité multisite intégrée qui vous permet de créer plusieurs sites WordPress en utilisant la même installation. Pour en savoir plus, consultez notre guide complet sur l ‘installation et la configuration du réseau WordPress multisite.
Vous pouvez activer la fonctionnalité multisite en ajoutant la ligne suivante à votre fichier de configuration WordPress :
define('WP_ALLOW_MULTISITE', true);
15. Sécuriser le fichier de configuration de WordPress
Comme vous pouvez le voir, le fichier wp-config.php contient des réglages WordPress très importants. Par défaut, il est situé dans le dossier racine de WordPress, mais vous pouvez le déplacer. Il peut être déplacé en dehors de votre répertoire public_html, de sorte que les utilisateurs/utilisatrices ne puissent pas y accéder. WordPress sait par défaut chercher dans d’autres répertoires si le fichier n’est pas trouvé dans le dossier racine de WordPress.
Vous pouvez également ajouter le code suivant à votre fichier .htaccess pour limiter l’accès à ce fichier.
# Protect wp-config.php
<Files wp-config.php>
order allow,deny
deny from all
</Files>
Nous espérons que cet article vous a permis d’apprendre quelques astuces de configuration de WordPress que vous ne connaissiez pas. Vous pouvez également consulter notre méga liste de 57+ astuces, trucs et astuces WordPress que vous pouvez utiliser sur votre site ou notre sélection des meilleurs outils pour les freelances, les designers et les développeurs WordPress.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
tareq khury
hello and thanks for this important post .
my question is where i must add this codes , in the config.php file
but in which line exactly .
regards
WPBeginner Support
There is no specific line but it is normally best to add the code to the bottom so it is easy to find and remove should you want in the future.
Administrateur
Ali
Thanks alot. But i want to know something more detailed about point 9. Where to place this code and more?
WPBeginner Support
The code would go into your wp-config.php file
Administrateur
Gurjit Singh
Thanks for this useful post.
i was looking for this 10. Allow Automatic Database Repair.
Thank you very much.
Thanks and Regards,
Gurjit Singh
WPBeginner Support
Glad our article could help
Administrateur
Sunday
I rely on your tutorials for my website development. The problems here are that you did not state clearly where these codes will be pasted in the various environments. Looking forward to your response.
Sunny Sum
I want to increase my server timeout limit, where I can find that code???
Stu Rader
Wow really awesome. This helped so much.
I’m wresting with one thing setting up my own CDN (which the above took care of 98%:).
I’m trying to exclude a sub-folder on my CDN sub-domain as it’s throwing an access violation.
I’ve tried a half dozen NGINX CORS directives in a server block .conf with no joy.
I want to figure out how to use this file in the main domain rather than how it’s written below:
Access to Font at ‘https://cdn.mydomain.com/wp-content/themes/mytheme/includes/lib/assets/fonts/fontawesome/fontawesome-webfont.woff?v=4.7.0’ from origin ‘https://mydomain.com’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘https://mydomain.com’ is therefore not allowed access.
Thanks if you can point me to a fix or relevant info you may have !!
Stu
Hypez
They can verufy the information in the wp-config.php if the password or database names correspond and change them if not.
Gopal
My WordPress website adds weird numbers as suffix to every page URL. Why is it happening? I changed the permalinks settings to display post names; it didn’t help.
Could you please guide me?
Here are a few page urls of my site:
WPBeginner Support
Try these WordPress troubleshooting tips step by step and see if it resolves your issue.
Administrateur
Alex
I have this ‘issue’ – for me its down to backup buddy needing to be run in alternative WP cron mode. The backup buddy FAQ told me to add this:
define(‘ALTERNATE_WP_CRON’, true);
to my wp_config.php file which now adds random numbers etc to URLs.
Its this for me as removing it stops it but also stops backup buddy from working correctly.
David Pascal
I have always enjoyed reading contents on this site. Thanks for sharing this awesome tricks.
ugwu victor
I use useronline plugin…When am in the useronline dashboard I notice that some users want to access my default css, upload images link with their browser! So am scared may be they want to hack my site! Please any help on how to stop them
Exnius
Hey, amazint tricks, thanks a lot. Very useful!
Garratt Campton
WordPress Error Log –
How should I do this in a local environment?
I’m currently using DesktopServer (Xampp lite – Installs sites with .dev extension locally eg. « mysite.dev ») with SourceTree (Git) – However trying to figure out what the path I should be using to my error log file is proving difficult. Could I use a full URL path such as « http://mysite.dev/php_error.log » ? or does it need to be the system file path « C:/Users/Garratt/Documents/mysite.dev/php_error.log » ?
WPBeginner Staff
Yes.
German learning Munich
Hi thanks for the great summary!
I have a question: is any change in the wp-config immediately effective?
Angsuman Chakraborty
Yes, it is immediately effective
Nathan Pinno
Got a question: How do I transfer ownership of a site from one user to another? Like I set it up with my admin account, but I want to have another user be the main admin and do updates and posts. I doubt I can just set them as an admin and myself as a subscriber and be done with it, so what’s the correct route of doing so?
WPBeginner Staff
Yes that’s one way to do it. A WordPress site can also have multiple administrators.
If you also want to transfer them the ownership of domain, web hosting, and database then you will have to create a user account for them in your web hosting control panel. After that you can give them the complete control on domain, hosting, and database as well.
Nathan Pinno
They already have all that, I’m just helping them redevelop their website (cause it’s not a good look right now nor is it easy to update ATM). Found this awesome church theme for them (cause it’s my church’s website I’m working on), and wanted to see how difficult it would be to switch admins. Last time a site of mine had multiple admins, just the first admin (ID #1) could update the plugins, themes, and WP in general.
Anon
Im not too sure but usually u have to do it in your Terminal like : sudo adduser sudo.
john
After I got rid of the database error, now I dont have any errors but now I have just blank page with no source code ? Please help what to do now. Thnaks
Toufiq Hassan Shawon
Thanks, It helps me lot, why dont you add
define(‘WP_CACHE’, true);
roger
useful!
so, what about the Securing Your WP-Config File ? thank you
Oscar
Just a heads up, that the indicated GoDaddy Hostname doesn’t work (maybe at least not for everyone) and the $_ENV option didn’t either.
I found instructions on where to find my specific Hostname here:
http://support.godaddy.com/help/article/39/viewing-your-databases-details?locale=en
Maganizo
I can’t thank you more! You’ve touched on the heart of any online work in a very clear way! You’re great teachers indeed! It can’t be any better than this! Write more!
brad
Hey Guys
Great site, great info just found it. with the secure
Securing Your WP-Config File
where is the code that we need? please
Brad
Bon
is there any configuration in wordpress 3.5 so that the uploaded files will use the defined WP_HOME or WP_SITEURL? thanks
Heather Wood
Awesome. There is so much stuff about wordpress I didn’t even know. Like the repair database define code. this is one great article. I will have to bookmark this for sure.
yadicemil
Thanks for this useful tips.I!m a beginner and I have a wordpress.org web site.
I have followed your instructions and changed the wp-config file by copying the secure keys grabbed from the web site: https://api.wordpress.org/secret-key/1.1/salt/
After putting the new config file into the WP-Admin Folder in the server it gives an error « Parse error: syntax error, unexpected T_VARIABLE…. »
That line is: « $table_prefix = ‘wp_’; » and it has never been changed.
How can I correct this error? Thanks.
wpbeginner
@yadicemil You are not supposed to put this in the wp admin folder.
Mark Hedley
Like it
marco
you rock man, thanks for the info
Tony Cosentino
Great information about such an important are as configuration. With all the pharma hacks going on recently the last tip is my favourite. Protecting that damn wp-config file seems to be the key to palace these days.
Thank you for the effort putting all of this information in one place for us all to benefit.
kind regards
Tony
Aidan
Cool, this is informative and always a good flashback if I forgot any of them.
Thanks for sharing!
Aminul Islam Sajib
What exactly does adding those # protect wpconfig.php… to .htaccess file do?
Do I have to do anything else after moving .htacess from public_html to root folder?
Editorial Staff
You will never move the .htaccess file anywhere. That file remains in your public_html folder or the folder where WordPress is installed… The code in that file will disallow all access to wp-config.php file from the web.
You can move the wp-config.php file to the root directory (one above public_html) to add an extra layer of security. One or the other would be fine… doing both is an overkill.
Administrateur
Andrew Nacin
For reference, 3.0 does not include more security keys, nor were 2.9 installs any less secure when it came to authentication.
The first four are keys. The last four are salts. The salts were missing from wp-config.php before 3.0, but we actually added salts a few versions ago. We added them to wp-config.php in 3.0 so we could easily populate them on install, but they are not necessary.
If salts are not defined (or remain the default, e.g. « Enter unique phrase here »), then WP simply generates random strings to use as salts and stores those in the database.
Also, for an error log, you should instead use these constants:
define( 'WP_DEBUG', true ); // Enables error reporting.
define( 'WP_DEBUG_DISPLAY', false ); // Hides the errors.
define( 'WP_DEBUG_LOG', true ); // Logs errors to wp-content/error.log (or use @ini_set('error_log') )
This has the added benefit of exposing PHP notices, which provide developers warnings about code that could be better or may have errors in it.
Editorial Staff
Thank You Andrew. Didn’t know about the SALT keys. Just saw it in 3.0 and thought it was a new addition.
Administrateur
Adam W. Warner
Very nice write up, and easy read for beginners. I’ll be sending people here to learn;)
Ozh
$_ENV{DATABASE_SERVER} ??
Syntax doesn’t look correct to me ($_ENV[‘stuff’] maybe but {stuff} I don’t think so) and I’ve just checked, couldn’t find any host I have access to that has this defined. Definitely not something common.
Other than this, nice roundup. Note that WP doesn’t look « in other directories » to find wp-config.php, it just goes one directory up (which is in most case out of the server document root).
gopalb
Thanks…. it’s really good tutorial…Can you write the detail step by step tutorial of « Securing Your WP-Config File » for us…
Editorial Staff
The last two steps are pretty easy to follow, but sure will add that one to the list
Administrateur
Carlos
Great article as always. I especially like the .htaccess file tip.
DaveK
Wow plenty there to get my teeth into, thanks WPB
Angie Bowen
Thanks so much for all of this great info. This is the side of WordPress I need to learn more about so I’m going to use this post as a springboard to really dive in.