Lorsque votre blog est hébergé sur un « petit » serveur mutualisé, il se peut que, un jour (ou c’est déjà arrivé), vous arriviez à la limite de votre base de données SQL. Différents facteurs peuvent conduire à une « explosion » de la taille de la base de données de votre installation WordPress : sauvegardes automatiques des articles (post revisions), commentaires indésirables (spam) ou en attente de relecture (modération), plugin mal optimisé, etc.
Optimiser sa base de données sans plugin
Commentaires : depuis votre tableau de bord WordPress, onglet « Commentaires » / « Indésirables ». Blog Tool Box reçoit plus de 1000 commentaires de spam par mois, ainsi en cliquant sur « Supprimer tous les indésirables » nous gagnons de l’espace dans notre base.
Même principe pour les commentaires « en attente de relecture », vérifiez qu’il n’y a pas de commentaires légitimes puis supprimez tous les commentaires restants.
Sauvegardes automatiques : si vous êtes comme moi à enregistrer très souvent en cours de rédaction, vous vous retrouvez avec de très nombreuses sauvegardes pour chaque article.
Si vous avez un article qui fait 100Ko de texte et 5 sauvegardes automatiques pour celui-ci, cela fait 500Ko de perdus. Et si vous avez 100 articles comme ça, cela fait 50Mo de base de données perdus !
Supprimer les sauvegardes automatiques déjà enregistrées
Depuis phpMyAdmin de votre hébergement, cliquez sur le bouton « SQL » en haut à gauche pour exécuter cette requête qui supprimera toutes les sauvegardes automatiques :
DELETE FROM wp_posts WHERE post_type = "revision";
Empêcher ou limiter les sauvegardes automatiques
Ouvrez le fichier wp-config.php situé à la racine du répertoire où vous avez installé WordPress puis ajoutez (et adaptez) les lignes suivantes :
define ('WP_POST_REVISIONS', 5); // Définit le nombre maximal de sauvegardes automatiques par article
define('AUTOSAVE_INTERVAL', 3600); // Sauvegarde automatique toutes les heures
Si vous voulez que WordPress n’enregistre plus aucune sauvegarde automatique, mettez 0 au lieu de 5.
Optimiser les tables de la base de données
En regardant la liste des tables de votre base de données depuis phpMyAdmin, vous devriez voir une colonne « Perte » pour certaines tables. Rien de bien inquiétant, lorsqu’il y a un ajout ou une suppression dans votre base de données, il arrive que MySQL ne nettoie pas correctement certains enregistrements ce qui résulte dans des pertes d’espace disque.
En bas de la liste des tables, cliquez sur « Cocher les tables avec pertes » puis « Pour la sélection : Optimiser » et c’est tout ! Plus de pertes pour un moment (mais ce n’est pas définitif).
Vérifier les plugins trop gourmands
Vous pouvez également jetez un œil pour voir si une table n’a pas un nombre d’enregistrements anormalement élevé. C’est souvent le cas avec certains plugins de statistiques qui créent un enregistrement à chaque visite sur votre blog… Si vous savez ce que vous faites, vous pouvez vider ces tables.
Optimiser sa base de données avec le plugin WP-Optimize
Pour faciliter ces manipulations, il existe le plugin WordPress WP-Optimize qui permet de nettoyer et d’optimiser sa base de données sans passer par phpMyAdmin :
- Supprimer les sauvegardes automatiques d’un clic
- Supprimer les commentaires indésirables et en attente modération d’un clic
- Statistiques sur votre base de données : combien d’espace peut être optimisé et, après un clic, combien d’espace vous avez gagné, etc
Note : pas besoin d’être sur WordPress, vous pouvez également optimiser votre base de données et supprimer les commentaires indésirables si vous êtes sur une autre plateforme de blog.
Merci pour ces tuyaux bien utiles…
Il m’arrive toutefois quelque chose de bizarre : OVH m’indique, au moment d’optimiser les tables avec pertes, que je ne peux pas les optimiser !
« INSERT command denied to user »
Qu’est-ce que je peux faire ?
Mat
Une base de données est un univers où je me perds encore par manque d’expérience et je ne maîtrise pas encore mon blog.
J’étais donc loin de penser aux petits détails.
Sincèrement merci pour cet article!!!
Merci pour le tuyau de sur config.php, perso je nettoie mes bases manuellement, tout comme mes backup, c’est devenu un rituel pour terminer la journée
Je pensais que les sauvegardes automatiques étaient réalisées les unes sur les autres.
Pour les requêtes à faire sur la base de données un plugin serait le bienvenue :)
Merci.
Déjà fait avec toi et c’est vrai que ca marche très très bien. Ma base de données ne pouvait pas accueillir tous mes posts revisions. Une fois virés, j’ai mieux respiré !
Un grand merci, comme d’habitude ! ;)
Génial avec un nombre d’enregistrements effacés de 12623 ça fait du bien !!
Merci, c’est effectivement à faire de temps en temps.
On est vite submergé par les commentaires.
Christian Binot
Merci pour cet excellent article.
C’est effectivement à faire régulièrement, notamment pour ceux qui sont hébergés sur des espaces sous-dimensionnés.
Pat’
merci , pour ma part le plugin je ne le connaissais pas
Merci pour l’astuce!
Très pratique cette extension. Ma base SQL ne faisant que 25 mo, chaque Ko est précieux ;)
Merci pour l’astuce !!!
J’ai trouvé l’article en faisant la recherche dans ma propre base des données avec
%wp_post_revision% car l’option define ( ‘WP_POST_REVISIONS’ ,false); proposé ailleurs marche que si on modifie le wp-config.php avant d’installer le WordPress…
Tu m’a sauvé énormément de temps, merci.
Pour le plugin de gestion de la base de données je utilise WP-DBManager (ici http://lesterchan.net/portfolio/programming/php/#wp-dbmanager) qui permet d’automatiser beaucoup des choses et également exécuter une requête sql depuis le wp-admin.
bonne continuation
Perso j’utilise WPOptimise depuis longtemps, et je bénis son concepteur! mais je n’avais jamais pensé à faire les manips à la main, donc merci pour ces quelques explications!
Comme tout le monde a dit : merci !
Il est vrai que je ne comprenais pas pourquoi ma base de données se remplissait si vite, alors que j’ai encore peu d’articles, mais comme je fais pas mal de sauvegardes, en plus des automatiques…
Maintenant je suis un peu plus tranquille !
Impressionnant ! Ma BD est passée de 43.524 Mo à aujourd’hui 26.462 Mo rien qu’avec la suppression de sauvegarde auto et une optimisation !
MERCI MERCI favoris direct :)
Si jamais j’ai aussi un blog http://www.only-iphone.fr/ ;-)
Merci beaucoup ! Je cherchais justement à optimiser ma base sans passer par la gestion des contenus de wordpress, et bien sûr OVH ne m’a pas parlé de ces méthodes mais de la mise à niveau vers une offre plus chère !…
elle est passée de 45 Mo à 3 Mo !!!!!