Presque tous les sites Web WordPress® que j'ai vus ont des bases de données gonflées. C'est assez normal. Personne n'est né un expert dans la construction de sites super efficaces et optimisés.
Lorsque j’ai commencé à utiliser WordPress®, je changeais de thème tous les mois et testais de nombreux plugins. J'avais l'habitude de lire ces articles « Top 21 des plugins incontournables » et je les ai tous installés. Quelques semaines plus tard, je les ai désinstallés.
C'est ainsi que vous apprenez : vous essayez, vous testez et vous découvrez ce dont vous avez besoin et ce qui fonctionne pour vous.
Mais des années plus tard, vous vous retrouvez avec une base de données WordPress® remplie de vieux éléments inutiles. En effet, la base de données de votre site Web ne contient pas seulement votre contenu, mais tous les thèmes et paramètres des plugins.
Pourquoi est-il essentiel d’avoir une base de données propre ?
Un client, un blog culinaire avec environ 10 000 visites/jour, rencontrait des temps de chargement lents, de 13 à 15 secondes. La solution proposée par la société d'hébergement consistait à passer à un plan d'hébergement plus cher.
Notre solution était différente : nous avons réalisé un audit du site après la migration vers notre plateforme d'hébergement.
L'audit du site est gratuit si vous payez annuellement pour tout plan d'hébergement de Simplenet ; vous aussi, vous pouvez en bénéficier.
Nous avons découvert plus de 25 000 entrées de base de données dans le tableau WP_OPTIONS avec Autoload réglé sur oui. «Autoload: Oui» signifie que lorsque WordPress® s'initialise, il lit ces options de la base de données, qui prend environ 11 secondes.
Nous avons supprimé ces anciennes options inutiles, et désormais WordPress® se charge en 2-3 secondes. Nous avons également optimisé les images, remplacé certains mauvais plugins par de meilleurs et apporté d'autres modifications mineures.
Elle n'avait pas besoin d'un plan plus coûteux ; elle est restée sur le même plan pendant encore 8 à 9 mois jusqu'à ce que son trafic atteigne environ 60 000 visites/jour, moment auquel il était vraiment temps de mettre à niveau.
L’avantage d’avoir une base de données WordPress® propre était que cela l’a aidée à économiser de l’argent sur l’hébergement Web, à avoir un site Web plus rapide et à évoluer sans effort vers beaucoup plus de trafic.
Voyons donc ce que vous pouvez faire pour optimiser votre base de données WordPress® afin d'obtenir les mêmes avantages.
Toujours sauvegarder en premier
Avant d'effectuer un nettoyage de base de données, vous devez créer une sauvegarde complète du site, y compris la base de données et les fichiers (ou au moins la base de données), car c'est là que nous apporterons les modifications. Cette protection vous permet de restaurer rapidement votre site à son état antérieur en cas de problème, ce qui vous fait gagner du temps, du stress et des pertes potentielles.
Sans sauvegarde, vous ne pouvez pas récupérer les publications, pages, comptes d'utilisateurs ou paramètres supprimés accidentellement. Les erreurs lors du nettoyage d'une base de données, telles que la suppression de tables vitales ou la corruption de données, peuvent également endommager votre site Web, le rendant inaccessible aux visiteurs.
Vous pouvez exporter votre base de données depuis phpMyAdmin. Votre fournisseur d'hébergement doit fournir l'accès à cet outil de gestion de base de données (ou similaire).
Nous offrons l'accès à phpMyAdmin, ainsi qu'à un outil de sauvegarde intégré que vous pouvez utiliser pour effectuer des sauvegardes manuelles à tout moment. Nous proposons également des sites de préparation. Cela signifie que vous pouvez cloner votre site Web en direct sur un site intermédiaire et y apporter toutes les modifications avant de le faire sur un site Web en direct.
Vous pouvez également utiliser un plugin de sauvegarde WordPress® comme :
- SauvegardeWordPress
- Courant ascendantPlus
- SauvegardeWPUp
- VaultPress
- BlogVault
- Capsule temporelle WP
- Gérer les sauvegardes WP
Lorsque vous utilisez un plugin de sauvegarde, veuillez vous assurer que l'archive de sauvegarde est utilisable en dehors de WordPress®. Si le site tombe en panne, vous devez pouvoir restaurer sans accès wp-admin.
Nettoyage de base de WordPress®
Le moyen le plus simple de nettoyer votre base de données WordPress®, en particulier pour les personnes non techniques, est d'utiliser un plugin WordPress®.
Les plugins d’optimisation de bases de données les plus populaires sont :
- WP-Sweep
- Optimiseur d'options AAA
- Nettoyeur de base de données avancé
- Nettoyeur de base de données
- Nettoyant WPS
Il existe également des plugins de mise en cache et d'optimisation qui intègrent également des options de nettoyage de base de données, telles que :
Nous recommandons WP-Sweep car il utilise autant que possible les fonctions de suppression WordPress® appropriées au lieu d'exécuter des requêtes MySQL de suppression directe.
Installez et activez le plugin WP Sweep puis allez dans Outils > Sweep. Vous verrez différentes sections avec un bouton Balayer à côté d'elles, cliquez sur le bouton pour nettoyer l'encombrement.
Ce plugin vous aidera à supprimer :
- Révisions
- Brouillons automatiques
- Commentaires supprimés, non approuvés et spammés
- Méta de publication orpheline et dupliquée
- Méta de commentaire orphelin et dupliqué
- Méta utilisateur orphelin et dupliqué
- Relations à terme orphelin
- Termes inutilisés
- Options transitoires
Le plugin peut également optimiser les tableaux, et c'est plus simple que de le faire via phpMyAdmin.
Un autre plugin que nous recommandons est LiteSpeed Cache . Il peut nettoyer la base de données WordPress® et convertir les tables de la base de données de MyISAM vers InnoDB.
Vous pouvez également voir la liste des entrées de chargement automatique, leur nombre et leur taille à l'aide de LiteSpeed Cache.
En bonus, je recommande le plugin Scalability Pro pour WooCommerce ; cela résout certains problèmes de performances natives.
Nettoyage avancé de WordPress®
Après le nettoyage avec la méthode facile, vous devez également vérifier manuellement, plus approfondie, s'il y a encore des choses qui peuvent être optimisées dans la base de données.
De nombreuses optimisations peuvent être effectuées pour la base de données WordPress®, mais il existe des problèmes importants qui, une fois résolus, devraient permettre à notre base de données de fonctionner suffisamment bien. Concentrons-nous donc sur la résolution de ces problèmes avec le bénéfice le plus significatif.
Ce sont :
- nettoyer les clés méta de wp_postmeta
- nettoyer les entrées de chargement automatique de la table wp_options
- restauration de la clé primaire perdue à partir de la table wp_options
Nettoyage des clés méta de la table wp_postmeta
Même après avoir nettoyé la base de données avec un plugin comme WP Sweep, des entrées inutiles peuvent toujours exister dans la table wp_postmeta car tout n'a pas été nettoyé.
Accédez à la base de données avec phpMyAdmin ou n'importe quel outil de gestion de base de données, accédez à la table wp_postmeta et voyez quelles sont les entrées.
Prenons cet exemple.

Vous pouvez voir qu'il existe de nombreuses entrées avec le préfixe EG_. Vous pouvez demander Chatgpt : quel plugin WordPress a mis des entrées avec le préfixe EG_ dans ma table WP_PostMeta?
ChatGTP me dit que c'est le plugin Essential Grid. Si vous n'utilisez plus ce plugin, vous pouvez supprimer toutes ces entrées manuellement ou en exécutant une requête pour les supprimer en masse.
DELETE FROM wp_postmeta WHERE meta_key LIKE 'eg_%';
Cette requête supprime toutes les clés méta commençant par eg_. N'oubliez pas de sauvegarder votre base de données ou au moins la table wp_postmeta avant de commencer à exécuter des requêtes pour nettoyer la table.
Répétez le processus avec toutes les autres clés méta que vous trouvez en grand nombre et vous ne reconnaissez pas ce qu'elles sont et à quoi servent-elles.
Nettoyage des entrées de chargement automatique de la table wp_options
C'est le problème dont nous avons parlé dans l'introduction de cet article : la table wp_options est devenue saturée d'entrées avec la valeur Autoload définie sur Oui.
Ces entrées sont lues à chaque initialisation de WordPress.
Le moyen le plus simple de voir ces entrées est d'utiliser le plugin LiteSpeed Cache et d'accéder à la section Base de données. Faites défiler jusqu'à Résumé de la base de données et consultez la liste des entrées de chargement automatique, leur nombre et leur taille.

