Après avoir supprimé et désinstallé les plugins WPML et ses modules complémentaires, vous devez également nettoyer la base de données.
Cette installation particulière que j’ai nettoyée lors d’un projet Codeable n’avait pas WooCommerce ni le module complémentaire WPML WooCommerce installés, donc malheureusement ce guide ne couvre pas le nettoyage spécifique à cela.
Cependant, si vous abandonnez WPML pour des raisons de performance et souhaitez de l’aide pour nettoyer votre base de données, n’hésitez pas à me contacter ici. Vous pouvez également utiliser phpMyAdmin ou Adminer pour nettoyer WPML si vous préférez.
Sauvegardez d’abord votre base de données et testez minutieusement sur un site de staging avant de continuer !
Supprimer les tables et options de base de données WPML
Dans ces sections, nous allons supprimer les lignes pertinentes de WPML de la table wp_options
, puis les tables de base de données dédiées à WPML elles-mêmes.
Si vous le souhaitez, vous pouvez recueillir le nombre de données autochargées à l’aide de la commande wp doctor
(voir le tutoriel) afin que nous puissions voir à quel point les données autochargées dans wp_options
diminuent après avoir nettoyé les plugins WPML.
wp doctor check autoload-options-size --allow-root --skip-plugins --skip-themes
Résultats :
+-----------------------+---------+------------------------------------------------------------+
| name | status | message |
+-----------------------+---------+------------------------------------------------------------+
| autoload-options-size | warning | Autoloaded options size (1.03mb) exceeds threshold (900kb) |
+-----------------------+---------+------------------------------------------------------------+
Nous dépassons déjà le seuil recommandé de 900 KB de données autochargées dans wp_options
(voir ici comment nettoyer les données autochargées).
Nettoyage de wp_options de WPML
WPML utilise à la fois les chaînes de texte icl
et wpml
pour stocker ses paramètres dans la table wp_options
.
Nous allons commencer par supprimer les lignes contenant icl
.
wp db query "SELECT COUNT(*) FROM $(wp db prefix)options WHERE option_name LIKE '%icl%'"
Code language: JavaScript (javascript)
10 lignes au total contenant icl
peuvent maintenant être supprimées maintenant que WPML est désinstallé de votre site.
+----------+
| COUNT(*) |
+----------+
| 10 |
+----------+
Supprimez-les avec cette commande :
wp db query "DELETE FROM $(wp db prefix)options WHERE option_name LIKE '%icl%'"
Code language: JavaScript (javascript)
Maintenant, supprimons les lignes contenant wpml
.
Comptons-les à nouveau :
wp db query "SELECT COUNT(*) FROM $(wp db prefix)options WHERE option_name LIKE '%wpml%'"
Code language: JavaScript (javascript)
40 lignes au total contenant wpml
peuvent maintenant être supprimées maintenant que WPML est désinstallé de votre site.
+----------+
| COUNT(*) |
+----------+
| 40 |
+----------+
Supprimez-les avec cette commande :
wp db query "DELETE FROM $(wp db prefix)options WHERE option_name LIKE '%wpml%'"
Code language: JavaScript (javascript)
Nous avons maintenant terminé le nettoyage de la table des options des lignes de base de données WPML restantes.
Vérifions à nouveau le nombre de données autochargées.
wp doctor check autoload-options-size --allow-root --skip-plugins --skip-themes
Résultat :
+-----------------------+---------+--------------------------------------------------------------------+
| name | status | message |
+-----------------------+---------+--------------------------------------------------------------------+
| autoload-options-size | success | Autoloaded options size (785.78kb) is less than threshold (900kb). |
+-----------------------+---------+--------------------------------------------------------------------+
C’est plus de 100 KB économisés en données autochargées après avoir nettoyé la base de données des données WPML :).
Suppression des tables de base de données WPML
Obtenons une liste des tables de base de données WPML qui contiennent toutes la chaîne icl.
wp db tables --all-tables --allow-root | grep icl
Ce site particulier a un préfixe de base de données WordPress personnalisé non par défaut de infom
infom_icl_content_status
infom_icl_core_status
infom_icl_flags
infom_icl_languages
infom_icl_languages_translations
infom_icl_locale_map
infom_icl_message_status
infom_icl_mo_files_domains
infom_icl_node
infom_icl_reminders
infom_icl_string_packages
infom_icl_string_pages
infom_icl_string_positions
infom_icl_string_status
infom_icl_string_translations
infom_icl_string_urls
infom_icl_strings
infom_icl_translate
infom_icl_translate_job
infom_icl_translation_batches
infom_icl_translation_status
infom_icl_translations
Script utilisant WP-CLI pour supprimer les tables de base de données dédiées à WPML.
WPMLTABLES=($(wp db tables --all-tables --allow-root | grep icl))
# boucle à travers les options et crée l'équivalent de la requête
for WPMLTABLE in ${WPMLTABLES[@]}
do
echo "Dropping ${WPMLTABLE}"
wp db query "DROP TABLE ${WPMLTABLE}" --allow-root
done
Code language: PHP (php)
Sortie :
Dropping infom_icl_content_status
Dropping infom_icl_core_status
Dropping infom_icl_flags
Dropping infom_icl_languages
Dropping infom_icl_languages_translations
Dropping infom_icl_locale_map
Dropping infom_icl_message_status
Dropping infom_icl_mo_files_domains
Dropping infom_icl_node
Dropping infom_icl_reminders
Dropping infom_icl_string_packages
Dropping infom_icl_string_pages
Dropping infom_icl_string_positions
Dropping infom_icl_string_status
Dropping infom_icl_string_translations
Dropping infom_icl_string_urls
Dropping infom_icl_strings
Dropping infom_icl_translate
Dropping infom_icl_translate_job
Dropping infom_icl_translation_batches
Dropping infom_icl_translation_status
Dropping infom_icl_translations
Et voilà, c’est terminé !
Profitez de votre base de données plus propre, plus légère et plus rapide !
Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.