WordPress : 18 conseils super utiles pour votre fichier « wp-config »

WordPress : 18 conseils super utiles pour votre fichier « wp-config »

Si vous utilisez WordPress, vous connaissez forcément le fichier wp-config.php dans lequel vous pouvez définir une grande variété de paramètres pour contrôler le fonctionnement et le comportement de votre site WordPress.

Dans cet article, vous retrouverez quelques conseils déjà qu’on peut appliquer rapidement et simplement pour sécuriser mon fichier de configuration wp-config.php

NB: le truc du htaccess ne fonctionnera que pour les serveurs Apache, personnellement je préconiserai de le positionner dans le dossier parent de www.

Aujourd’hui, je partage avec vous d’autres conseils (de super conseils bien évidement) pour mieux prendre le contrôle de votre site.

Maintenir une taille raisonnable pour votre base de données et votre site.

Bien optimiser sa base de données et la taille de son site est un grand défi pour les développeurs WordPress. WordPress a tendance à stocker beaucoup de données dans votre base de données pour n’en perdre aucune, comme les données transitoires (le terme en Anglais est transient) ou les révisions d’articles et de pages.

Vous pouvez facilement limiter les révisions d’articles à un numéro de votre choix. Garder les 3 dernières révisions semble être un bon compromis. Il suffit donc d’ajouter cette ligne à votre fichier wp-config.php:

define('WP_POST_REVISIONS', 3);

 

Si vous ne souhaitez pas garder des révisions de vos articles et pages, vous pouvez tout simplement désactiver la fonctionnalité en ajoutant dans le fichier :

Define ('WP_POST_REVISIONS', false);

 

Autre petit détail, WordPress c’est comme Windows, il stocke dans la base de données les pages, les images et les commentaires qui ont été déplacés vers la corbeille. Vous pouvez contrôler le nombre de jours que l’information devra rester dans la corbeille. Dans cet exemple, il faudra supprimer la corbeille tous les jours :

Define ('EMPTY_TRASH_DAYS', 1);

 

WordPress possède aussi une gestion particulière pour gérer les images : A chaque ajout d’images, il va créer un nouvel ensemble d’images de différentes tailles ce qui peut se comprendre, mais à chaque fois que vous modifiez une image, il va encore créer un autre ensemble d’images et garder l’original.

Il faudra définir la propriété IMAGE_EDIT_OVERWRITE à « vrai » pour changer le comportement et ne pas garder les anciennes images une fois changées.

Define ('IMAGE_EDIT_OVERWRITE', true);

 

Sécuriser votre base et votre site

Si votre plan d’hébergement Web prend en charge SSL, vous devez absolument utiliser cette fonctionnalité pour ajouter une couche supplémentaire de sécurité à votre site.

Dans wp-config.php on va forcer les connexions SSL:

Define ('FORCE_SSL_LOGIN', true);

 

Et on va faire pareil pour la zone admin de votre site:

Define ('FORCE_SSL_ADMIN', vrai);

 

WordPress permet aussi de gérer des clés secrètes lesquelles rendent votre site plus difficile à pirater en ajoutant des éléments aléatoires au mot de passe.

Par défaut dans WordPress, ces clés sont vides :

define('AUTH_KEY',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '');
define('NONCE_SALT',       '');

 

Vous pouvez utiliser un générateur de clés et on aura donc

define('AUTH_KEY',         'kL].:th/t>B TAby3^4sA#. v9i)qh7,Y=.ye2f-!-0p~h6 ai?OM7fi^`4aE(Xy');
define('SECURE_AUTH_KEY',  '0JEW+e[$+<8<Akb/~Jc=jA6.AqZCrbK`lTt;sR>T[WOH ^@)*h;QCy9k--B5(;W{');
define('LOGGED_IN_KEY',    'I-[`Q[c+*QCyFXbWS`VxSOD$*5`[`+qLQ5/rL2>6d8Cre6xk>4$ue+9$}PF|o+S|');
define('NONCE_KEY',        'r/jRVWYZ)XhDd1@0lv8jV9%Y(II|FF&F2FC%XN+NFkOF`@(3sIo4?3b?2p27d200');
define('AUTH_SALT',        '!xbhdQt3J4/MWm+2E_ZR$@&J>9mQ[?UF;WO^]CJ.6|J/w*092|vT.*8|2r+il+ys');
define('SECURE_AUTH_SALT', 'o2k{quQ+~UzI+(>+&-HW0%?r-a<8IxCYC-x`p4IiJTc.^>K]HD[Ieebn&~-`$Ct!');
define('LOGGED_IN_SALT',   '5)Xg+|jif w7sT5wLq[mBp-41][_J79m3~A9*klj`>`16a`|@Y/KMl6((4OGcz^-');
define('NONCE_SALT',       'z^l*V]Fbnk_Rfv2 /,&_-$*gk6[!AVXO=[n7+vCvp/1s$Hb} LwBr:h?`*NfQx6W');

 

