Un ensemble de constantes WordPress pour pimper son fichier wp-config.php
, améliorer les performances et la sécurité de son site internet.
Sécurité
Environnement
Constante par défaut pour préciser l’environnement dans lequel le code est exécuté, chez certains hébergeurs, influe sur le comportement et l’affichage d’erreurs. Je préfère le définir clairement dans mon fichier wp-config.php
.
define('WP_ENVIRONMENT_TYPE', 'production');
Langage du code : PHP (php)
URL
Permets d’empêcher de changer le nom de domaine du site depuis l’interface d’administration.
define('WP_HOME', 'https://website.domain/');
define('WP_SITEURL', 'https://website.domain/');
Langage du code : PHP (php)
SSL
Force l’accès à l’interface d’administration en HTTPS.
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
Langage du code : PHP (php)
Débogage
Désactive les fonctions de débogage de WordPress. Permets notamment d’éviter d’afficher les erreurs sur l’interface publique.
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);
Langage du code : PHP (php)
Mises à jour
Force les mises à jour automatiques mineures du cœur de WordPress, et évite le téléchargement des nouveaux thèmes par défaut.
define('WP_AUTO_UPDATE_CORE', 'minor');
define('CORE_UPGRADE_SKIP_NEW_BUNDLED', true);
Langage du code : PHP (php)
Réparation de la base de donnée
Empêche l’accès à l’outil natif de WordPress de réparation de la base de donnée.
define('WP_ALLOW_REPAIR', false);
Langage du code : PHP (php)
Inclusion de code
Empêche de coller et d’exécuter du code « à l’arrache » dans l’éditeur.
⚠️ Peux poser un problème avec certaines extensions ou thèmes qui affichent des SVG.
define('DISALLOW_UNFILTERED_HTML', true);
Langage du code : PHP (php)
Édition du code
Empêche l’édition des fichiers du site depuis l’interface d’administration
define('DISALLOW_FILE_EDIT', true);
Langage du code : PHP (php)
Fichiers mis en ligne
Désactive les téléchargements non filtrés, empêchant les téléchargements de fichiers dangereux.
define('ALLOW_UNFILTERED_UPLOADS', false);
Langage du code : PHP (php)
Performances
Cache
Si défini, WordPress tentera de charger le fichier /wp-content/advanced-cache.php
lors du chargement de la page. Permets d’activer les fonctionnalités des extensions de cache comme Cache Enabler.
define('WP_CACHE', true);
Langage du code : PHP (php)
Mémoire
Ces constantes définissent les limites de mémoire pour l’interface publique (WP_MEMORY_LIMIT
) et l’interface d’administration (WP_MAX_MEMORY_LIMIT
). Je les aligne au plus proche de la mémoire allouée dans le php.ini
.
WordPress utilise des valeurs par défaut (40MB) et vérifie la configuration du serveur pour ajuster ces limites. En les définissant directement, on évite la vérification de configuration et les erreurs, optimise l’utilisation des ressources de l’hébergement et améliore ainsi les performances globales du site.
En général, l’interface d’administration aura besoin de plus de ressources.
define('WP_MAX_MEMORY_LIMIT', '128M'); // Mettre 256M pour un site WooCommerce
define('WP_MEMORY_LIMIT', '40M');
Langage du code : PHP (php)
Compression et concaténation
Force l’utilisation des scripts JS minifiés, active la minification des styles et des scripts par WordPress, charge les scripts dans des fichiers concaténés, active la compression GZIP.
define('SCRIPT_DEBUG', false);
define('CONCATENATE_SCRIPTS', true);
define('COMPRESS_SCRIPTS', true);
define('COMPRESS_CSS', true);
define('ENFORCE_GZIP', true);
Langage du code : PHP (php)
Sauvegarde automatique
Définie la sauvegarde automatique à cinq minutes (au lieu d’une minute par défaut), réduit la charge serveur.
define('AUTOSAVE_INTERVAL', 300);
Langage du code : PHP (php)
Cron WordPress
Désactive le cron natif de WordPress pour ne pas faire doublon.
⚠️ Mettre en place seulement si on peut configurer un cron directement sur l’hébergement.
define('DISABLE_WP_CRON', true);
Langage du code : PHP (php)
Bonus : constantes d’extensions
Contact Form 7
Contact Form 7 charge par défaut ses scripts et styles sur toutes les pages du site, je désactive ce comportement globalement et inclus ces fichiers uniquement sur les pages qui le nécessitent.
define('WPCF7_LOAD_JS', false);
define('WPCF7_LOAD_CSS', false);
Langage du code : PHP (php)
SQLite Object Cache
Active le cache objet avec APCU sur SQLite Object Cache.
/** Object cache **/
define('WP_SQLITE_OBJECT_CACHE_APCU', true);
Langage du code : PHP (php)
ZenPress
L’extension ZenPress que je développe est paramétrable avec les constantes WordPress. Sur les sites de type blog, je laisse la fonctionnalité de flux RSS active.
Besoin de plus de performances ?
Découvre ZenPress, mon extension ultralégère gratuite pour débarrasser ton site WordPress des fonctions inutiles et des publicités, renforcer la sécurité et améliorer les performances.
/** ZenPress **/
define('ZENPRESS_DISABLE_RSS', false);
Langage du code : PHP (php)
Extrait de code complet
Voilà ma section pour optimiser les performances et la sécurité d’un site WordPress à insérer dans la partie dédiée à la personnalisation du fichier wp-config.php
.
Attention à bien la modifier selon les besoins de ton site.
/* Add any custom values between this line and the "stop editing" line. */
/* ————————————————
* Security
* ———————————————— */
define('WP_ENVIRONMENT_TYPE', 'production');
define('WP_HOME', 'https://website.domain/');
define('WP_SITEURL', 'https://website.domain/');
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);
define('WP_AUTO_UPDATE_CORE', 'minor');
define('CORE_UPGRADE_SKIP_NEW_BUNDLED', true);
define('WP_ALLOW_REPAIR', false);
define('DISALLOW_UNFILTERED_HTML', true);
define('DISALLOW_FILE_EDIT', true);
define('ALLOW_UNFILTERED_UPLOADS', false);
/* ————————————————
* Performances
* ———————————————— */
define('WP_MEMORY_LIMIT', '40M');
define('WP_MAX_MEMORY_LIMIT', '128M');
define('AUTOSAVE_INTERVAL', 300);
define('WP_CACHE', true);
define('SCRIPT_DEBUG', false);
define('CONCATENATE_SCRIPTS', true);
define('COMPRESS_SCRIPTS', true);
define('COMPRESS_CSS', true);
define('ENFORCE_GZIP', true);
define('DISABLE_WP_CRON', true);
/* ————————————————
* Plugins
* ———————————————— */
/*** Contact form 7 ***/
define('WPCF7_LOAD_JS', false);
define('WPCF7_LOAD_CSS', false);
/*** Object cache ***/
define('WP_SQLITE_OBJECT_CACHE_APCU', true);
/*** ZenPress ***/
define('ZENPRESS_DISABLE_RSS', false);
/* That's all, stop editing! Happy publishing. */
Langage du code : PHP (php)
J’espère que cette publication t’aidera. Si tu as des questions, besoin de support sur ton site WordPress, ou que tu veux apporter ta contribution, n’hésite pas à me contacter ou à laisser un petit commentaire !
Sources
➡️ https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
➡️ https://wp-kama.com/1588/wordpress-constants
➡️ https://www.php.net/manual/en/ini.core.php#ini.memory-limit
➡️ https://contactform7.com/loading-javascript-and-stylesheet-only-when-it-is- necessary/
Laisser un commentaire