WordPress, 13 Requêtes SQL Indispensables
Catégorie de l'article : Débuter avec WordPress, Optimisation WordPress, WordPress | 5 Commentaires | 3 253 Vues
WordPress repose sur une base de donnée MySQL. C’est une information que la plus part des utilisateurs de WordPress sait déjà. Si ce n’était pas le cas… Sachez que MySQL est un SGDBR Open Source et gratuit qui se trouve chez la plus part des hébergeurs Web. Toutes vos données, billets, commentaires, catégories, paramètres sont stockés dans cette base de données, MySQL. Maintenant vous savez. Si vous souhaitez en savoir plus, un coup d’œil sur le schéma de la base de donnée wordpress pourrait être un bon départ.
Mais pourquoi parler de MySQL ? Pour les ouvertures que nous offrent les requêtes SQL, les automatismes et le gain de temps dans le traitement d’une informations récursive.
Imaginions que vous ayez une modification à faire sur chacun de vos billets, le faire au travers du back office de WordPress peut devenir un pensum, et multiplier le nombre d’erreurs humaines. Cette action pourrait certainement être exécuté en un instant au travers d’une requête SQL.
Découvrons les requêtes SQL qui pourraient vous être à la source d’un immense gain de temps dans votre administration et gestion de votre site WordPress.
Sauvegardez votre Base de Donnée WordPress
Avant de faire quelque changement que ce soit, sauvegardez votre base de donnée. Oui oui, c’est de l’impératif ! Sauvegarder sa base de donnée WordPress avant toute modification doit devenir une habitude, cela vous sauvera la vie en cas de crash… Et ca nous épargnera les pleurnicheurs !
Pour sauvegarder votre base de donnée WordPress, vous pouvez télécharger WP-DB-Backup ou WP-DBManager, deux plugins pour sauvegarder votre base de donnée au travers du panneau d’admin de WordPress.
Mais parler de requêtes SQL et sauvegarder grâce à des plugins, ca craint. Alors, on sort la barbe, et on va faire ca à la mimine. Enfin presque car phpMyAdmin automatise grandement la tâche.
- Connectez-vous à votre interface phpMyAdmin.
- Sélectionnez votre base de donnée WordPress.
- Cliquez sur Export, en haut.
- Sélectionnez toutes vos tables.
- Selectionnez SQLpour exportez au format .sql.
- Cliquez sur Sauvegarder.
- Choisissez le moyen de compression, sélectionnez gzipped.
- Et pour finir, cliquez sur Ok, et après que votre navigateur vous y ait invité, sauvegarder le fichier sur votre poste.
Une solution simple, que je préconise car pas besoin de plugins; et moins de plugins nous avons, mieux nous nous portons :)
13 Requêtes SQL pour WordPress
Un moyen simple d’exécuter une requête SQL reste encore phpMyAdmin en ce qui concerne MySQL, bien que cela soit un point de faible pour la sécurité générale de votre site. Mais cela est un autre sujet. Le plugin WordPress SQL Executioner vous permet également d’exécuter à partir de l’admin de WordPress.
Pour faire simple, voici comment utiliser phpMyAdmin :
- Se connecter à son interface phpMyAdmin et sélectionnez votre base de donnée WordPress.
- Cliquez sur l’onglet SQL.
- Copiez/Collez les requêtes que vous souhaitez exécuter.

Note: Toutes nos requêtes partiront du principe que le préfixe de table que vous avez est _wp. Cependant, nous attirons votre attention sur le fait que cela représente une faiblesse de sécurité. Choisir un autre préfixe lors de l’installation est une excellente idée.
Changement du Siteurl & Homeurl
WordPress sauvegarde dans la base de donnée le chemin absolue de l’URL de votre site ainsi que l’adresse de la page d’accueil. Pour ceux qui souhaiterez migrer leur site ou blog wordpress vers un nouveau nom de domaine, il faut changer ces valeurs dans la base de donnée au risque de voir son site qui ne change plus. Il suffit de changer les valeurs Siteurl et Homurl pour que votre site reparte correctement.
Requête SQL WordPress :
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com') WHERE option_name = 'home' OR option_name = 'siteurl'; |
Changer le GUID
Pour la migration de votre site wordpress sur un autre nom de domaine, le changement du champ GUID présent dans la table wp_posts est primordiale. En effet, le GUID est le champ qui est utilisez en tant que chemin absolue.
Requête SQL WordPress :
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com'); |
Changer les URL dans le Contenu
Plutôt que de stocker les URL en chemin relatif, WordPress préfère les stocker en chemin absolue.
Requête SQL WordPress
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com'); |
Changer le Chemin de vos Images
Vous avez décidé de sauter le pas ? Vous allez utiliser les services d’un CDN ? C’est une bonne chose. Après avoir fait le nécessaire niveau DNS, il va falloir mettre à jour manuellement les chemins vers vos images. Cette petite requête SQL peut vous faire gagner des heures !
Requête SQL WordPress :
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com'); |
Du coup, il vous faut aussi remplacer le GUID des images jointes :
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment'; |
Mettre à jour les Meta
Utile pour ceux déménageant leurs blogs wordpress d’un site à l’autre.
Requête SQL WordPress :
|
1
|
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.oldsiteurl.com','http://www.newsiteurl.com'); |
Changer le Nom d’Utilisateur par Défaut « Admin »
Cela n’est plus automatique, mais combien de blog WordPress ont pour nom d’Admin… Admin. Je pense que c’est inutile de vous préciser que c’est comme dévérouiller le verrou du haut de sa porte d’entrée… Vous simplifiez la vie à un potentiel cambrioleur. Ici vous vous exposez à une attaque par Brute Force.
Solution:
UPDATE wp_users SET user_login = 'VotreNouvelUtilisateur' WHERE user_login = 'Admin'; |
Changer le Mot de Passe
Besoin de changer le mot de passe de l’admin ou de n’importe lequel de vos utilisateurs WordPress ? Facile.
Requête SQL WordPress :
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'your-username'; |
Changer l’Auteur d’Articles par un Autre Auteur
Besoin de changer d’auteur pour toute une série d’article ? Pour cela il vous faut l’ID des auteurs en question. Où obtenir l’ID ? Rendez-vous sur votre interface WordPress, dans vos profil utilisateurs. Regardez votre barre d’adresse… et recherchez user_id et le tour est jouée.
Requête SQL WordPress :
UPDATE wp_posts SET post_author = 'new-author-id' WHERE post_author = 'old-author-id'; |
Supprimer les Révisions
Chaque sauvegardes entraine un enregistrement dans la base de donnée. Imaginez que vous ayez sauvegardé votre dernier article 7 fois, alors 7 copies existent dans la base de donnée. Votre blog possède plusieurs centaines de billets…. je vous laisse imaginer le nombre de billets fantômes qu’il doit y avoir sur votre base de donnée.
Requête SQL WordPress :
DELETE a,b,c FROM wp_posts aLEFT 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' |
Supprimer les Meta de vos Billets
Installer ou supprimer un plugin est une tâche pour le moins commune. Mais saviez-vous que des informations resteront tout de même inscrite dans la base de donnée, au niveau du champ post_meta table. En plus de réduire la taille de vos bases, cela redonnera un petit coup de fouet à la vitesse d’exécution de votre blog.
Requête SQL WordPress :
DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key'; |
Exporter les Adresses Emails de Vos Commentateurs
Et oui, on peut récupérer toutes les adresses emails des personnes ayant commenté sur votre blog. Sympa non ? Mais attention à vos condition d’utilisation. Vous ne voudriez pas passer pour un vilain spammeur je suis sur.
Requête SQL WordPress
SELECT DISTINCT comment_author_email FROM wp_comments; |
Once you have the result, under Query results operations, select export to export all the emails in phpMyAdmin.
Supprimer tout les Pingback
Trop populaire ? Besoin de faire de la place dans ces milliers de Pingback qui polluent votre base ? Chanceux !
Requête SQL WordPress :
DELETE FROM wp_comments WHERE comment_type = 'pingback'; |
Supprimer vos Commentaires Spam
Besoin de supprimer en masse des commentaire classés comme Spam ? Facile !
Requête SQL WordPress :
DELETE FROM wp_comments WHERE comment_approved = 'spam'; |
- 0 = Commentaire en cour de modération
- 1 = Commentaire approuvé
- spam = Commentaire classé comme Spam
Identifier des Tags Non Utilisés
Si vous supprimé manuellement des billets dans WordPress, directement à partir de votre base de donnée alors il vous faudra aussi effacer les tags en relations.
Requête SQL WordPress :
SELECT * From wp_terms wtINNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0; |
À Vot’ Bon Coeur
Vous aussi vous connaissez des requêtes SQL permettant de se simplifier la vie sous WordPress ? Fait tourné !
Il suffit de cliquer sur l'un de ces boutons :


















5 Commentaires pour "WordPress, 13 Requêtes SQL Indispensables"
après visite sur http://www.bigblog.fr/ je me demande si WP-DBManager à pas une faille.quand à la sauvegarde de la bdd: je conseille de sauvegarder séparément la structures et les données.merci pour les différente requête, j’en avais besoin !
Merci c’est pratique d’avoir toutes ces requêtes, surtout celles concernant les problématiques de migration.
Super ressource assez complète. Je garde votre article en bookmark, ça me sera surement utile et je n’aurais plus qu’à faire un copier/coller de ces requêtes SQL pour gagner du temps. Je pense même qu’il serait judicieux de mettre en place un CRON pour automatiser certaines tâches qui consiste à purger la table.
Il faut continuer de nous arroser avec des articles de cette qualité.
Merci encore.
Tony Articles récents..Éviter les requêtes dans des boucles
Ils en parlent sur le Web