Lorsque vous désinstallez des plugins WordPress, de nombreux éléments peuvent rester dans la base de données. Cela rend la base de données inutilement volumineuse et peut même ralentir les requêtes.
Il est toujours recommandé de nettoyer votre base de données WordPress après avoir supprimé des plugins. J’ai récemment migré un site d’Elementor vers GenerateBlocks pour améliorer les performances, donc naturellement j’ai dû nettoyer la base de données.
Ce tutoriel concerne le nettoyage post-désinstallation d’Elementor pour supprimer les lignes restantes des tables options, postmeta, usermeta et posts avec WP-CLI.
Dans ce tutoriel, nous allons couvrir les points suivants :
- Supprimer les plugins et fichiers Elementor
- Supprimer les types de publication Elementor
- Supprimer la taxonomie Elementor
- Supprimer les meta_keys Elementor des tables usermeta et postmeta
- Supprimer les options orphelines Elementor de wp_options
Supprimer les plugins et fichiers Elementor
Supprimez les plugins Elementor – cela n’inclut pas les add-ons ou plugins supplémentaires
wp plugin delete elementor --allow-root
wp plugin delete elementor-pro --allow-root
Code language: JavaScript (javascript)
Supprimez le dossier d’uploads Elementor
rm -rf wp-content/uploads/elementor
Supprimer les types de publication Elementor
Nous allons d’abord lister les types de publication et vérifier si Elementor est présent
wp post-type list --allow-root | grep elementor
Code language: PHP (php)
Si vous n’obtenez pas de résultat, recherchez dans la base de données :
wp db query "SELECT DISTINCT(post_type) FROM $(wp db prefix --allow-root)posts" --allow-root
Code language: JavaScript (javascript)
Voilà, le type de publication elementor_library
est présent !
Maintenant nous pouvons supprimer tous les posts elementor_library
Listons-les d’abord :
wp post list --post_type=elementor_library --post_status=draft,revision,publish --allow-root
Code language: PHP (php)
Pour les supprimer, nous devons utiliser --force
sinon vous obtiendrez une erreur.
Voici la commande pour supprimer tous les posts elementor_library
avec WP-CLI :
wp post delete $(wp post list --post_type=elementor_library --post_status=draft,revision,publish --allow-root --skip-plugins --format=ids) --force --allow-root
Code language: JavaScript (javascript)
Supprimer la taxonomie Elementor
En recherchant dans la base de données, j’ai remarqué qu’il y avait des références à Elementor dans les tables de taxonomie, assurons-nous donc de les supprimer aussi !
Comptons d’abord les lignes Elementor dans la table de taxonomie :
wp db query "SELECT COUNT(*) AS ElementorTaxonomy FROM $(wp db prefix --allow-root)term_taxonomy WHERE taxonomy LIKE '%elementor%'" --allow-root
Code language: JavaScript (javascript)
Maintenant nous pouvons les supprimer :
wp db query "DELETE FROM $(wp db prefix --allow-root)term_taxonomy WHERE taxonomy LIKE '%elementor%'" --allow-root
Code language: JavaScript (javascript)
Nettoyer les postmeta Elementor
Nous allons lister les lignes meta_key
de la table postmeta
qui contiennent la chaîne elementor
.
wp db query "SELECT DISTINCT(meta_key) FROM $(wp db prefix --allow-root)postmeta" --allow-root | grep elementor
Code language: JavaScript (javascript)
Comptons combien il y a de postmeta Elementor :
wp db query "SELECT COUNT(*) AS ElementorPostMeta FROM $(wp db prefix --allow-root)postmeta WHERE meta_key LIKE '%elementor%'" --allow-root
Code language: JavaScript (javascript)
Résultat :
+-------------------+
| ElementorPostMeta |
+-------------------+
| 423 |
+-------------------+
Maintenant nous pouvons supprimer ces postmeta :
wp db query "DELETE FROM $(wp db prefix --allow-root)postmeta WHERE meta_key LIKE '%elementor%'" --allow-root
Code language: JavaScript (javascript)
Nettoyer les usermeta Elementor
Vérifions s’il y a des usermeta Elementor :
wp db query "SELECT DISTINCT(meta_key) FROM $(wp db prefix --allow-root)usermeta" --allow-root | grep elementor
Code language: JavaScript (javascript)
Résultat :
elementor_connect_common_data
elementor_admin_notices
elementor_introduction
Comptons combien il y en a :
wp db query "SELECT COUNT(*) AS ElementorUserMeta FROM $(wp db prefix --allow-root)usermeta WHERE meta_key LIKE '%elementor%'" --allow-root
Code language: JavaScript (javascript)
Résultat :
+-------------------+
| ElementorUserMeta |
+-------------------+
| 3 |
+-------------------+
Supprimons-les :
wp db query "DELETE FROM $(wp db prefix --allow-root)usermeta WHERE meta_key LIKE '%elementor%'" --allow-root
Code language: JavaScript (javascript)
Nettoyer les options Elementor
Listons les options Elementor :
wp db query "SELECT option_name FROM $(wp db prefix --allow-root)options WHERE option_name LIKE '%elementor%'" --allow-root
Code language: JavaScript (javascript)
Comptons-les :
wp db query "SELECT COUNT(*) AS ElementorOptions FROM $(wp db prefix --allow-root)options WHERE option_name LIKE '%elementor%'" --allow-root
Code language: JavaScript (javascript)
Supprimons-les :
wp db query "DELETE FROM $(wp db prefix --allow-root)options WHERE option_name LIKE '%elementor%'" --allow-root
Code language: JavaScript (javascript)
Et voilà ! Votre base de données WordPress devrait maintenant être nettoyée des restes d’Elementor. N’oubliez pas de faire une sauvegarde avant d’effectuer ces opérations sur un site de production.
Envie d'ajouter des fonctionnalités exceptionnelles à votre site WordPress ou WooCommerce? Je suis là pour vous aider.