Dans l'exemple ci-dessus, il n'y a aucun problème; Il s'agit d'une base de données propre, mais si vous voyez sur votre site Web quelques entrées énormes, vous pouvez demander à Chat GPT : quel plugin a mis l'entrée X dans le tableau WP_OPTIONS de ma base de données WordPress?
Vous pouvez ainsi identifier le plugin qui a ajouté ces données, et si vous ne l'utilisez plus, vous pouvez supprimer l'entrée correspondante.
DELETE FROM wp_options WHERE nom_option LIKE 'votre-nom-option';
La requête SQL ci-dessus supprime l'entrée, remplacez simplement votre nom d'option par le nom réel de l'entrée.
N'oubliez pas de sauvegarder la base de données ou au moins la table wp_options avant de lancer le nettoyage.
Restauration de la clé primaire perdue à partir de la table wp_options
Un autre problème que j'ai rencontré est lié à la table wp_options, à savoir qu'il existe des cas où cette table perd sa clé primaire.
Le champ option_id est configuré par défaut pour être la clé primaire.
La clé primaire garantit l'unicité de chaque ligne du tableau et permet l'indexation des lignes pour un accès rapide. Si nous avons des valeurs en double et que la clé primaire est perdue, les opérations sur cette table seront plus lentes car il n'est plus possible d'accéder rapidement à une ligne spécifique. Une analyse complète du tableau est effectuée, c'est-à-dire que chaque ligne du tableau est lue pour trouver les données nécessaires, ce qui prend plus de temps.
Dans certaines situations, comme les migrations manuelles avec mysqldump d'un serveur à un autre, la table peut perdre sa clé primaire lorsque les versions de MySQL sont différentes entre les serveurs.
option_id | nom_option |
---|---|
1 | option1 |
2 | option2 |
3 | option3 |
0 | option4 |
0 | option5 |
0 | option6 |
Pour résoudre cette situation, nous devons à nouveau faire de la colonne option_id la clé primaire. Cependant, nous ne pouvons pas faire cela s'il y a des valeurs en double, celles avec 0, elles doivent donc être supprimées ou renumérotées.
Les supprimer réinitialise les configurations de thème ou de plugin, mais nous pouvons les renuméter. Exécutez ces requêtes sur votre table WP_OPTIONS.
Définir @New_Option_ID: = 4; Mettre à jour WP_OPTIONS SET Option_ID = (@New_Option_ID: = @New_Option_ID + 1) où Option_ID dans (Sélectionnez Option_ID FROM (SELECT OPTION_ID FROM WP_OPTIONS WHERE OPTIONS_ID = 0 GROUP par option_id Ayant Count (*)> 1) comme desplicates); Supprimer de wp_options où option_id = 0; Alter table wp_options ajouter la clé primaire (option_id);
Les requêtes que vous voyez à l'écran effectuent les opérations suivantes :
- Définit un point de départ pour option_id. Par exemple, la numérotation s'est arrêtée à 3 dans l'exemple ci-dessus, nous avons donc défini 4 comme nouveau point de départ.
- Identifie les doublons de option_id avec la valeur 0 et les met à jour avec de nouvelles valeurs à partir de la valeur définie
- Supprime toutes les lignes restantes où option_id est 0
- Ajoute la clé primaire sur option_id
Assurez-vous de modifier le préfixe par défaut (WP_) à celui que votre base de données utilise et définissez le numéro selon (le code utilise 4 comme exemple).
Après cela, exécutez les requêtes suivantes.
Alter table wp_options auto_increment = 7; Alter table wp_options modifier l'option_id bigint (20) non signé non null auto_increment; Vérifier la table wp_options; Table de réparation wp_options;
Les requêtes font ce qui suit:
- Définit une nouvelle valeur de départ pour AUTO_INCREMENT sur le dernier nombre – dans notre exemple, ils se sont arrêtés à 6, nous avons donc défini 7 comme nouveau point de départ
- Nous activons auto_increment pour la colonne option_id
- Nous faisons un tableau de contrôle
- Et une table de réparation
Encore une fois, assurez-vous de modifier le préfixe par défaut (WP_) à celui que votre base de données utilise. Et définir le numéro selon (le code utilise 7 comme exemple).
Avant de démarrer cette opération, n'oubliez pas de sauvegarder votre base de données ou le tableau WP_Options.
Vous pouvez exécuter ces requêtes dans phpMyAdmin (un outil accessible depuis le panneau de contrôle de votre hébergement) ou avec un outil de gestion de base de données comme Sequel Ace (Mac) ou MySQL Workbench (Windows, Linux, Mac).
J'utilise Sequel Ace et je le préfère à phpMyAdmin car il est plus rapide et plus stable. PhpMyAdmin peut parfois planter en raison des limitations de PHP, notamment sur l'hébergement mutualisé.
Meilleures pratiques pour garder votre base de données WordPress® propre
La plupart des plugins et des thèmes ne se nettoient pas d'eux-mêmes, vous devez donc effectuer un nettoyage de temps en temps pour vous assurer que tout est en parfait état.
Les plugins d'optimisation ont cette fonctionnalité de planification du nettoyage automatique et de réduction de la surcharge de la base de données :
- Presse volante
- WP Fusée
- Les performances comptent

