Selecteur de langue

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.

/** 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/

Auteur

Quentin Le Duff – Votre partenaire WordPress

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *