Options chargées automatiquement

Options chargées automatiquement – Options chargées automatiquement

Vous avez un problème dans votre installation WordPress avec le message suivant ?

Les options chargées automatiquement peuvent affecter les performances. Les options chargées automatiquement sont des paramètres de configuration pour les plugins et les thèmes qui sont automatiquement chargés chaque fois qu’une page est chargée dans WordPress. S’il y a trop d’options chargées automatiquement, elles peuvent ralentir votre site. Votre site dispose de 1900 options chargées automatiquement (taille : 1500 Ko) dans le tableau des options, ce qui peut entraîner des ralentissements de votre site. Vous pouvez examiner les options qui sont automatiquement chargées par votre base de données et supprimer celles qui ne sont plus nécessaires à votre site.

Voici la procédure pour capturer et résoudre le problème :

Pour optimiser les options chargées automatiquement dans WordPress, il est crucial de vérifier et de nettoyer régulièrement la table wp_options afin qu’elle ne charge pas trop de valeurs d’options ou trop grandes sur chaque demande de page. Un trop grand nombre d’options chargées automatiquement entraîne des problèmes de performances, car elles sont chargées en mémoire à chaque fois qu’une page est chargée, qu’elles soient réellement nécessaires ou non.

Que sont les options de chargement automatique ?

  • Dans la table wp_options, il existe un champ de chargement automatique (« oui » ou « non ») qui détermine si une option est chargée en mémoire à chaque fois qu’une page est chargée.
  • Les paramètres des plugins et des thèmes, mais aussi les caches temporaires tels que les transitoires, se terminent souvent par « oui » dans le chargement automatique.
  • Si la quantité de ces données (>1 Mo, critique à >3-5 Mo) est trop importante, cela a un effet négatif sur les performances.

Mesures d’optimisation

  • Avec des requêtes SQL dans phpMyAdmin ou via un plugin (par exemple Autoload Checker, AAA Option Optimizer), la taille et le nombre d’options chargées automatiquement peuvent être analysés et spécifiquement limités.
  • Supprimez les entrées de plugin/thème obsolètes ou inutiles de wp_options et définissez l’attribut autoload sur « no » pour les options rarement utilisées (par exemple via SQL : UPDATE wp_options SET autoload = 'no' WHERE option_name = 'NAME';).
  • Nettoyez régulièrement les transitoires expirés avec SQL :
    DELETE FROM wp_options WHERE autoload = 'yes' AND option_name LIKE '%transient%';.

Bonnes pratiques pour les développeurs

  • Seules les options nécessaires sur chaque page doivent être véritablement chargées automatiquement (par exemple, les paramètres globaux du thème).
  • Il est préférable de stocker de grands tableaux ou des configurations rarement nécessaires avec autoload = « no » ou dans vos propres tables.
  • Lors de la désactivation des plugins, les crochets peuvent être utilisés pour définir le chargement automatique sur « non » au lieu de supprimer complètement les options.

Remarque : Depuis WordPress 6.6, il existe d’autres valeurs que « oui/non » (« on », « auto », « auto-on »), et tous les outils ne les reconnaissent pas correctement.

Outils et plugins utiles

  • Vérificateur de chargement automatique (à jour et compatible)
  • Optimiseur d’options AAA (affiche l’utilisation sur les pages)
  • Advanced Database Cleaner (contrôle d’option basé sur un plugin)

L’optimisation ciblée réduit la charge du serveur, réduit l’utilisation de la mémoire et améliore sensiblement les temps de chargement des pages.

Comment puis-je vérifier la taille totale des options de chargement automatique dans la base de données ?

La façon la plus simple de déterminer la taille totale des options de chargement automatique dans la base de données WordPress est d’utiliser une requête SQL. Cela renvoie la somme (en octets) de toutes les options chargées automatiquement. La requête SQL standard pour cela est la suivante :

sql:
SELECT SUM(LENGTH(option_value)) AS autoload_size_bytes
FROM wp_options
WHERE autoload = 'yes';

Le résultat (« autoload_size_bytes ») est la taille en octets. Pour une meilleure lisibilité, cette valeur peut être divisée par 1024 pour obtenir des kilo-octets (Ko). Si un préfixe de table différent est utilisé, « wp_options » doit être ajusté en conséquence.

Pour plusieurs nouvelles valeurs WP (à partir de WP 6.6, par exemple « yes », « on », « auto », « auto-on ») :

sql:
SELECT SUM(LENGTH(option_value)) AS autoload_size_bytes
FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto', 'auto-on');

Alternativement, des plugins tels que « Autoload Checker » offrent un aperçu graphique pratique de la taille totale et des avertissements en cas de dépassement des valeurs limites.

Une taille totale de chargement automatique inférieure à 1 Mo est considérée comme non critique, à partir de 2-3 Mo et plus, il faut l’optimiser de toute urgence. La taille totale de toutes les options de chargement automatique dans la base de données peut être déterminée directement à l’aide d’une simple requête SQL. Cela génère la somme des longueurs d’octets de toutes les entrées chargées automatiquement dans la table wp_options :

sql:
SELECT SUM(LENGTH(option_value)) AS autoload_size_bytes
FROM wp_options
WHERE autoload='yes';

La valeur du résultat est exprimée en octets, par exemple, 1048576 octets = 1 Mo. Si WordPress 6.6 ou plus récent est utilisé et que des valeurs de chargement automatique modernes telles que « on », « auto », « auto-on » sont également utilisées, vous devez ajuster la requête comme suit :

sql:
SELECT SUM(LENGTH(option_value)) AS autoload_size_bytes
FROM wp_options
WHERE autoload IN ('yes','on','auto','auto-on');

Avec cette requête, vous pouvez rapidement savoir s’il y a un besoin d’optimisation – une taille inférieure à 1 Mo est généralement considérée comme non critique, à partir de 2-3 Mo, vous devez nettoyer.

Meilleure pratique pour les options autoload=yes

Seules les options qui sont réellement nécessaires à chaque chargement de page doivent recevoir l’attribut autoload=yes. La meilleure pratique consiste à définir cet indicateur uniquement pour les paramètres et configurations pertinents à l’échelle mondiale, ce qui garantit des performances optimales et évite une charge de mémoire inutile.

Quelles sont les options de autoload=yes ?

  • Les paramètres globaux du thème tels que le titre du site, la langue, la couleur par défaut, le logo – car ils sont nécessaires sur chaque page.
  • Configurations centrales des plugins qui sont nécessaires sur toutes les pages et pour chaque requête, par exemple les paramètres généraux d’un plugin de mise en cache ou d’un plugin de sécurité.
  • Paramètres pour les fonctions que WordPress lit directement lors de l’amorçage, par exemple la configuration du widget pour les barres latérales intégrées à l’échelle mondiale.
  • Petites valeurs d’option couramment utilisées (chaînes ou tableaux de la taille d’un Ko) qui doivent être chargées rapidement.

Options qui ne doivent PAS être chargées automatiquement

  • Des paramètres qui ne sont nécessaires que dans le backend, dans certains plugins, ou rarement (par exemple, les paramètres des plugins qui ne sont pertinents que dans le tableau de bord de l’administrateur).
  • Les grands tableaux ou structures de données, par exemple les données statistiques, les caches d’importation, les transitoires à long terme, etc., doivent être conservés autoload=no ou mieux stockés dans leurs propres tables de base de données.
  • Valeurs temporaires, telles que les transitoires et les entrées, qui ne sont pertinentes que pour des URL spécifiques.

Conseils pour les développeurs

  • Lors de la création d’une option dans le code add_option() ou update_option(), définissez toujours l’indicateur de chargement automatique spécifiquement. Exemple : add_option('my_plugin_cached_settings', $data, '', 'no'); pour les données rarement utilisées.
  • À partir de WordPress 6.6, le chargement automatique peut également être défini sur « auto » afin que WordPress décide lui-même de manière heuristique de ce qu’il faut charger automatiquement. Pour les options critiques, cependant, continuez à utiliser « oui » ou « non » de manière ciblée.

En cas d’incertitude, moins c’est plus ! En pratique, il devrait généralement y avoir <20 à 40 valeurs d’option avec autoload=yes, et la taille totale ne devrait pas dépasser 1 Mo si possible. L’attribut autoload=yes ne doit être attribué qu’aux options indispensables pour chaque vue de page – par exemple, les paramètres globaux du thème ou les configurations centrales des plugins actifs. Les options qui ne sont nécessaires que dans le backend ou qui contiennent de grandes quantités de données doivent absolument utiliser autoload=no.

Quand autoload=yes a du sens

  • Paramètres globaux du site Web, tels que le titre du site, la langue principale ou le logo.
  • Configurations essentielles de plugins ou de thèmes dont le frontend a besoin sur chaque page (par exemple, les paramètres de cache ou les configurations de sécurité).
  • Petites valeurs d’option qui sont appelées fréquemment (taille maximale de la Ko).
  • Coordonnées du widget pour les barres latérales intégrées à l’échelle mondiale.

Quand autoload=no a du sens

  • Options qui ne sont pertinentes que dans l’admin WP ou pour des URL spécifiques (par exemple, les paramètres du plugin pour les pages backend).
  • Tableaux/objets volumineux (par exemple, données statistiques, listes d’importation) qui gonflent la charge utile.
  • Valeurs à court terme telles que les transitoires ou les données spécifiques liées au plugin.

