Table des matières
Le problème des options de la base de données WordPress
L’essentiel à savoir pour comprendre
Quand l’écran de santé de WordPress vous reproche le problème « Autoloaded Option Could Affect Performance » (« Les options chargées automatiquement peuvent affecter les performances« ), c’est qu’il a détecté que la table « Options » de votre base de données charge trop de données.
Et ça, pour l’instant, vous ne comprenez pas ce que ça veut dire ni comment corriger ce problème. Je vais vous l’expliquer.
Commençons par poser l’essentiel des infos à connaitre :
- WordPress est constitué de 3 choses :
- Des fichiers qui font tourner WordPress, ses thèmes, ses plugins
- Une base de données qui stocke les paramètres de WordPress, des thèmes, des plugins, et toutes les infos des contenus que vous publiez sur votre site (articles, pages etc)
- Des fichiers « médias »
- Une base de données est faite de tables (des tableaux avec lignes et colonnes) qui contiennent des champs qui contiennent des valeurs.
- Par exemple, si ma carte d’identité était une base de données, elle contiendrait une table « Carte », qui aurait un champ « Prénom » dont la valeur serait « Ludovic ».
- La base de données contient toujours une table « Options »
- Cette table « Options » contient des réglages importants de WordPress, des thèmes et des plugins (qui peuvent aussi stocker d’autres données dans d’autres tables)
- Chaque option a un champ « Autoload » avec une valeur « yes » ou « no »
Voici à quoi ressemblent les options dans la base de données d’un site WordPress :

Maintenant que vous avez compris ça, c’est là que les problèmes commencent.
Des options périmées ou inutiles
La table Options, sur un site qui a quelques mois ou années, sur lequel on a installé et désinstallé divers thèmes et plugins, se dégrade.
Elle finit par stocker des options périmées, liées à des thèmes et des plugins qu’on a désactivés ou désinstallés.
C’est scandaleux, vous allez me dire. Et je vous dirai qu’on est d’accord : les codeurs, les créateurs de thèmes et de plugins, font assez souvent mal leur travail. Ils permettent de désactiver ou désinstaller leurs thèmes et plugins, en laissant tout un tas de déchets derrière eux.
Certains le font même intentionnellement, en toute connaissance de cause. Leur but, qui peut passer pour légitime, est que si vous avez désinstallé leur thème ou plugin, et que plus tard vous l’installez à nouveau, vous retrouverez vos options telles quelles. Vous n’aurez donc pas à refaire toute la configuration.
Ce but peut apparaître légitime. Seulement, quand vous vous retrouvez avec les options de 20 plugins désinstallés, qui se chargent toujours sur chacun de vos pages deux ans plus tard, et plombent vos performances techniques… vous pouvez trouver cela un tantinet abusif.
Le pire, c’est qu’une partie de ces options a la valeur « autoload » à « yes ». Par exemple, vous avez désinstallé Elementor, WooCommerce, LiteSpeed etc, mais des dizaines de leurs options se chargent toujours – en autoload, donc – sur chaque page de votre site.
Bilan : Google PageSpeed va compter le temps qu’il met à charger chacune de vos pages, incluant ces options inutiles, et limitera votre trafic en raison de mauvaises performances. C’est ballot !
La solution : SweepPress et cache objet
Le concept de la solution
Conceptuellement, la solution peut s’exprimer ainsi :
- il faut examiner chaque option
- voir si elle est périmée ou non
- si elle est périmée et inutile, il faut l’effacer
- voir si elle est en autoload ou non
- si elle est en autoload, alors il faut déterminer si cet autoload est pertinent ou pas
- et si l’autoload semble superflu, alors il faut changer sa valeur et le passer de « yes » à « no »
Là, vous aurez un nouveau problème : en moyenne, le grand-public amateur n’a aucune idée de comment évaluer la pertinence de l’autoload d’une option donnée.
Moi, qui suis professionnel (mais pas codeur), qui viens de me former en autodidacte sur cette question très technique, je ne suis pas toujours 100% sûr de savoir faire le bon choix.
Donc je teste (après avoir sauvegardé la base de données !!), et j’agis selon mes connaissances :
- une option autoloadée liée à un plugin qui n’intervient que dans l’admin de WordPress, par exemple Broken Link Checker ou Matomo, évidemment je n’ai aucun besoin de l’autoloader pour mes visiteurs
- tandis qu’une option liée à l’affichage d’éléments sur mes pages, là je préfère la laisser en autoload yes
L’outil de la solution : le plugin SweepPress
Perso, j’utilise le plugin SweepPress en version gratuite pour inspecter et nettoyer mes options.
D’autres plugins font le job, et il serait possible de le faire direct dans la base de données.
Mais je préfère l’ergonomie simple et claire de SweepPress.
SweepPress me permet de lister très facilement toutes les options autoloadées, et de les classer par taille.
Il est évidemment prioritaire de désactiver les options autoloadées de grande taille, sans s’embêter avec des centaines d’options minuscules.
Ce qu’on veut, au final, c’est obtenir une taille d’options autoloadées inférieure à 1mo, et si possible, même, inférieure à 800 voire 600ko.
Ce n’est pas toujours faisable : un site rempli de fonctionnalités, multilingue, eCommerce etc etc, aura forcément beaucoup d’options autoloadées, plus qu’un simple site de 20 pages.
Bref, nettoyez tout ce que vous pouvez, vous y gagnerez toujours un peu de temps de chargement donc de trafic.
A noter : le nettoyage des options aide aussi à régler un autre problème fréquemment signalé dans l’écran de santé de WordPress : « Le temps de réponse du serveur est lent ». Google PageSpeed vous dit la même chose autrement : « Réduire le temps de réponse initial du serveur ».
Exemples d’options à nettoyer ou pas
Voici un exemple plus concret.
SweepPress me dit qu’un de mes sites a, parmi des centaines d’autres, les options suivantes :