Lorsque vous utilisez WordPress pour construire un site pour un client et le mettre en production, il y a aussi certaines précautions à prendre par le développeur pour que l’administrateur du site ou plus problématique qu’un pirate ne puisse altérer sa sécurité. Il faudra désactiver l’édition des fichiers depuis l’administration WordPress.

Pour cela toujours dans wp-config.php ajouter cette ligne

Define ('DISALLOW_FILE_EDIT', true);

 

Une autre erreur « classique » des administrateurs de sites WordPress qui ne sont pas des développeurs ou des connaisseurs, est de ne jamais mettre à jour le noyau de WordPress, ce qui conduit bien sûr à des violations de sécurité et à du piratage potentiel.

Vous pouvez forcer WordPress pour mettre à jour automatiquement son noyau (terme en Anglais Core) en utilisant la propriété

WP_AUTO_UPDATE_CORE :
Define ('WP_AUTO_UPDATE_CORE', true);

 

Gagner son temps avec FTP

Sur certains hébergeurs, à chaque installation ou mise à jour d’un plugin, WordPress va vous demander les identifiants FTP. Pour gagner du temps et ne pas avoir à saisir vos identifiants FTP à chaque fois, on va ajouter 3 constantes dans notre fichier wp-config.php pour mémoriser les informations FTP.

Define ('FTP_HOST', 'ftp.yoursite.com');
Define ('FTP_USER', 'Your_FTP_Username');
Define ('FTP_PASS', 'Your_FTP_password');

 

Si votre plan d’hébergement Web prend en charge SSL, assurez-vous que vous activez les connexions SSL pour le FTP pour une sécurité supplémentaire.

Define ('FTP_SSL', true);

 

Activer le débogage

Lors de vos développement d’un site WordPress ou si tout simplement votre site se comporte d’une façon étrange et que vous devez faire de l’inspection du code, vous pouvez (devez) activer la fonction de débogage pour faciliter votre travail.

L’activation du débogage et de la constante WP_DEBUG va causer l’affichage de toutes les erreurs PHP mais aussi les avertissements. Assurez-vous de la désactiver une fois votre inspection du code terminée.

Define ('WP_DEBUG', true);

 

Une alternative à l’affichage de toutes les erreurs PHP sur votre site est d’utiliser un journal. Une fois que vous avez défini WP_DEBUG à vrai, vous pouvez utiliser WP_DEBUG_LOG, une constante qui fera que WordPress va envoyer toutes les erreurs PHP et alertes dans un journal situé dans votre répertoire « wp-content ».

Define ('WP_DEBUG_LOG', true);

 

Si maintenant vous avez un problème de base de données et que cette dernière est cassée, vous pouvez la réparer en accédant au script situé à cet emplacement /wp-admin/maint/repair.php après avoir bien sûr mis la constante WP_ALLOW_REPAIR à vrai :

Define ('WP_ALLOW_REPAIR', true);

 

Veuillez noter que ces constantes sont destinées à être utilisées uniquement lors du débogage d’un site. Une fois que vous avez trouvé et corrigé le problème, n’oubliez pas de définir les valeurs sur faux (false).

Pour vos développements JS et Css la constante SCRIPT_DEBUG vous permet de charger les versions non minifiées de vos fichiers et de ceux de WordPress.

Côté Performance

Notre fameux fichier wp-config.php permet aussi certains ajustements pour assurer une meilleure performance de WordPress.

Vous pouvez commencer par augmenter la mémoire maximale allouée. Notez que cela ne fonctionnera pas si votre fournisseur d’hébergement limite la mémoire, ce qui est souvent le cas sur l’hébergement mutualisé. Il suffit d’ajouter cette ligne (Allouer 96 mégas pour la mémoire)

Define ('WP_MEMORY_LIMIT', '96M');

 

Vous pouvez également allouer encore plus de mémoire aux tâches côté admin (et qui nécessitent plus de mémoire que la navigation sur le site):

Define ('WP_MAX_MEMORY_LIMIT', '256M');

 

WordPress possède aussi un système de cache intégré, situé dans wp-content/advanced-cache.php. Il peut être activé:

Define ('WP_CACHE', true);

 

Conclusion

Voici donc quelques conseils pour mieux comprendre l’utilité et le rôle du fichier wp-config.php

Êtes-vous d’accord avec ces conseils et avez-vous d’autre à nous faire partager ?

Vous pouvez aussi Tester aussi vos connaissances WordPress avec ces 12 questions et voir si vous maîtrisez bien le CMS qui construit 33% des sites web dans le monde


Ingénieur en Informatique et Manager chez @supervizor_fr pendant la semaine. Blogueur le soir et en Week-End.

J’aime transmettre mes connaissances sur le Marketing, WordPress et Réseaux Sociaux entre autres via des articles que j’écris et je publie sur plusieurs blogs