Notes du développeur

  • Définissez toujours le chargement automatique spécifiquement : add_option()/update_option() avec le paramètre.
  • Pour les nouveaux projets à partir de WP 6.6, autoload= »auto » peut être utile ; mais utilisez explicitement « oui » ou « non » pour les données critiques.

Seules les options les plus importantes (<40) et les plus petites possibles doivent être chargées automatiquement, idéalement la taille totale doit rester inférieure à 1 Mo.

Requête SQL pour répertorier les options de chargement automatique volumineuses par taille

La requête SQL suivante répertorie les options de chargement automatique les plus volumineuses de la table wp_options (préfixe par défaut) et les trie en fonction de leur quantité de données par ordre décroissant. Cela permet d’identifier facilement les plus gros gros gros consommateurs de mémoire et, si nécessaire, de les optimiser ou de les supprimer de manière ciblée :

SQL :
SELECT
option_name,
LENGTH(option_value) AS option_size_bytes
FROM wp_options
WHERE autoload = 'yes'
ORDER BY option_size_bytes DESC
LIMIT 50;

Le résultat affiche les noms et les tailles d’octets des 50 premières options avec autoload=yes. Si un préfixe de table différent est utilisé, wp_options doit être ajusté en conséquence.

Alternativement pour plusieurs variantes de chargement automatique (à partir de WP 6.6, par exemple ‘yes’, ‘on’, ‘auto’, ‘auto-on’) :

SQL :
SELECT
option_name,
LENGTH(option_value) AS option_size_bytes,
autoload
FROM wp_options
WHERE autoload IN ('yes','on','auto','auto-on')
ORDER BY option_size_bytes DESC
LIMIT 50;

Cela vous donne les plus grandes options de chargement automatique, y compris les nouvelles valeurs WP.

Un suivi régulier de ces valeurs permet d’identifier à un stade précoce les problèmes de performance et d’y remédier de manière ciblée.

Comment supprimer en toute sécurité les options orphelines des plugins supprimés

Instructions étape par étape

Sauvegarde de la base de données

Avant d’apporter des modifications, assurez-vous de créer une sauvegarde complète de la base de données, par exemple via phpMyAdmin ou un plugin.

Identification des options orphelines

Recherchez les noms d’options qui contiennent le préfixe ou le suffixe du plugin supprimé, par exemple avec :

sql:
SELECT option_name FROM wp_options WHERE option_name LIKE '%beispielplugin%';

Les modèles spécifiques aux plugins, tels que _pluginname_setting souvent utiles ici.

Désactiver les options orphelines

Avant de supprimer, l’attribut autoload peut être défini sur « no » :

sql:
UPDATE wp_options SET autoload = 'no' WHERE option_name = 'EINTRAG';

Vérifiez si le site continue de fonctionner comme prévu pour éviter des effets secondaires inattendus.

Suppression des options orphelines

S’il n’y a pas d’erreurs après une période d’essai, les options peuvent être supprimées en toute sécurité :

sql:
DELETE FROM wp_options WHERE option_name = 'EINTRAG';


Vous pouvez également supprimer selon plusieurs modèles :

sql:
DELETE FROM wp_options WHERE option_name LIKE '%pluginname%';


Pour les migrateurs :

sql:
DELETE FROM wp_options WHERE option_name LIKE ('%transient%');


Outils automatisés et plugins

Utilisez des plugins tels que « Advanced Database Cleaner » ou « WP-Optimize », qui détectent souvent automatiquement les options orphelines et les fournissent pour confirmation via une interface utilisateur.

Les commandes WP-CLI simplifient le processus de suppression pour les développeurs, par exemple l’option wp supprimer option_name.

Notes importantes

  • Ne supprimez jamais les options qui peuvent être attribuées de manière non sécurisée – recherchez toujours à quel plugin/thème elles pourraient appartenir.
  • Dans le cas de préfixes inhabituels, il est utile de rechercher des noms de plugins historiques ou de jeter un coup d’œil aux fichiers de plugins plus anciens.
  • Évitez à tout prix de supprimer ou de modifier les options essentielles du noyau de WordPress !

Un nettoyage régulier réduit la taille de la base de données et le risque de problèmes de temps de chargement. Des plugins tels que Advanced Database Cleaner ou WP-Optimize prennent en charge le nettoyage ciblé et l’automatisation du contrôle.

Agence WordPress JoeWP

Vous avez un problème avec les options chargées automatiquement sur votre site Web WordPress et vous souhaitez que nous le résolvions ?