Wpcours

Des tuto, thèmes et plugins pour Wordpress

  • WORDPRESS
  • TUTORIELS
  • PLUGINS
  • WP-SEO
  • THEMES
  • Blogger
  • Contact

Comment nettoyer sa base de donnée MySQL Wordpress

Màj le 24 mai 2014

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.


Vous aimerez également...

  • Ajouter des liens d’ancrage dans WordPress manuellement et facilement
  • 2 méthodes pour afficher le nombre total de commentaires dans WordPress
  • 11 meilleures alternatives gratuites à Wordpress
  • Comment obtenir rapidement l’approbation Google Adsense en 2020
  • Comment désinstaller/supprimer complètement le plugin WooCommerce?
  • Insérer les pub Adsense entre les articles de la page d’accueil pour Genesis

Classé sous :Tutoriels Balisé avec :wordpress guide

Accueil / Tutoriels / Comment nettoyer sa base de donnée MySQL Wordpress

Laisser un commentaire

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

Ne manquez plus rien
Abonnez-vous

Abonnez-vous dès maintenant à la Newsletters de Wpcours et recevez des tutoriels Gratuitement.

CREER VOTRE AVATAR GRATUIT

Articles récents

  • 5 façons pour trouver la clé de produit (serial) Windows facilement
  • Ajouter une Image mise en avant (featured image) sous le titre de vos article
  • 13 thèmes WordPress polyvalents pour sites des crypto-monnaies pour obtenir un site bien classé
  • C’est quoi l’API WordPress Heartbeat et pourquoi devriez-vous la contrôler ?
  • Créer un message d’incitation à réautoriser les annonces Adsense sans plugin

© 2023 ·Wpcours.com · Mentions · Contact