Aller au contenu
Optimisation de la base de données WordPress : Comment nettoyer et accélérer votre base de données

Optimisation de la base de données WordPress : Comment nettoyer et accélérer votre base de données

Erik KellerErik KellerMis à jour le: 15 min de lecture612 vues

Chaque chargement de page, soumission de formulaire, opération de plugin et session utilisateur dans WordPress implique des requêtes de base de données. Au fil du temps, la base de données accumule des éléments superflus : anciennes révisions de publications, transitoires expirés, métadonnées orphelines, commentaires indésirables et tables inutilisées provenant de plugins désactivés. Cet encombrement ralentit les requêtes, augmente la taille des sauvegardes et dégrade la performance globale du site. Ce guide couvre comment identifier l'encombrement de la base de données, le nettoyer en toute sécurité et empêcher son retour.

Ce que WordPress stocke dans la base de données

Comprendre ce qui se trouve dans votre base de données vous aide à identifier ce qui peut être supprimé en toute sécurité. Une installation standard de WordPress utilise 12 tables principales, et les plugins ajoutent leurs propres tables si nécessaire.

Table Stocke Source courante d'encombrement
wp_posts Publications, pages, révisions, pièces jointes, types de publication personnalisés Révisions de publications, brouillons automatiques
wp_postmeta Métadonnées pour les publications (champs personnalisés, données de plugin) Métadonnées orphelines provenant de publications supprimées
wp_options Paramètres du site, paramètres des plugins, transitoires Transitoires expirés, anciens paramètres de plugin
wp_comments Commentaires et rétroliens Commentaires indésirables, commentaires dans la corbeille
wp_commentmeta Métadonnées pour les commentaires Métadonnées Akismet pour les commentaires supprimés
wp_usermeta Métadonnées utilisateur Jetons de session, données utilisateur du plugin
wp_termmeta Métadonnées pour les catégories et les étiquettes Métadonnées de terme orphelines

Sources courantes d'encombrement de la base de données

Révisions de publications

WordPress enregistre une révision chaque fois que vous cliquez sur "Enregistrer le brouillon" ou "Mettre à jour" sur une publication ou une page. Une publication modifiée 50 fois a 50 révisions stockées dans la table wp_posts, chacune avec son propre ensemble d'entrées postmeta. Sur un site avec des centaines de publications, les révisions peuvent représenter des milliers de lignes de base de données inutiles.

Transitoires

Les transitoires sont des données temporaires stockées dans la table wp_options par le noyau WordPress et les plugins. Ils ont des temps d'expiration, mais WordPress ne supprime pas automatiquement les transitoires expirés. Ils s'accumulent au fil du temps et peuvent faire croître considérablement la table des options, en particulier sur les sites avec de nombreux plugins.

Données orphelines

Lorsque vous supprimez une publication, ses métadonnées (entrées wp_postmeta) peuvent ne pas être supprimées. De même, la suppression de commentaires, d'utilisateurs ou de termes peut laisser des lignes de métadonnées orphelines. Les plugins désactivés et supprimés laissent souvent leurs tables de base de données, consommant de l'espace et encombrant votre base de données.

Contenu indésirable et dans la corbeille

Les commentaires indésirables, les publications dans la corbeille et les commentaires dans la corbeille restent dans la base de données jusqu'à ce qu'ils soient vidés manuellement. Les sites avec Akismet ou d'autres filtres anti-spam peuvent accumuler des milliers de commentaires indésirables qui nécessitent un nettoyage périodique.

Brouillons automatiques

WordPress crée des publications de brouillon automatique lorsque vous cliquez sur "Ajouter nouveau" dans l'éditeur de publication, même si vous ne publiez jamais. Ceux-ci s'accumulent au fil du temps et ne servent à rien après la fin de la session d'édition.

Nettoyage manuel de la base de données via SQL

Pour ceux qui sont à l'aise avec SQL, vous pouvez nettoyer directement en utilisant phpMyAdmin ou un client de base de données. Sauvegardez toujours votre base de données avant d'exécuter des requêtes de nettoyage.

Supprimer les révisions de publications

-- Supprimer toutes les révisions de publications
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Supprimer les postmeta orphelins (métadonnées pour les publications supprimées)
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
W

ID EST NULL;

Nettoyer les Transients

-- Supprimer les transients expirés
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_timeout_%'
AND option_value < UNIX_TIMESTAMP();

-- Supprimer les données des transients pour les transients expirés
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_%'
AND option_name NOT LIKE '%_transient_timeout_%';

Supprimer les Commentaires de Spam et les Commentaires dans la Corbeille

-- Supprimer les commentaires de spam
DELETE FROM wp_comments WHERE comment_approved = 'spam';

-- Supprimer les commentaires dans la corbeille
DELETE FROM wp_comments WHERE comment_approved = 'trash';

-- Supprimer les métadonnées des commentaires orphelins
DELETE cm FROM wp_commentmeta cm
LEFT JOIN wp_comments c ON cm.comment_id = c.comment_ID
WHERE c.comment_ID IS NULL;

Nettoyage de la Base de Données Basé sur des Plugins

Si vous préférez une approche basée sur une interface graphique, plusieurs plugins gèrent l'optimisation de la base de données avec des capacités de planification :

WP-Optimize

WP-Optimize est un plugin gratuit qui nettoie les révisions, les brouillons, le spam, les transients et les données orphelines. Il optimise également les tables de la base de données et prend en charge les nettoyages planifiés. La version Pro ajoute le support multisite et une planification avancée.

Optimisation de la Base de Données WP Rocket

WP Rocket comprend un onglet Base de Données qui gère les révisions, les auto-brouillons, les articles dans la corbeille, les commentaires de spam, les transients et l'optimisation des tables. Étant donné que WP Rocket est principalement un plugin de mise en cache, vous obtenez un nettoyage de la base de données en même temps qu'une optimisation des performances dans un seul outil.

Advanced Database Cleaner

Ce plugin va plus loin en détectant les tables laissées par des plugins désactivés et les événements cron orphelins. Il catégorise les tables comme étant du cœur de WordPress, créées par des plugins ou inconnues, vous aidant à identifier quelles tables peuvent être supprimées en toute sécurité.

Plugin Version Gratuite Nettoyage Planifié Détection de Tables
WP-Optimize Oui Oui Basique
WP Rocket Non (Premium uniquement) Oui Non
Advanced Database Cleaner Oui Pro uniquement Oui (détaillé)

Optimisations wp-config.php

Prévenez le gonflement de la base de données à la source en ajoutant ces constantes à votre fichier wp-config.php :

Limiter les Révisions de Postes

// Garder seulement 5 révisions par poste (recommandé)
define( 'WP_POST_REVISIONS', 5 );

// Désactiver complètement les révisions (non recommandé pour la plupart des sites)
define( 'WP_POST_REVISIONS', false );

Définir les révisions à 5 fournit suffisamment d'historique pour récupérer des erreurs tout en empêchant une croissance illimitée des révisions. Pour les sites riches en contenu avec des modifications fréquentes, 10 révisions est une alternative raisonnable.

Vider Automatiquement la Corbeille

// Vider la corbeille tous les 7 jours (la valeur par défaut est 30)
define( 'EMPTY_TRASH_DAYS', 7 );

// Désactiver la corbeille (les éléments sont supprimés immédiatement - à utiliser avec précaution)
define( 'EMPTY_TRASH_DAYS', 0 );

Intervalle d'Autosave

// Augmenter l'intervalle d'autosave à 5 minutes (la valeur par défaut est 60 secondes)
define( 'AUTOSAVE_INTERVAL', 300 );

Optimisation des Tables de la Base de Données

Après avoir supprimé des lignes, exécutez une opération OPTIMIZE pour récupérer de l'espace fragmenté :

OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments, wp_commentmeta;

Planifiez cela mensuellement ou après de grandes opérations de nettoyage. La plupart des plugins de nettoyage incluent l'optimisation des tables dans leurs tâches planifiées.

Planification de Nettoyage Automatique

Configurez des horaires automatisés : nettoyage hebdomadaire des transitoires et des spams, suppression des révisions mensuelles et optimisation des tables, et audits trimestriels des tables de plugins orphelins. WP-Optimize et WP Rocket prennent tous deux en charge le nettoyage programmé. Configurez-les pendant les heures creuses.

Surveillance de la Taille de la Base de Données

Suivez la taille de votre base de données pour détecter les gonflements tôt. Exécutez cette requête pour voir les tailles des tables individuelles :

SELECT table_name AS 'Table',
       ROUND(data_length / 1024 / 1024, 2) AS 'Données (MB)',
       table_rows AS 'Lignes'
FROM information_schema.tables
WHERE table_schema = 'your_database_name'
ORDER BY (data_length + index_length) DESC
LIMIT 20;

Si wp_options dépasse 5 Mo ou si wp_postmeta dépasse 100 Mo, il est temps de faire un nettoyage. Ces tables sont fréquemment interrogées, donc leur taille affecte directement les temps de chargement des pages.

Pour une approche complète d'optimisation des performances qui inclut l'optimisation de la base de données ainsi que la mise en cache, l'optimisation des images et la configuration du serveur, lisez notre guide d'optimisation de la vitesse WordPress. Pour maintenir la santé de la base de données dans le cadre de votre routine de maintenance, consultez notre guide de maintenance WordPress.

Pour plus de détails, consultez la documentation officielle : API de Base de Données WordPress.

Questions Fréquemment Posées

Est-il sûr de supprimer les révisions de posts de la base de données ?

Oui, supprimer les révisions de posts est sûr et n'affecte pas votre contenu publié. Les révisions sont des instantanés historiques des modifications de brouillon. Une fois votre contenu finalisé, les révisions ne servent à rien pour la plupart des sites. Cependant, sauvegardez toujours votre base de données avant d'effectuer un nettoyage.

L'optimisation de la base de données améliorera-t-elle visiblement la vitesse de mon site ?

L'amélioration dépend de la taille de votre base de données. Les sites avec plus de 50 000 lignes orphelines ou une table wp_options dépassant 10 Mo verront des améliorations notables des temps de chargement des pages et de la réactivité du tableau de bord admin. Les sites plus petits peuvent voir des gains marginaux. L'optimisation de la base de données fonctionne en parallèle avec la mise en cache et d'autres mesures de performance pour une amélioration cumulative.

À quelle fréquence devrais-je optimiser ma base de données WordPress ?

Pour les sites actifs avec des mises à jour de contenu régulières, une optimisation mensuelle est une bonne base. Les sites à fort trafic avec des commentaires fréquents, des transactions WooCommerce ou des soumissions de formulaires peuvent bénéficier d'un nettoyage hebdomadaire des transitoires et des spams avec une optimisation mensuelle des tables.

Les plugins de nettoyage de base de données peuvent-ils casser mon site ?

Les plugins réputés comme WP-Optimize et WP Rocket sont conçus pour être sûrs. Ils ciblent des catégories de gonflement connues (révisions, transitoires, spams) et ne touchent pas aux données essentielles. Le risque augmente lorsque vous supprimez manuellement des tables spécifiques aux plugins. Si vous n'êtes pas sûr qu'une table soit nécessaire, laissez-la en place et recherchez d'abord son utilité.

Quelle est la différence entre OPTIMIZE TABLE et la suppression de lignes ?

La suppression de lignes enlève des données de la table. OPTIMIZE TABLE réorganise le stockage physique de la table après que des lignes ont été supprimées, récupérant de l'espace disque et défragmentant le fichier de données. Pensez-y comme à la suppression de fichiers (suppression de lignes) par rapport à la défragmentation de votre disque dur (optimisation de la table).

Dois-je utiliser InnoDB ou MyISAM pour les tables WordPress ?

WordPress utilise InnoDB par défaut depuis la version 5.5, et c'est le moteur de stockage recommandé. InnoDB prend en charge le verrouillage au niveau des lignes (meilleur pour les utilisateurs simultanés), les transactions et la récupération après un crash. MyISAM est plus rapide pour les opérations lourdes en lecture mais manque de ces fonctionnalités de fiabilité. Si vous trouvez des tables MyISAM dans votre base de données, il est généralement recommandé de les convertir en InnoDB.

Comment identifier les tables laissées par des plugins désactivés ?

Le plugin Advanced Database Cleaner peut détecter et catégoriser les tables non essentielles. Alternativement, exécutez la requête SQL SHOW TABLES et comparez les noms des tables avec les tables de base de WordPress et vos plugins actuellement actifs. Les tables avec des préfixes correspondant à des plugins désactivés sont des candidates à la suppression.

WooCommerce ajoute-t-il un gonflement significatif à la base de données ?

Oui. WooCommerce stocke des données de commande, des métadonnées de produit, des sessions clients et des transitoires qui augmentent considérablement sur les magasins actifs. Utilisez WooCommerce > Statut > Outils pour effacer régulièrement les transitoires et les sessions expirés.

Optimisez les Performances sous Tous les Angles

WP Rocket gère la mise en cache, le nettoyage de la base de données et l'optimisation des performances dans un seul plugin, afin que vous puissiez garder votre site en bon état de fonctionnement.

Découvrez WP Rocket →

Questions fréquemment posées

À quelle fréquence devrais-je optimiser ma base de données WordPress ?
Pour la plupart des sites, une optimisation mensuelle est suffisante. Les sites à fort trafic avec des boutiques WooCommerce actives ou des forums devraient optimiser chaque semaine. Des outils automatisés comme WP-Optimize peuvent gérer cela selon un calendrier.
Est-il sûr de supprimer les révisions de publications de la base de données ?
Oui, supprimer les anciennes révisions de publications est sûr et couramment recommandé. WordPress stocke un nombre illimité de révisions par défaut, ce qui peut ajouter des milliers de lignes. Vous pouvez limiter les révisions en ajoutant la constante define REVISIONS dans wp-config.php.
L'optimisation de la base de données améliorera-t-elle la vitesse de mon site ?
L'optimisation de la base de données réduit généralement le temps d'exécution des requêtes, ce qui améliore le temps de réponse du serveur (TTFB). L'impact est le plus visible sur les pages dynamiques avec des requêtes complexes, comme les pages de produits WooCommerce ou les résultats de recherche.
Devrais-je optimiser la base de données avant ou après une sauvegarde ?
Créez toujours une sauvegarde complète de la base de données avant d'effectuer une optimisation. Cela garantit que vous pouvez restaurer vos données si quelque chose ne va pas pendant le processus de nettoyage.
Que sont les lignes de métadonnées orphelines et puis-je les supprimer en toute sécurité ?
Les métadonnées orphelines sont des lignes dans les tables de métadonnées qui font référence à des publications, des utilisateurs ou des commentaires qui n'existent plus. Elles peuvent être supprimées en toute sécurité et s'accumulent souvent à partir de plugins ou de contenus supprimés. Des outils comme WP-Optimize peuvent identifier et nettoyer ces entrées.

Partager cet article

À propos de l'Auteur

Erik Keller
Erik Keller

Expert WordPress

Spécialiste WordPress senior avec une vaste expérience dans le développement de thèmes, plugins et WooCommerce. Passionné par l'aide aux entreprises pour réussir avec des solutions WordPress.

WordPressWooCommerceDéveloppement de ThèmesDéveloppement de PluginsOptimisation des Performances

Restez Informé

Recevez les derniers conseils et tutoriels WordPress dans votre boîte mail.