Comment nettoyer et optimiser votre base de données WordPress

Comment nettoyer et optimiser votre base de données WordPress

Votre site web WordPress s’appuie sur une base de données pour stocker des informations telles que les articles, les pages, les réglages, les commentaires et les données des utilisateurs. Au fil du temps, des données inutiles peuvent s’y accumuler, ralentir votre site et augmenter le temps de chargement des pages.

Conséquences : les visiteurs risquent de se décourager, votre référencement peut en pâtir et les erreurs ou plantages devenir plus fréquents. Il est donc essentiel de nettoyer et d’optimiser régulièrement votre base de données WordPress pour conserver un site rapide, stable et facile à gérer.

L’optimisation d’une base de données WordPress repose sur sept étapes clés :

  • Identifiez ce qui ralentit les requêtes de la base de données. Utilisez des outils pour repérer les requêtes lourdes ou lentes susceptibles de nuire aux performances.
  • Optimisez la base de données. Utilisez les fonctions intégrées de WordPress ou une extension pour nettoyer et réparer les tables de la base de données.
  • Limitez le nombre de révisions d’articles. Réduisez le nombre de versions enregistrées afin d’éviter les entrées inutiles dans la base de données.
  • Supprimez les données inutiles. Éliminez les commentaires indésirables, les métadonnées expirées et les brouillons automatiques qui s’accumulent avec le temps.
  • Nettoyez les transients. Supprimez les données temporaires stockées dans la base de données lorsqu’elles ne sont plus nécessaires.
  • Désinstallez les extensions et les thèmes inutilisés. Leur suppression limite l’encombrement et réduit les risques de sécurité.
  • Automatisez la suppression des éléments placés dans la corbeille. Configurez WordPress pour supprimer automatiquement les articles, commentaires et fichiers médias mis à la corbeille afin d’éviter que la base de données ne s’alourdisse.

Ces étapes sont accessibles aux débutants, surtout lorsqu’elles sont effectuées une à une. Optimisez votre base de données WordPress au moins une fois par mois, voire plus souvent si vous publiez régulièrement du contenu ou gérez un site très actif.

1. Identifiez ce qui ralentit les requêtes de la base de données

Pour optimiser votre base de données WordPress, commencez par déterminer ce qui ralentit votre site. Vous éviterez ainsi de supprimer des données au hasard et pourrez concentrer vos efforts sur les éléments qui affectent réellement les performances. En repérant les requêtes lentes ou gourmandes, c’est-à-dire les demandes précises envoyées par votre site à la base de données, vous pourrez intervenir directement sur les causes du problème.

Une extension de débogage WordPress comme Query Monitor facilite cette analyse. Elle indique quelles requêtes prennent le plus de temps, quelles extensions en sont à l’origine et comment la base de données réagit lors du chargement des pages. À titre indicatif, une requête dont l’exécution dépasse 100 ms peut signaler que votre base de données a besoin d’être optimisée.

Si vous ne savez pas à quoi correspond une requête, copiez-la dans un outil d’IA comme ChatGPT pour obtenir une explication en termes simples.

Même sans maîtriser tous les détails techniques, vous pouvez suivre les étapes suivantes pour optimiser efficacement votre base de données WordPress.

2. Optimisez la base de données

Il existe trois principales méthodes pour nettoyer une base de données WordPress : utiliser une extension, passer par phpMyAdmin ou exécuter directement des requêtes SQL.

La méthode avec une extension est rapide, sûre et ne nécessite aucune connaissance en programmation. Elle convient donc particulièrement aux débutants et aux personnes peu à l’aise avec les aspects techniques. phpMyAdmin offre davantage de contrôle, mais suppose de comprendre les principes de base du fonctionnement d’une base de données.

Si vous êtes développeur ou à l’aise avec SQL, la section consacrée aux requêtes SQL présente des opérations de maintenance WordPress plus avancées.

Important

Sauvegardez votre site web WordPress avant d’optimiser sa base de données afin d’éviter toute perte de données.

Utilisez une extension

Pour la majorité des utilisateurs de WordPress, une extension de nettoyage de base de données constitue la solution la plus simple et la plus sûre. Des extensions WordPress comme WP-Optimize ou Advanced Database Cleaner prennent en charge les tâches de nettoyage courantes sans nécessiter de code. Beaucoup permettent également de programmer la maintenance afin de conserver une base de données propre dans la durée.

Voici comment procéder avec WP-Optimize :

  1. Installez l’extension, puis activez-la.
  2. Dans le tableau de bord d’administration, accédez à WP-Optimize → Database.
  3. Dans l’onglet Optimization, vous verrez toutes les options d’optimisation disponibles. Cochez ou décochez celles qui vous conviennent, puis cliquez sur Run all selected optimizations.

Passez par phpMyAdmin

Cette méthode offre un contrôle plus direct qu’une extension, sans pour autant nécessiter de compétences avancées en programmation. Elle libère l’espace inutilisé et réorganise les données pour accélérer leur accès, selon un principe comparable à une défragmentation. Vous pouvez renouveler l’opération dès que votre site commence à ralentir.

Voici comment procéder :

  1. Ouvrez phpMyAdmin depuis l’interface de votre hébergeur. Si vous utilisez Hostinger, accédez à Bases de données → phpMyAdmin depuis le tableau de bord Hostinger, puis sélectionnez la base de données à optimiser.
  1. Dans l’onglet Structure, sélectionnez Tout cocher pour optimiser toutes les tables de la base de données WordPress. Vous pouvez également sélectionner uniquement certaines tables en cochant les cases correspondantes à gauche.
  1. Ouvrez le menu déroulant Pour la sélection :, puis cliquez sur Optimiser la table.
  1. Si l’opération réussit, un message de confirmation vous indiquera que votre requête SQL a été exécutée.

Si vous préférez ne pas utiliser phpMyAdmin, vous pouvez activer l’outil de réparation intégré à WordPress en modifiant le fichier wp-config.php.

Procédez comme suit :

  1. Accédez à votre répertoire racine (public_html) avec le gestionnaire de fichiers ou un client FTP comme FileZilla. Si vous utilisez Hostinger, vous pouvez choisir la première option depuis le tableau de bord Hostinger.
  1. Repérez le fichier wp-config.php, puis double-cliquez dessus pour le modifier. Vous pouvez également le télécharger et l’ouvrir dans un éditeur de texte comme Notepad++.
  1. 3. Ajoutez la ligne suivante au-dessus de /* That’s all, stop editing! Happy publishing. */ :
define( 'WP_ALLOW_REPAIR', true );
  1. Enregistrez les modifications et fermez le fichier. Si vous l’avez modifié en local, téléversez la nouvelle version de wp-config.php sur le serveur.
  2. Accédez à https://www.yourwebsite.com/wp-admin/maint/repair.php pour ouvrir l’outil d’optimisation de la base de données. Remplacez « yourwebsite.com » par le nom de domaine réel de votre site.
  3. Cliquez sur l’option Réparer et optimiser la base de données.
  1. Une fois l’opération terminée, répétez la procédure pour supprimer la fonction WP_ALLOW_REPAIR du fichier wp-config.php. Vous éviterez ainsi que des utilisateurs non autorisés puissent accéder à cette page.

Utilisez des requêtes SQL

phpMyAdmin permet également d’exécuter des requêtes SQL pour effectuer différentes tâches de maintenance sur une base de données WordPress. Cette méthode offre le niveau de contrôle le plus élevé : vous pouvez nettoyer, réparer ou optimiser des éléments précis de la base à l’aide de commandes personnalisées.

Pour exécuter les requêtes, ouvrez phpMyAdmin et saisissez-les dans l’onglet SQL. Voici quelques requêtes SQL courantes permettant d’optimiser une base de données.

Index manquants ou inefficaces

Un index fonctionne comme un raccourci qui permet à la base de données de trouver rapidement des informations sans devoir parcourir une table entière. En l’absence d’index adaptés, elle peut être contrainte d’analyser des tables complètes, ce qui ralentit les requêtes.

Si des filtres comme WHERE post_type = ‘product’ mettent plusieurs secondes à s’exécuter, l’ajout d’index aux colonnes fréquemment utilisées peut accélérer considérablement leur traitement.

/* Add index for post type and status combination */
CREATE INDEX idx_post_type_status ON wp_posts(post_type, post_status);

/* Add index for meta lookups */
CREATE INDEX idx_meta_key_value ON wp_postmeta(meta_key, meta_value(50));

Trop d’options chargées automatiquement

WordPress charge toutes les options configurées pour le chargement automatique à chaque ouverture de page. Si leur nombre devient trop important, votre site WordPress peut ralentir. Vous verrez souvent des requêtes comme celle-ci :

SELECT option_name, option_value FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto-on', 'auto')

Commencez par identifier les options chargées automatiquement qui occupent le plus d’espace :

SELECT option_name, LENGTH(option_value) AS size
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size DESC
LIMIT 20;

Désactivez ensuite le chargement automatique pour les options volumineuses qui n’en ont pas besoin. Vous réduirez ainsi considérablement la charge liée aux requêtes de la base de données.

UPDATE wp_options
SET autoload = 'no'
WHERE option_name = 'large_unnecessary_option';

Requêtes WooCommerce inefficaces

Les boutiques WooCommerce peuvent ralentir lorsque les requêtes sur les produits deviennent trop lourdes, notamment si vous vendez des articles comportant de nombreuses variations ou des champs personnalisés. Les requêtes qui filtrent les métadonnées des produits ou les trient selon les données de vente peuvent alors prendre plusieurs secondes.

L’ajout d’index adaptés à ces opérations WooCommerce courantes peut améliorer les performances.

/* For product sorting by popularity */
CREATE INDEX idx_product_sales ON wp_postmeta(meta_key, meta_value(20))
WHERE meta_key = 'total_sales';

/* For product price filters */
CREATE INDEX idx_product_price ON wp_postmeta(meta_key, meta_value(10))
WHERE meta_key = '_price';

Trop d’opérations JOIN

Lorsque des requêtes associent plusieurs tables sans index adaptés, les performances peuvent chuter fortement. Si des requêtes contenant plusieurs instructions JOIN mettent plusieurs secondes à s’exécuter, ajoutez des index aux colonnes utilisées dans les conditions de ces jointures.

/* Index for post relationships */
CREATE INDEX idx_post_parent ON wp_posts(post_parent);

/* Index for taxonomy relationships */
CREATE INDEX idx_term_taxonomy ON wp_term_relationships(term_taxonomy_id, object_id);

3. Limitez les révisions d’articles

Chaque fois que vous modifiez un article ou une page dans WordPress, la plateforme enregistre une révision dans la base de données. Cette fonction est utile pour restaurer une version antérieure du contenu, mais des centaines de révisions peuvent finir par s’accumuler. Elles occupent alors inutilement de l’espace dans la base de données WordPress et peuvent ralentir les requêtes ainsi que les performances générales du site.

Commencez par supprimer les anciennes révisions dont vous n’avez plus besoin en exécutant la requête SQL suivante dans phpMyAdmin :

/* Check how many revisions the user has */

SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';

/* Delete excessive revisions (keep recent ones) */

DELETE FROM wp_posts

WHERE post_type = 'revision'

AND post_date < DATE_SUB(NOW(), INTERVAL 30 DAY);

Une fois le nettoyage terminé, limitez ou désactivez les prochaines révisions pour éviter que le problème ne se reproduise.

Pour ne conserver que deux révisions par article, ajoutez cette ligne au fichier wp-config.php :

define( 'WP_POST_REVISIONS', 2 );

Si vous préférez désactiver complètement les révisions, ajoutez plutôt cette ligne :

define( 'WP_POST_REVISIONS', false );

Warning

Si vous désactivez les révisions, WordPress ne conservera aucun historique de vos modifications. En cas de suppression accidentelle ou d’erreur, vous ne pourrez pas restaurer une version antérieure. Pour la plupart des utilisateurs, limiter le nombre de révisions reste donc une option plus sûre.

4. Supprimez les données inutiles

Au fil du temps, de nombreuses données dont vous n’avez plus besoin s’accumulent dans votre base de données WordPress. Il peut s’agir de commentaires indésirables ou placés dans la corbeille, de brouillons automatiques, de métadonnées expirées ou encore de réglages laissés par des extensions ou des thèmes supprimés.

Vous pouvez les nettoyer avec une extension comme WP-Optimize ou examiner directement vos tables dans phpMyAdmin.

Pensez également à supprimer les métadonnées orphelines, c’est-à-dire les informations qui subsistent après la suppression d’articles, d’utilisateurs ou d’extensions. Elles alourdissent inutilement la base de données et peuvent ralentir ses performances. Pour les supprimer, exécutez cette requête SQL dans phpMyAdmin :

/* Delete postmeta without associated posts */

DELETE pm FROM wp_postmeta pm

LEFT JOIN wp_posts wp ON pm.post_id = wp.ID

WHERE wp.ID IS NULL;

5. Supprimez les transients

Les transients sont des données temporaires que WordPress et les extensions enregistrent dans la base de données afin d’accélérer le chargement du site. Ils peuvent, par exemple, mettre en cache le résultat d’un appel d’API afin d’éviter de répéter la même requête à chaque fois. Le problème survient lorsque certaines extensions ne suppriment pas automatiquement leurs transients.