Vous pouvez le définir sur un horaire hebdomadaire, mensuel ou selon le calendrier de votre choix.
Je recommande également de supprimer les plugins et thèmes inutilisés. Cela aide également du point de vue de la sécurité. Je vous recommande de ne pas conserver de scripts PHP (plugins, thèmes, autres fichiers PHP) sur votre serveur autres que ceux que vous utilisez activement.
Pour supprimer les plugins inutilisés, connectez-vous à wp-admin et accédez à Plugins > Plugins installés. Cliquez sur Inactif pour afficher les plugins inactifs et les supprimer.
Pour supprimer les thèmes inutilisés, accédez à Apparence > Thèmes. Cliquez sur chaque thème que vous souhaitez supprimer, puis cliquez sur Supprimer dans le coin inférieur droit.
Je vous recommande de conserver uniquement votre thème actif et un thème par défaut (si vous devez tester des incompatibilités).
Vous pouvez également éviter que les révisions ne s'accumulent en limitant le nombre de révisions stockées dans la base de données, 30 par exemple. Ajoutez le code suivant au fichier wp-config.php.
définir( 'WP_POST_REVISIONS', 30 );
Ne laissez pas les commentaires non approuvés : approuvez-les, envoyez-les du spam ou jetez-les à la poubelle.
Attention aux plugins qui stockent beaucoup de données :
- plugins de statistiques
- plugins de sécurité
- plugins anti-spam
- plugins d'articles connexes
- plugins de suivi de liens
Je ne dis pas que vous ne devriez utiliser aucun des plugins ci-dessus, mais utilisez des plugins qui offrent ces fonctionnalités et enregistrent les données en externe, pas dans votre base de données WordPress®.
Si possible, évitez d’utiliser des plugins qui ajoutent du volume. Gardez la base de données WordPress® aussi légère que possible. Il vaut mieux prévenir que traiter les ballonnements.
Une optimisation efficace de la base de données garantit des sites Web rapides, fiables et évolutifs. La mise en œuvre des meilleures pratiques peut améliorer considérablement les performances des bases de données tout en réduisant les coûts opérationnels. N'oubliez pas que l'optimisation de la base de données n'est pas une tâche ponctuelle mais un processus continu qui évolue avec les besoins et la croissance de votre système.
Merci d'avoir lu cet article sur l'optimisation des bases de données. J'espère qu'il vous a fourni des informations précieuses et des conseils pratiques pour améliorer les performances de vos bases de données WordPress®.
Si vous avez des questions, des commentaires ou des techniques supplémentaires que vous aimeriez partager, n'hésitez pas à laisser un commentaire ou à nous contacter. Ensemble, nous pouvons créer des sites Web meilleurs, plus rapides et plus efficaces !
Laisser un commentaire