On peut analyser ces options comme ceci :
- 2 options sont liées à WooCommerce, un plugin activé : là, je ne touche à rien
- 1 option, SnS_options, vient du plugin Scripts and styles, désactivé temporairement ou définitivement. L’option est en autoload, et pire, elle pèse lourd : 3k pour un plugin inactif, je n’aime pas ça. Donc, je désactive l’autoload, sans supprimer l’option
- 1 option, PMXE, est d’origine inconnue. Elle ne pèse pas très lourd. Dans le doute, je ne fais rien.
- 1 option, wp_all_export, vient aussi d’un plugin « inconnu » par SweepPress, mais en fait je peux l’identifier. Il s’agit évidemment de WP All Export, un plugin désinstallé. L’option est minuscule et de toute façon elle n’est pas en autoload, je pourrais ne pas m’en occuper. Mais comme elle est obsolète, je la supprime.
Redis Cache
Je ne comprends pas tout à 100% dans ce dont je vais parler là. Je vous donne donc mon opinion actuelle, qui est peut-être entachée d’erreur.
Je pense qu’on peut régler en grande partie le problème des options autoloadées, en activant un service de « cache objet ».
Le cache objet, à ce que j’ai compris, c’est un cache (ça, je sais ce que c’est : une sorte de mémoire), qui s’appliqué précisément aux données que les fichiers PHP de WordPress vont chercher dans la base de données à chaque chargement de page.
Par exemple, une de ces données est le nom de votre site. Votre thème stocke quelque part dans la base de données un champ « Nom du site », dont la valeur est le nom de votre site.
C’est super, mais c’est bête, aussi : c’est comme si, chaque fois qu’on me demande mon prénom, je répondais : « Euh, attends, je vais consulter ma carte d’identité. (5 secondes passent.) Je sais : je m’appelle Ludovic ! »
Le cache objet crée donc une mémoire temporaire, qui va se rappeler des principales infos nécessaires au bon affichage du site. Et notamment : de nos fameuses options !
Le meilleur système de cache objet est Redis Cache. Il faut qu’il soit disponible sur le serveur ! Si c’est le cas, il suffit de le configurer.
Je pense que le cache objet doit quand même s’installer sur une table options bien nettoyée. A quoi servirait de garder en permanence en mémoire des infos datant de l’année dernière ?
De plus, une table option non nettoyée peut atteindre des tailles considérables, qui réduiront les capacités du cache, fatigueront inutilement le serveur, gaspilleront de l’énergie.
Retour d’expérience
Core Web Vitals améliorés
J’ai fait ce que je viens de décrire, sur 4 de mes principaux sites web.
Mes notes PageSpeed et mes Core Web Vitals se sont améliorées (en partie à cause de l’optimisation des options, et en partie à cause d’autres optimisations) :

Du coup, les impressions de mes pages web dans Google et mon nombre de requêtes ont également augmenté d’environ + 15 à 20% :

Bref, je considère qu’il s’agit là d’une optimisation concluante. Elle prend assez peu de temps et fait gagner de la visibilité.
Service ?
Si vous avez besoin d’aide pour optimiser votre table Options, faire le ménage dans l’autoload, ou installer un cache objet, vous pouvez m’acheter ce service d’optimisation.
En moyenne, je pense pouvoir régler le gros des problèmes en une prestation d’1 à 2h (1 s’il faut nettoyer les options OU installer un cache objet, et 2 s’il faut faire les 2).
Contactez-moi d’abord pour en discuter.
Note : si vous avez un micro-site (10 pages…) je ne pense pas que ce service soit indispensable dans votre cas. Votre priorité devrait plutôt consister à publier du bon contenu, par exemple en créant un blog d’entreprise.