Les transients expirés peuvent rester dans la base de données longtemps après avoir cessé d’être utiles et finir par surcharger la table wp_options. Dans certains cas, cela provoque également une fragmentation InnoDB : les lignes supprimées continuent alors d’occuper de l’espace tant que la table n’a pas été optimisée. Dans les deux cas, la base de données doit effectuer davantage de travail, ce qui peut ralentir votre site.

Pour supprimer complètement les transients, utilisez une extension comme Transient Cleaner ou exécutez manuellement cette requête SQL dans phpMyAdmin :

/* Remove expired transients */

DELETE FROM wp_options

WHERE option_name LIKE '%_transient_timeout_%'

AND option_value < UNIX_TIMESTAMP();

DELETE FROM wp_options

WHERE option_name LIKE '%_transient_%'

AND option_name NOT LIKE '%_transient_timeout_%';

Réorganisez ensuite la table et récupérez l’espace libéré en exécutant :

OPTIMIZE TABLE wp_options;

6. Supprimez les extensions et les thèmes inutilisés

Chaque extension ou thème installé peut ajouter ses propres réglages, tables ou métadonnées à la base de données WordPress. Même lorsque vous ne les utilisez plus, les extensions et thèmes inactifs peuvent continuer à occuper de l’espace et, dans certains cas, à exécuter des processus en arrière-plan. Ces données supplémentaires peuvent ralentir les requêtes et alourdir la base de données.

Pour éviter cette accumulation, passez régulièrement votre site en revue et désactivez ou supprimez les extensions WordPress dont vous n’avez plus besoin. En ne conservant que les extensions essentielles, vous réduisez la charge sur la base de données ainsi que les risques de sécurité liés à du code obsolète.

Le même principe s’applique aux thèmes. En ne conservant que votre thème actuel, et éventuellement un thème WordPress par défaut comme solution de secours, vous limitez la charge inutile sur la base de données. Consultez notre guide pour supprimer un thème WordPress en toute sécurité.

7. Supprimez automatiquement les éléments de la corbeille

La corbeille de WordPress sert de filet de sécurité : elle permet de restaurer un contenu supprimé par erreur. Cependant, une accumulation excessive d’éléments dans la corbeille continue d’occuper de l’espace dans la base de données.

Pour éviter cet encombrement, configurez WordPress afin qu’il supprime automatiquement les éléments de la corbeille après un nombre défini de jours. Ajoutez cette ligne au fichier wp-config.php :

define( 'EMPTY_TRASH_DAYS', 7 );

Dans cet exemple, WordPress supprimera définitivement les éléments de la corbeille après sept jours. Vous pouvez modifier cette valeur selon vos besoins. Par exemple, indiquez 30 pour effectuer un nettoyage mensuel.

Warning

Si vous définissez cette valeur sur 0, WordPress supprimera immédiatement et définitivement les éléments concernés. Vous économiserez de l’espace, mais vous ne pourrez plus restaurer le contenu supprimé. Utilisez donc cette valeur avec prudence.

Pourquoi une base de données WordPress ralentit-elle ?

Plusieurs facteurs peuvent réduire la vitesse de réponse d’une base de données WordPress. Certains sont liés à votre environnement d’hébergement, tandis que d’autres proviennent de la manière dont WordPress stocke et gère les données au fil du temps. Voici les causes les plus courantes :

  • Des ressources d’hébergement limitées. Avec un plan d’hébergement mutualisé, votre site partage les ressources du serveur avec d’autres sites. Passer à un plan d’hébergement supérieur peut supprimer ce goulot d’étranglement.
  • Des thèmes lourds et des choix de conception complexes. Certains thèmes WordPress intègrent de nombreuses fonctionnalités ou des effets visuels élaborés qui multiplient les appels à la base de données. Même s’ils peuvent être attrayants, privilégiez un thème léger pour améliorer les performances et l’expérience utilisateur.
  • Des extensions trop nombreuses ou mal développées. Installer de nombreuses extensions ne ralentit pas automatiquement un site. En revanche, des extensions de mauvaise qualité ou obsolètes peuvent surcharger la base de données. Conservez uniquement les extensions indispensables, bien évaluées et régulièrement mises à jour.
  • Un contenu volumineux et non optimisé. Les images trop lourdes et les pages contenant beaucoup de données sollicitent davantage le site. Compressez les fichiers médias et simplifiez la mise en page pour réduire cette charge.
  • Les commentaires indésirables. WordPress enregistre chaque commentaire, y compris les commentaires indésirables. Leur accumulation nuit à la vitesse du site comme à sa crédibilité.
  • Les révisions d’articles. Chaque modification crée une nouvelle copie dans la base de données. Sur un blog très actif, les révisions peuvent rapidement occuper une quantité importante d’espace.
  • Les transients expirés. WordPress ne supprime pas toujours automatiquement les transients arrivés à expiration, qui peuvent alors s’accumuler.
  • Les éléments supprimés encore présents dans la corbeille. Les articles, pages et commentaires restent dans la corbeille tant que celle-ci n’est pas vidée.
  • Les tables inutilisées laissées par d’anciennes extensions. Les extensions désinstallées laissent souvent des tables dans la base de données, ce qui l’alourdit inutilement.

