Cet article a été publié il y a 2 ans 3 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.Edit: ajout d’une requête supplémentaire.
Vous avez changer votre blog WordPress de serveur et de domaine et la plus rien ne marche?
Vous voulez faire le ménage dans votre base de donnée?
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:
- Connectez vous sur phpMyAdmin.
- Sélectionnez votre base WordPress.
- Cliquez sur « exporter » dans le menu en haut de la page.
- Sélectionnez les tables à sauvegarder.
- Sélectionnez SQL pour avoir un fichier de sortie en .sql.
- Cochez la case « Transmettre«
- Vous pouvez choisir un type de compression afin de réduire la taille de votre fichier.
- Cliquez sur « Exécuter » et le fichier devrait se télécharger.
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
Voila j’espère que cet article vous sera utile, n’hésitez pas à me poser vos questions dans les commentaires.
Les sources:
How To Turn Off Post Revision In WordPress
How to: Batch deleting post revisions
Mark asked: How to batch deleting spam comments on a WordPress blog?
How to: Change author attribution on all posts at once
How to reset password manually
Changer le nom de domaine d’un blog WordPress sans encombres
Articles en relation :
Pas d'articles en relation.
Rédigé par Guimove
![phpmyadmin - export phpmyadmin export 300x160 [EDIT]Des requêtes SQL pour vous sauver la vie avec Wordpress](http://guimove.fr/wp-content/uploads/2010/02/phpmyadmin-export-300x160.jpg)
![phpmyadmin - sql requêtes phpmyadmin sql requêtes [EDIT]Des requêtes SQL pour vous sauver la vie avec Wordpress](http://guimove.fr/wp-content/uploads/2010/02/phpmyadmin-sql-requêtes.jpg)




Des requêtes SQL pour vous sauver la vie avec WordPress http://lu.cx/Dbi0mB
Des requêtes SQL pour vous sauver la vie avec WordPress http://lu.cx/Dbi0mB ( via @GeekBooster )
RT @webdeux: Des requêtes SQL pour vous sauver la vie avec WordPress http://lu.cx/Dbi0mB
RT @sebastienr: Des requêtes SQL pour vous sauver la vie avec WordPress http://lu.cx/Dbi0mB ( via @GeekBooster )
RT @sebastienr: Des requêtes SQL pour vous sauver la vie avec WordPress http://lu.cx/Dbi0mB ( via @GeekBooster )
RT @webdeux: Des requêtes SQL pour vous sauver la vie avec WordPress http://lu.cx/Dbi0mB
Des requêtes SQL pour vous sauver la vie avec WordPress http://lu.cx/Dbi0mB
RT @Bouillon Des requêtes SQL pour vous sauver la vie avec WordPress http://ff.im/-fHcm1 // Potentiellement très utile !
RT @CallMeDams: #tools #wp Des requêtes SQL pour vous sauver la vie avec WordPress http://ow.ly/1ou4NM
RT @rlemetayer: RT @Bouillon Des requêtes SQL pour vous sauver la vie avec WordPress http://ff.im/-fHcm1 // Potentiellement très utile !
Bonjour,
Auriez-vous une requête qui me sauverait la vie pour afficher les article avec auteur, date, titre, contenu hors moteur de wordpress? Merci!
Des requêtes #SQL pour vous sauver la vie avec #Wordpress http://icio.us/2igzbo
Merci pour toutes ces requêtes. Du coup je me suis fait une procédure pour mettre à jour la bdd de WordPress quand on change les urls. Donc je fais en profité toute le monde. Encore une fois MERCI
et bonne continuation à tous sur WordPress. !!
########## Procédure ##########
DELIMITER |
CREATE PROCEDURE PROC_UPDATE_URL_WORDPRESS ( IN oldUrl VARCHAR( 255 ), IN newUrl VARCHAR( 255 ) )
BEGIN
DECLARE OLDSRC VARCHAR( 255 ) DEFAULT CONCAT( « src= » », oldUrl );
DECLARE NEWSRC VARCHAR( 255 ) DEFAULT CONCAT( « src= » », oldUrl );
UPDATE wp_options
SET option_value = REPLACE( option_value, oldUrl, newUrl )
WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
UPDATE wp_posts
SET guid = REPLACE( guid, oldUrl, newUrl );
UPDATE wp_posts
SET post_content = REPLACE( post_content, oldUrl, newUrl );
UPDATE wp_posts
SET post_content = REPLACE(post_content, OLDSRC, NEWSRC );
UPDATE wp_posts
SET guid = REPLACE( guid, oldUrl, newUrl ) WHERE post_type = ‘attachment’;
UPDATE wp_postmeta
SET meta_value = REPLACE( meta_value, oldUrl, newUrl );
END
|
DELIMITER ;
########## Utilisation ##########
CALL PROC_UPDATE_URL_WORDPRESS( « http://old-url », « http://new-url » );
Merci Benjamin pour ce script qui en aidera plus d’un, moi le premier.
Attention, les quotes ont été remplacés dans ma procédure. Vous pouvez retrouver le script ici :
http://dl.dropbox.com/u/161245/MAJ-url-wordpress.sql