En plus des configurations habituelles concernant la base de données, les clés de sécurité, certaines constantes peuvent être ajoutées pour éviter la surcharge de la bdd et augmenter la sécurité du site. Elles doivent être ajoutées avant cette ligne :
/* That's all, stop editing! Happy blogging. */
Ensuite piocher dans les constantes ci dessous celles qui sont adaptées au site qu’on gère.
Allonger l’intervalle de sauvegarde automatique
La valeur par défaut de cet intervalle est de 60 secondes
define('AUTOSAVE_INTERVAL', 200);
Limiter le nombre de révisions d’articles
On peut complètement désactiver les versions des articles
define('WP_POST_REVISIONS', false);
Mais comme ça peut quand même être utile, on peut choisir combien en garder
define('WP_POST_REVISIONS', 3);
Si cette constante n’avait pas été définie dès le début de l’existence du site, cette nouvelle configuration ne s’appliquant qu’aux nouveaux contenus qui seront créés, il faut faire le ménage dans la bdd.
Pour supprimer toutes les révisions, au niveau de phpMyAdmin, lancer la requête suivante :
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'
Pour supprimer des révisions antérieures à une certaine date :
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision' AND a.post_date < '2018-11-01';
Vider plus rapidement la corbeille
La valeur par défaut est de 30 jours
define('EMPTY_TRASH_DAYS', 10 );
Activer le débogage en phase de développement
Pour obtenir l’affichage de toutes les erreurs, alertes et avertissements de PHP, utiliser la constante WP_DEBUG. Modifie le comportement de PHP par défaut qui affiche seulement les erreurs fatales et / ou montre un écran blanc de la mort lorsque des erreurs sont présentes.
define('WP_DEBUG', true);
Enregistrer les erreurs dans un fichier debug.log à l’intérieur du répertoire /wp-content/. Utile si on veut examiner les avertissements plus tard.
define('WP_DEBUG_LOG', true);
Si on a en place WP_DEBUG_LOG, on peut empêcher l’affichage des messages de débogage dans l’HTML des pages.
define('WP_DEBUG_DISPLAY', false);
Désactiver l’éditeur d’extension et de thème
Même si cette façon d’éditer peut sembler pratique, il vaut mieux modifier ses fichiers uniquement en passant par FTP
define('DISALLOW_FILE_EDIT',true);
Ne pas autoriser les uploads non filtrés
Si piratage, un fichier svg, donc xml pourrait contenir du code malicieux
define('ALLOW_UNFILTERED_UPLOADS',false);
Interdire l’html non filtré
En tant qu’admin on peut ajouter dans un contenu article ou page des balises script, ou iframe. En cas de hack, ces ajouts peuvent être dangereux. Si on a quand même besoin d’ajouter des iframe ou script, on peut le faire en les transformant en shortcode. Et on utilise le shortcode dans le contenu de l’article.
define('DISALLOW_UNFILTERED_HTML',true);
Empêcher que l’url du site puisse être modifiée
define('RELOCATE',false);
Interdire les installations d’extension et thèmes
Quand le site est livré à un client et est 100% fonctionnel comme attendu, on peut interdire l’installation d’extensions et de thèmes (fonctionnalités inutiles dans ce cas)
define('DISALLOW_FILE_MODS',true);
Activer la réparation automatique de la bdd
A utiliser quand une bdd est endommagée ou corrompue. Cela permet d’activer la fonctionnalité de réparation de la bdd en lançant le script via l’url : {$your_site}/wp-admin/maint/repair.php
define('WP_ALLOW_REPAIR', true);
Augmenter la mémoire allouée aux scripts PHP
La constante wp_memory_limit détermine la mémoire maximale qu’un script peut utiliser lors de son exécution. Sur WP sa valeur par défaut est de 32 Mo qui peut ne pas suffire et provoquer une erreur : PHP Fatal error: Allowed memory size of XXX bytes exhausted. On peut donc l’augmenter pour 64Mo ou 128Mo suffisant la plupart du temps. Sur un site e-commerce on peut avoir besoin de plus.
define('WP_MEMORY_LIMIT', '128M');
Sur les hébergements mutualisés cette mémoire allouée est limitée et toute valeur demandée qui serait supérieure à celle que propose l’hébergement n’aura donc aucun effet. Vous pouvez consulter le lien suivant pour avoir un comparatif mémoire et temps d’exécution des scripts chez différents hébergeurs.
Forcer le https sur l’ admin
Si le site bénéficie d’un certificat SSL
https://codex.wordpress.org/Administration_Over_SSL
define('FORCE_SSL_ADMIN', true);
Désactiver les MAJ automatiques
Désactiver toutes les mises à jour
define('AUTOMATIC_UPDATER_DISABLED', true);
Désactiver les mises à jour de la version de WP
define('WP_AUTO_UPDATE_CORE', false);