Skip to content

WordPress, 13 Requêtes SQL Indispensables

23 août 2012

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.

  1. Connectez-vous à votre interface phpMyAdmin.
  2. Sélectionnez votre base de donnée WordPress.
  3. Cliquez sur Export, en haut.
  4. Sélectionnez toutes vos tables.
  5. Selectionnez SQLpour exportez au format .sql.
  6. Cliquez sur Sauvegarder.
  7. Choisissez le moyen de compression, sélectionnez gzipped.
  8. 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 :

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

SQL Query Box

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'WHEREoption_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 :

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 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'

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 champpost_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 wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;

From → // Actus Web

Laisser un commentaire

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :