Dans ce tutoriel on va savoir comment nettoyer une base de donnée Mysql à l’aide de quelques requêtes SQL, pour l’optimiser et l’alléger .Pour moi après application j’ai une base de donnée qui a passée de 86 mb à 55 mb de taille, ce qui veux dire un gain important d’espace et suppression de données inutile.
Ces requêtes ont été testées au moins pour la version 3.5 de WordPress, mais rien ne dit qu’elles seront toujours opérationnelles dans l’avenir, surtout avec l’évolution de WordPress. Pour cela, je vous recommande d’effectuer une sauvegarde (un backup) des tables WordPress avant d’utiliser une des requêtes présentées ici .
Par défaut toutes les tables WordPress sont préfixées par « wp_ ». Si vous avez modifié ce préfixe, notamment pour des raisons de sécurité, il faudra penser à adapter les requêtes présentés sur cet article, c’est à dire changer le préfixe des requêtes ci-dessous « wp_ » par le préfixe personnalisé de vos tables .
Requêtes SQL pour supprimer les révisions dans wordpress
Les articles qui sont entrain d’être édités, ou bien sauvegardés, seront enregistrés dans la base de données . On peut alors imaginer que pour 10 articles visibles sur un blog, il y peut-être 50 articles enregistrés en base de donnée, il est alors très importants de supprimer ces révisions pour alléger votre BD . Voici la requête à utilisée:
DELETE a,b,c FROM `wp_posts` a LEFT JOIN `wp_term_relationships` b ON (a.ID = b.object_id) LEFT JOIN `wp_postmeta` c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
Requêtes SQL pour supprimer les commentaires spam
Pour supprimer les commentaires classés comme spam dans votre blog, vous pouvez utiliser cette requête .
DELETE FROM `wp_comments` WHERE `comment_approved` = 'spam';
Requêtes SQL pour supprimer les entrées liées au plugin Akismet
l’extension Akismet génère plusieurs données meta par commentaires. En supprimant ces données et particulièrement ceux liées à des spams qui ont été supprimés, il est possible d’économiser plusieurs Mo de données peu utiles. J’ai économiser environ 11 Mo en supprimant ces données.Voici la requête à utiliser:
DELETE FROM `wp_commentmeta` WHERE `meta_key` LIKE '%akismet%'
Requêtes SQL pour supprimer les données meta des articles qui n’existent plus
En supprimant des articles, il y a de fortes chances d y avoir des données meta liées qui ne sont plus du tout utiles. Pour les supprimer et potentiellement gagner plusieurs Mo sur une base de données, il est possible d’utiliser cette requête:
DELETE pm FROM `wp_postmeta` pm LEFT JOIN `wp_posts` wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL
Requêtes SQL pour Supprimer tous les pingbacks
Si vous ne souhaitez plus afficher les pingbacks dans les commentaires, utiliser cette requête pour les supprimer:
DELETE FROM `wp_comments` WHERE `comment_type` = 'pingback';
Requêtes SQL pour Supprimer les mots-clés non-utilisés
Les mots-clés ou « tag » non utilisée ou bien qui ne sont pas associés à aucun article peuvent être supprimés facilement à l’aide de ces 3 requêtes suivantes :
DELETE FROM `wp_terms` WHERE `term_id` IN ( SELECT `term_id` FROM `wp_term_taxonomy` WHERE `count` = 0 ); DELETE FROM `wp_term_taxonomy` WHERE `term_id` NOT IN ( SELECT `term_id` FROM `wp_terms` ); DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN ( SELECT term_taxonomy_id FROM wp_term_taxonomy );
Requêtes SQL pour Supprimer le cache des flux
WordPress enregistre un cache des flux (RSS, ATOM …). Pour purger ce cache et ainsi libérer un grand nombre d’enregistrement de la table wp_options, effectuer cette requête:
DELETE FROM wp_options WHERE option_name LIKE ('_transient%_feed_%')
Requêtes SQL pour Supprimer les vieux articles
pour supprimer les vieux articles (plus d’un an), pour un blog de « news » par exemple, effectuer cette requête :
DELETE FROM `wp_posts` WHERE `post_type` = 'post' AND DATEDIFF(NOW(), `post_date`) > 365
Il est aussi possible de supprimer des articles par date en utilisant cette requete:
DELETE FROM `wp_posts` WHERE `post_type` = 'post' AND `post_date` < '2010-12-31 23:59:59'
Comment effectuer des requêtes SQL ?
Pour exécuter l’une des requêtes ci-dessus, connectez-vous à votre phpMyAdmin. Voici comment l’utiliser :
- Se connecter à son interface phpMyAdmin
- Sélectionnez votre base de donnée WordPress
- Cliquez sur l’onglet SQL
- Copiez/Collez les requêtes que vous souhaitez exécuter
Espérant que ce tuto vous donnera entière satisfaction, et une optimisation de votre base de donnée.
Laisser un commentaire