Quelques requêtes SQL bien utiles pour WordPress

Web

Si vous utilisez le système de gestion de contenu wordpress et que vous aimez mettre les mains dans le cambouis, voici quelques requêtes SQL permettant d’extraire de l’information sur vos données ou de faire quelques modifications rapides bien utiles -surtout si vous avez des centaines d’articles et que faire ces opérations à la main est tout simplement…impossible.

Avant de commencer, pensez à faire des sauvegardes complètes de vos bases de données. Il s’agit de manipuler des bases de données qui contiennent la totalité de vos articles. Ne le faîtes pas si vous avez peur de tout perdre. Le site décline toute responsabilité en cas de mauvaise manipulation!

Obtenir la liste des articles et compter le nombre de mots clés

Très pratique pour le référencement et pour savoir quels sont les articles sur lesquels le contenu est un peu « light ». Manuellement cela impliquerait d’aller sur chaque article et de noter dans le back-office en bas de la zone d’édition de texte le nombre de mots clés. Vous pouvez utiliser pour requête les bases de données soit phpMyAdmin ou directement la ligne de commande (ce que je préfère).


SELECT post_name, SUM(LENGTH(post_content) - LENGTH(REPLACE(post_content, ' ', '')) + 1) as 'Word Count' FROM wp_posts WHERE post_status='publish' AND post_type='post' group by 1 order by 2 asc limit 10;

Cette requête fait la chose suivante: pour chaque « article » qui a été publié,  elle va additionner tous les caractères dans le post avec les espaces vides. Un mot comme « article » sera égal à 7 et « un article » sera égal à 10. La requête va ensuite calculer le nombre de mots mais cette fois sans les espaces vides. On obtient alors 10 – 9 =1 chiffre auquel il faut ajouter 1 pour avoir le nombre de mots, soit 2 dans cet exemple.  La méthode revient à compter les blancs.

Un autre exemple: « ceci est un test pour wordpress » => au total, on a bien 31 caractères, dont 31-5=26 sans espaces blancs. Ce qui fait 31-26=5. On ajoute 1 ce qui donne exactement 6 mots.

Vous pouvez modifier cela et comptez le nombre de mots pour des pages, des brouillons…

En adaptant la requête très rapidement, on peut compter, en moyenne, le nombre de mots par post. Cela donne:

select avg(word_count) from (SELECT post_name, SUM(LENGTH(post_content) - LENGTH(REPLACE(post_content, ' ', '')) + 1) as word_count FROM `wp_posts` WHERE post_status='publish' AND post_type='page' group by 1 order by 2 asc) as a;

Comment faire l’update d’un champ d’article en SQL


UPDATE wp_posts SET post_content = REPLACE (post_content, 'test', 'nouveau test');

Admettons maintenant que vous souhaitiez changer juste une ligne, un mot ou un lien dans tous vos articles. Il vous suffit d’utiliser cette requête et de remplacer simplement les mots entre parenthèse. Attention tout de même, ne faites pas cela si vous n’êtes pas sûr: cela va modifier tous vos articles!! On sauvegarde avant!

Très pratique pour modifier des liens qui auraient été écrits en dur dans les articles ou des bouts de phrase.

Comptez le nombre de publications par jour via SQL

Pour garder le rythme de publication, histoire de sortir quelques stats, voici une requête qui vous permettra de compter rapidement le nombre d’articles publiés. Le champ par défaut est par jour mais vous pouvez très bien le modifier pour avoir l’année, le mois, la semaine ou toute autre période d’agrégation.

select date(post_date) as date, count(*) from weekend_posts where post_type ='post'  and post_title not like '%Brouillon%' group by 1  order by 1;

Si vous souhaitez en apprendre plus sur le SQL, voici quelques ouvrages sélectionnés pour vous permettre d’aller plus loin:

[aff cat= »livre-sql »]

Fiverr, la plateforme avec des milliers d'offres de freelances

Découvrez notre séléction de produits pour les particuliers et professionnels.

1 thought on “Quelques requêtes SQL bien utiles pour WordPress

Laisser un commentaire

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