L’accès direct à la base de données WordPress via des requêtes SQL permet de réaliser en quelques secondes des opérations qui prendraient des heures via l’interface : remplacer une URL en masse, nettoyer des révisions, corriger des données corrompues. Ces 15 requêtes couvrent les cas d’usage les plus fréquents en administration et maintenance WordPress.
Pas le temps ? Faites-le analyser par l'IA
Vous me lisez souvent ? Dites-le à Google
J'ajoute WPFormation à mes sources
Sauvegarder votre base de donnees WordPress
En préambule et avant de procéder à toute modification, pensez à sauvegarder votre base de données! Vous pouvez télécharger le plugin WP-DBManager pour sauvegarder votre base de données via WordPress. Voici la procédure manuelle de sauvegarde via phpMyAdmin :- Connectez-vous à phpMyAdmin
- Sélectionnez votre base de données WordPress
- En haut, cliquez sur Export
- Sélectionnez toutes les tables
- Sélectionnez SQL pour exporter au format .sql
- Cochez la case " Enregistrer comme fichier"
- Choisissez le type de compression gzip
- Enfin, cliquez sur OK
Comment effectuer des requetes SQL ?
Le moyen le plus simple pour exécuter l’une des requêtes ci-dessous est d’utiliser phpMyAdmin. Voici comment utiliser phpMyAdmin :- Se connecter à son interface phpMyAdmin
- Sélectionnez votre base de donnée WordPress
- Cliquez sur l'onglet SQL
- Copiez/Collez les requêtes que vous souhaitez exécuter
ATTENTION : Toutes les requêtes utilisées dans cet article partent du principe que votre préfixe de table est "wp_", à savoir, le préfixe standard pour les tables WP lors de l’installation WordPress. Si vous utilisez un préfixe de table différent (et c’est conseillé en terme de sécurité;), pensez à modifier les requêtes en conséquence.
Requêtes SQL WordPress pratiques & utiles
Changer le chemin des images
Vous avez décidé d’utiliser un CDN tel qu’Amazon, après avoir créé le CNAME, utilisez la requête ci-après pour changer le chemin de vos images vers le CDN.UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="https://www.anciensiteurl.com', 'src="https://votrecdn.nouveausiteurl.com');
Changer le Nom d'Utilisateur par Defaut "Admin"
Si vous avez choisi "admin" comme nom d’utilisateur lors de l’installation de WordPress, changez-le. Cela peut être un problème de sécurité car un pirate peut plus facilement forcer votre admin WordPress. La requête change aussiuser_nicename, l’identifiant qui apparaît dans l’adresse de vos pages d’auteur :
UPDATE wp_users SET user_login = 'Votre-Nouveau-Nom', user_nicename = 'votre-nouveau-nom' WHERE user_login = 'admin';
Changer le mot de passe
Besoin de changer ou de réinitialiser votre mot de passe dans WordPress, voire même celui des autres utilisateurs ?UPDATE wp_users SET user_pass = MD5( 'nouveau_mot_passe' ) WHERE user_login = 'votre-username';
Assigner tous les articles de l’auteur A à l’auteur B
Si vous souhaitez transférer les articles de l’auteur A vers l’auteur B, il serait très long de la faire, article par article. Utilisez la requête SQL suivante. Vous devrez d’abord obtenir l’ID des 2 auteurs en allant sur les profils utilisateurs depuis votre panneau d’administration WordPress. Cliquez sur les noms des auteurs pour voir leur profil. Dans la barre d’adresse, cherchez " user_id ".UPDATE wp_posts SET post_author = 'nouvel-auteur-ID' WHERE post_author = 'ancien-auteur-ID';
Effacer les revisions
Chaque changement ou modification sous WordPress provoque un enregistrement dans la base de données, voici un moyen très simple de les supprimer.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'
Effacer les Metas des articles
Lorsque vous supprimez un plugin certaines informations restent en base de données (post_meta_table). Réduisez la taille de votre base avec cette requête SQL:DELETE FROM wp_postmeta WHERE meta_key = 'votre-meta-key';
Exporter les emails des commentateurs
Récupérez les adresses mails des commentateurs de votre blog :SELECT DISTINCT comment_author_email FROM wp_comments;Attention : ces adresses vous ont été confiées pour publier un commentaire, pas pour recevoir vos e-mails. Ne les utilisez pas pour une newsletter ou de la prospection sans le consentement préalable des personnes (règles de la CNIL).
Effacer les Pingback
Trop de pingback? Voici comment les supprimer :DELETE FROM wp_comments WHERE comment_type = 'pingback';
Effacer tous les commentaires Spam
Vous avez de nombreux commentaires classés spam ? Effacez-les en une fois :DELETE FROM wp_comments WHERE comment_approved = 'spam';
- 0 = En attente de modération
- 1 = Approuvé
- Spam = Marqué comme spam
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_ID FROM wp_comments);
Identifier les Tags inutilises
Voici comment identifier les tags non utilisés sur votre 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;
Desactiver les commentaires pour les vieux articles
Si vous ne voulez plus modérer les commentaires de vos vieux articles, vous pouvez désactiver les commentaires de ces derniers en fonction d’une date, utilisez la requête suivante :UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2012-01-01'
Retirer les caracteres illisibles
Vous avez des problèmes d’encodage de caractères ? Au lieu de nettoyer vos articles et commentaires un-à-un, voici une série de requêtes à lancer pour les remplacer.UPDATE wp_posts SET post_content = REPLACE(post_content, '“', '“'); UPDATE wp_posts SET post_content = REPLACE(post_content, 'â€', '”'); UPDATE wp_posts SET post_content = REPLACE(post_content, '’', '’'); UPDATE wp_posts SET post_content = REPLACE(post_content, '‘', '‘'); UPDATE wp_posts SET post_content = REPLACE(post_content, '—', ' - '); UPDATE wp_posts SET post_content = REPLACE(post_content, '–', ' - '); UPDATE wp_posts SET post_content = REPLACE(post_content, '•', '-'); UPDATE wp_posts SET post_content = REPLACE(post_content, '…', '…'); UPDATE wp_comments SET comment_content = REPLACE(comment_content, '“', '“'); UPDATE wp_comments SET comment_content = REPLACE(comment_content, 'â€', '”'); UPDATE wp_comments SET comment_content = REPLACE(comment_content, '’', '’'); UPDATE wp_comments SET comment_content = REPLACE(comment_content, '‘', '‘'); UPDATE wp_comments SET comment_content = REPLACE(comment_content, '—', ' - '); UPDATE wp_comments SET comment_content = REPLACE(comment_content, '–', ' - '); UPDATE wp_comments SET comment_content = REPLACE(comment_content, '•', '-'); UPDATE wp_comments SET comment_content = REPLACE(comment_content, '…', '…');
Desactiver tous vos plugins WordPress
Une requête permettant de désactiver l’ensemble de vos plugins. Notez d’abord la liste des plugins actifs (dans phpMyAdmin, affichez le texte complet du résultat, tronqué par défaut, et gardez-le pour pouvoir les réactiver ensuite) :SELECT option_value FROM wp_options WHERE option_name = 'active_plugins';Puis désactivez-les tous :
UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';
Chercher et remplacer du contenu dans vos articles
Pour remplacer facilement un contenu par un autre, utilisez cette requête SQL :UPDATE wp_posts SET post_content = REPLACE(post_content, 'Ancien_Texte', 'Nouveau_Texte');Ne mettez jamais le nom de la colonne entre apostrophes :
'post_content' serait lu comme un simple texte, et la requête échouerait ou remplacerait le contenu de vos articles par ce mot. Vérifiez d’abord quels articles sont concernés avec SELECT ID FROM wp_posts WHERE post_content LIKE '%Ancien_Texte%';
Supprimer et/ou remplacer un Shortcode dans vos articles
Les shortcodes WordPress c’est toujours pratique mais quand on change son thème WordPress, il arrive parfois qu’ils ne soient plus compatibles. Même requête SQL que celle ci-dessus, cette dernière permet de supprimer ou remplacer vos Shortcodes caduques.UPDATE wp_posts SET post_content = REPLACE(post_content, '[AncienShortcode]', '');Laissez
'' pour supprimer le shortcode, ou indiquez le nouveau à la place (par exemple '[NouveauShortcode]').
Chaque mois, je passe 15 heures en veille WordPress. Vous, vous recevez un email de 3 minutes.
Sécurité, performance, SEO, nouveautés, IA : l'essentiel trié, vérifié et expliqué par un formateur WordPress depuis 2012 et fondateur de WPServeur.
Double opt-in : un email de confirmation à valider. Max 2 emails/mois. WPFormation utilise les données saisies, via Brevo, pour votre inscription et les emails annoncés, avec votre consentement. Données jamais revendues. Désabonnement en 1 clic. Vos droits et la conservation de vos données

