A travers 8 requêtes SQL, nous allons voir comment optimiser WordPress et effectuer un nettoyage de la base WordPress MySQL du CMS afin de le rendre plus véloce. Attention avant toutes opérations sur la base MySQL vous devez avoir réalisé une sauvegarde complète.
Sommaire de l'article
- 1 Pourquoi optimiser la base de données WordPress avec SQL ?
- 2 Les 8 requêtes SQL essentielles
- 2.1 Effacer les spams de la table des commentaires
- 2.2 Effacer les commentaires que vous avez refusé pour optimiser WordPress
- 2.3 Effacer toutes les méta-valeurs des commentaires qui n’existent plus
- 2.4 Effacement de toutes les valeurs temporaires (Valeur %transient%)
- 2.5 Effacer les versions des articles
- 2.6 Effacer les sauvegardes automatiques de WordPress
- 2.7 Effacer complètement les enregistrements Askimet
- 2.8 Optimiser les tables la base MySQL de WordPress
- 3 Avant d’exécuter les requêtes : sauvegarde et précautions
- 4 Quelles sont les autres optimisations possibles ?
Pourquoi optimiser la base de données WordPress avec SQL ?
La base de données WordPress stocke tous les contenus, réglages et interactions de votre site. Avec le temps, elle s’alourdit de données inutiles : révisions d’articles, commentaires indésirables, métadonnées orphelines…
Ces éléments ralentissent les requêtes et dégradent les performances. En exécutant directement des requêtes SQL ciblées, vous gardez un contrôle précis, supprimez l’inutile et assurez à WordPress une base plus légère, plus rapide et plus stable.
Les 8 requêtes SQL essentielles
Effacer les spams de la table des commentaires
Si comme moi vous recevez beaucoup de spam, les tables wp_comments et wp-commentmeta peuvent grossir à vue d’œil. Voyons comment effectuer quelques optimisations sur ces tables.
Toutes les requêtes seront exécutées depuis l’interface phpmyadmin dans l’onglet SQL et permettront d’optimiser la base MySQL WordPress.
Afin de faire un petit bilan à la fin des optimisations voici les statistiques de ma base avant :
DELETE FROM wp_comments WHERE comment_approved = "spam"
Effacer les commentaires que vous avez refusé pour optimiser WordPress
DELETE FROM wp_comments WHERE comment_approved = "0"
Effacer toutes les méta-valeurs des commentaires qui n’existent plus
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments)
Effacement de toutes les valeurs temporaires (Valeur %transient%)
Depuis les dernières versions de WordPress, celui-ci utilise un mécanisme de cache se basant sur la table wp-options. Cette méthode est pratique mais elle charge inutilement la table des options avec des valeurs qui ne disparaissent jamais.
Effacer les versions des articles
Le système de restauration des articles est très avantageux, mais même si on édite très rarement des articles publiés, les anciennes versions restent dans la base.
DELETE FROM wp_posts WHERE post_type = "revision"
Effacer les sauvegardes automatiques de WordPress
DELETE FROM wp_posts WHERE post_status = "auto-draft"
Effacer complètement les enregistrements Askimet
Une fois activée, l’extension Askimet remplit vite la table wp_commentmeta (un commentaire posté entraine trois enregistrements dans la table wp_commentmeta). Il est donc indispensable de lancer régulièrement la requête ci-dessous.
DELETE FROM `wp_commentmeta` WHERE `meta_key` LIKE "Akismet%"
Optimiser les tables la base MySQL de WordPress
Toujours sous PhpMyAdmin, revenez à l’onglet Structure
Ensuite aller en bas de page et cliquer sur Tout cocher (cela sélectionne toutes les tables de votre base).
Puis dans la liste déroulante situé en face, sélectionner Optimiser la table puis cliquer sur Exécuter.
A bout de quelques secondes toutes vos tables sont optimisées.
Maintenant faisons un petit bilan de ces optimisations :
Au niveau des enregistrements 2396 lignes en moins et surtout au niveau taille moins 7 Mo, c’est ma sauvegarde qui va être contente.
Avant d’exécuter les requêtes : sauvegarde et précautions
Avant toute modification directe de la base de données, la sauvegarde est indispensable. Une erreur dans une requête SQL peut entraîner la perte de données critiques. Voici les étapes clés pour sécuriser votre site :
- Sauvegarde complète de la base en CLI :
mysqldump -u utilisateur -p nom_base > sauvegarde_wp.sql
Cette commande crée un fichier de sauvegarde que vous pourrez restaurer en cas de problème.
- Mode test : Si possible, exécutez d’abord les requêtes sur un environnement de test identique à votre site de production.
- Vérification des permissions : Assurez-vous que l’utilisateur MySQL utilisé dispose uniquement des droits nécessaires (SELECT, DELETE, UPDATE) pour éviter toute modification accidentelle sur d’autres bases.
- Sauvegarde automatique via plugin (optionnel) : Plugins comme UpdraftPlus ou All-in-One WP Migration permettent de créer facilement une copie complète de votre site, incluant fichiers et base de données.
En suivant ces étapes, vous limitez les risques et pouvez optimiser votre base WordPress en toute sécurité.
Quelles sont les autres optimisations possibles ?
Personne n’aime attendre pendant qu’une page se charge. C’est pour cette raison qu’il est essentiel d’optimiser son site, pour offrir la meilleure expérience utilisateur possible. Selon les chiffres fournis par Google lui-même, si votre page web met
- Entre 1 et 3 secondes, le taux d’abandon est de 32 %
- Entre 1 et 5 secondes, le taux grimpe à 90 %
- Une seconde supplémentaire et vous avez 106 % d’abandon
- Si elle met plus de 10 secondes, le taux grimpe à 123 %.
Google a d’ailleurs très récemment mis en place des Core Web Vitals, qui s’occupent non pas du contenu de votre site, mais de 3 aspects techniques, à savoir :
- Largest Contentful Paint (LCP) : ici, il va chercher à savoir quel est le temps de chargement du plus grand élément.
- First Input Delay (FID) : il sera question de connaître quand les utilisateurs interagissent avec le site Web.
- Cumulative Layout Shift (CLS ): cette fois, c’est la mise en page qui est analysée (change-t-elle au fur et à mesure que la page se charge ?)
Quick-Tutoriel.com Network & System Admin.















Merci pour le partage de ces astuces. Il est possible d’optimiser toutes les bases de données d’un serveur en utilisant mysqlcheck, qui est largement plus rapide notamment avec un grand volume de données.
La commande :
mysqlcheck -Aos
ou mysqlcheck -u root -Aos -p
pour s’identifier manuellement en tant que root