Comment nettoyer sa base de donnée MySQL Wordpress

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  :

  1. Se connecter à son interface phpMyAdmin
  2. Sélectionnez votre base de donnée WordPress
  3. Cliquez sur l’onglet SQL
  4. Copiez/Collez les requêtes que vous souhaitez exécuter

requete-sql

Espérant que ce tuto vous donnera entière satisfaction, et une optimisation de votre base de donnée.

Article précédent

Yoast Seo (Wordpress Seo) : meilleure configuration à faire (2022)

Article suivant

11 Plugins essentiels pour un blog Wordpress

Laisser un commentaire

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *