Accueil > Bases de données, Logiciel > Des requêtes SQL pour vous sauver la vie avec WordPress

Des requêtes SQL pour vous sauver la vie avec WordPress

18/01/2016 Categories: Bases de données, Logiciel Tags: , ,

sql wordpressVous avez changé votre blog WordPress de serveur et de domaine et là plus rien ne marche?

Vous voulez faire le ménage dans votre base de données ?

Et bien voici quelques exemples de requêtes SQL qui vous aiderons à faire tout ça rapidement et sans prise de tête.

Sauvegarde:

Avant de commencer la chose la plus importante à faire c’est de sauvegarder votre base de donnée.

Pour cela, plusieurs solutions s’offre à vous.

Soit vous utilisez directement une extensions WordPress tel que WP-DB-Backup ou WP-DBManager, ou alors vous pouvez le faire manuellement depuis l’interface de phpMyAdmin en suivant la procédure suivante:

  1. Connectez vous sur phpMyAdmin.
  2. Sélectionnez votre base WordPress.
  3. Cliquez sur « exporter » dans le menu en haut de la page.
  4. Sélectionnez les tables à sauvegarder.
  5. Sélectionnez SQL pour avoir un fichier de sortie en .sql.
  6. Cochez la case « Transmettre«
  7. Vous pouvez choisir un type de compression afin de réduire la taille de votre fichier.
  8. Cliquez sur « Exécuter » et le fichier devrait se télécharger.

phpmyadmin-export

Les requêtes:

Maintenant, nous allons pouvoir modifier notre base de donnée:

Pour les requêtes suivantes, on supposera que votre base a une structure par défaut et que le préfixe de vos tables est ‘wp_ », pensez donc à adapter les requêtes à vos table.

Les 5 requêtes suivantes vous serviront pour modifier l’URL de votre blog dans la base de donnée si vous avez changé de domaine:

Changer l’URL de votre site et de votre page d’accueil:

UPDATE wp_options SET option_value = replace(option_value, ‘http://www.ancienneurl.com’, ‘http://www.nouvelleurl.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

Changer le GUID du blog qui sert à générer le permalien des articles par exemple:

UPDATE wp_posts SET guid = REPLACE (guid, ‘http://www.ancienneurl.com’, ‘http://www.nouvelleurl.com’);

Changer les URL de votre blog au sein de vos articles:

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘http://www.ancienneurl.com’, ‘http://www.nouvelleurl.com’);

Modifier l’URL des images de vos articles:

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘src= »http://www.ancienneurl.com’, ‘src= »http://www.nouvelleurl.com’);

Ainsi que leur GUID:

UPDATE wp_posts SET  guid = REPLACE (guid, ‘http://www.ancienneurl.com’, ‘http://www.nouvelleurl.com’) WHERE post_type = ‘attachment’;

Modifier l’URL des « meta », l’URL des champs personnalisés:

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, ‘http://www.ancienneurl.com’,’http://www.nouvelleurl.com’);

Voila pour les requêtes de migration de domaine.

Passons aux requêtes de maintenance et d’initialisation.

Modifier le nom d’un utilisateur, ici pour l’utilisateur « Admin »:

UPDATE wp_users SET user_login = ‘Nouveau Nom’ WHERE user_login = ‘Admin’;

Modifier le mot de passe d’un utilisateur, ici pour l’utilisateur « Admin »:

UPDATE wp_users SET user_pass = MD5( ‘Nouveau mot de passe’ ) WHERE user_login = ‘Admin’;

Attribuer tout les article d’un auteur A à un auteur B:

Ici nous faisons la requête avec les ID des auteurs.

UPDATE wp_posts SET post_author = ‘auteur-B-id’ WHERE post_author = ‘auteur-B-id’;

Supprimer les brouillons enregistrés automatiquement par wordpress:

DELETE FROM wp_posts WHERE post_type = « revision »;

Ou une 2ème solutions plus complète qui supprime aussi les « meta »:

DELETE a,b,c FROM wp_posts a
WHERE a.post_type = ‘revision’
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)

Supprimer les « meta key » laissé par des Extensions que vous n’utilisez plus:

Certaine extension ajoute automatiquement des « meta » dans vos articles et gonfle votre base de donnée. Si vous n’utilisez plus ces extensions, vous pouvez supprimer les « meta » obsolètes.

DELETE FROM wp_postmeta WHERE meta_key = ‘la meta à supprimer’;

Récupérer les adresse e-mails de tous les commentaires:

Cette requête récupère les e-mails sans doublons

SELECT DISTINCT comment_author_email FROM wp_comments;

Supprimer tout les « PingBack »:

DELETE FROM wp_comments WHERE comment_type = ‘pingback’;

Faire le ménage dans les commentaires:

Cette requête vous permet de supprimer tout les spams ou commentaires non approuvés en fonction du code utilisé:

  • 0 = Commentaire en attente de modération
  • 1 = Commentaires approuvés
  • spam = les commentaires considéré comme spam
DELETE FROM wp_comments WHERE comment_approved = ‘code 0, 1 ou spam’;

Trouver les Mots-Clefs non utilisés pour alléger la base de donnée:

SELECT * From wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy=’post_tag’ AND wtt.count=0;

Edit: Récupérer la liste des commentaires les plus populaires en fonction de leur nombre de commetaires:

DESC: pour les classer dans l’ordre croissant, sinon remplacer par ASC

LIMIT 0 , 5: permet de ne récupérer que les 5 premier résultats,  à vous d’adapter à vos besoin

SELECT comment_count,ID,post_title FROM wp_posts ORDER BY comment_count DESC LIMIT 0 , 5

Source: guimove.fr

Print Friendly, PDF & Email

Related Post

Les commentaires sont fermés.