À terme, ces différents facteurs s’additionnent, alourdissent la base de données WordPress et affectent la vitesse du site. Une optimisation régulière est donc nécessaire. Toutefois, si les ressources de votre hébergement sont limitées, passer à un plan d’hébergement WordPress supérieur peut constituer une meilleure solution à long terme.

À quelle fréquence faut-il optimiser une base de données WordPress ?

Dans la plupart des cas, il est recommandé de nettoyer votre base de données au moins une fois par mois afin d’éviter l’accumulation de données inutiles. Pour les sites très actifs, comme les blogs à fort trafic ou les boutiques WooCommerce, envisagez une optimisation toutes les une à deux semaines afin de préserver leur bon fonctionnement.

Si vous ne savez pas quand intervenir, certains signes peuvent indiquer que votre base de données a besoin d’être optimisée :

  • Les pages chargent plus lentement. Si votre site met plus de temps que d’habitude à répondre, une base de données surchargée peut en être la cause.
  • La table wp_options est volumineuse. Une table d’options particulièrement lourde indique généralement un trop grand nombre de transients ou des données laissées par d’anciennes extensions.
  • Les indésirables ou les éléments dans la corbeille s’accumulent. Votre site contient de nombreux commentaires en attente de modération, d’anciens brouillons ou des éléments placés dans la corbeille.
  • L’utilisation du processeur ou de la mémoire est élevée. Des pics inhabituels dans le tableau de bord de votre hébergement peuvent être liés à des requêtes inefficaces.
  • Des erreurs surviennent lors de l’enregistrement des articles. Si vous rencontrez des difficultés pour publier ou mettre à jour du contenu, la base de données peut être trop sollicitée.

Que faire d’autre pour optimiser votre site WordPress ?

L’optimisation de la base de données ne représente qu’une partie du travail nécessaire pour améliorer les performances globales d’un site. Elle permet de supprimer les données inutiles et d’accélérer les requêtes, mais la qualité de l’hébergement, la mise en cache et l’optimisation des fichiers médias jouent un rôle tout aussi important dans la rapidité de votre site.

Un site WordPress bien optimisé se charge rapidement, offre une meilleure expérience utilisateur et peut obtenir de meilleures positions dans les moteurs de recherche. Un site plus rapide peut également réduire le taux de rebond, favoriser l’engagement et augmenter les conversions, autant d’éléments qui contribuent à atteindre vos objectifs en ligne.

Pour aller plus loin, consultez notre guide complet pour accélérer WordPress. Vous y découvrirez des méthodes concrètes qui vont au-delà de l’optimisation de la base de données, du choix de thèmes et d’extensions légers à l’activation de la mise en cache et à l’optimisation des images.

Tout le contenu des tutoriels de ce site est soumis aux normes éditoriales et aux valeurs rigoureuses de Hostinger.

Faradilla, plus connue sous le nom de Ninda, possède 10 ans d’expérience en tant que linguiste et 5 ans en tant que spécialiste du marketing de contenu chez Hostinger. Elle aime suivre les tendances technologiques et aider les autres à résoudre leurs problèmes. Pendant son temps libre, Ninda aime apprendre de nouvelles langues et s’intéresser aux sciences de la vie, ainsi que regarder des vidéos d’animaux. Pour en savoir plus sur Ninda, retrouvez-la sur LinkedIn.

Ce que disent nos clients

Commentaires

0 responses

Write a response

Veuillez remplir les champs obligatoires.Veuillez cocher la case de la confidentialité.Veuillez remplir les champs obligatoires et accepter la case de confidentialité.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.