Une fenêtre de terminal stylisée avec "WP-CLI" à côté d'une icône de fichier ZIP - parfait pour sauvegarder vos extensions WordPress. La fenêtre du terminal a une barre de titre bleue, un fond noir, et l'icône ZIP grise et blanche comporte une étiquette "ZIP" rouge.

Comment sauvegarder, archiver et installer par lots des extensions WordPress avec WP‑CLI

Lors d’un diagnostic de performance ou d’une enquête sur une infection malware dans WordPress, il devient souvent nécessaire de désactiver l’ensemble des extensions à un moment donné du processus. Il est également judicieux de sauvegarder toutes les extensions WordPress individuellement sous forme d’archives .zip, afin de prévenir toute perte ou confusion durant les manipulations.

Réinstaller manuellement chaque extension à partir de ses fichiers zip serait une tâche particulièrement fastidieuse. C’est pourquoi, dans cet article, je vous montre comment automatiser entièrement cette procédure.

Nous commencerons par compresser chaque extension WordPress dans un fichier .zip distinct, que nous placerons dans un dossier temporaire. Pour compléter ce script, j’ai également inclus une boucle simple permettant de réinstaller en lot toutes ces sauvegardes via WP‑CLI.

1. Sauvegarde de la base de données

Connectez-vous dans le répertoire racine de votre site via SSH, puis exécutez :

wp db export sauvegarde.sqlCode language: JavaScript (javascript)

Cela génère un fichier SQL contenant l’intégralité de la base de données.

2. Archivage des fichiers du site

Au même emplacement, empaquetez l’intégralité du site :

zip -r archive_site.zip * .htaccessCode language: CSS (css)

Cette commande comprime tous les fichiers, incluant .htaccess, en omettant les autres fichiers cachés.

Important : n’oubliez pas de supprimer ensuite le fichier .sql et l’archive .zip afin d’éviter toute exposition non sécurisée.

Lire la suite

Image du logo montrant « WPML » avec chaque lettre dans des couleurs différentes : W en bleu, P en bleu sarcelle, M en orange et L en marron. Une bulle de dialogue stylisée gris foncé se trouve à gauche de « WPML ». Une icône de balai avec un manche en bois et des poils jaunes se trouve à droite, faisant allusion à la maintenance ou au nettoyage de WordPress.

Désinstaller proprement WPML et nettoyer la base de données avec WP-CLI

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).

Lire la suite

Une fenêtre de terminal stylisée affiche la commande « ./WP-CLI » en grand texte blanc, indiquant un audit de profil WordPress pour les problèmes de performances. À droite, un bonhomme allumette rouge s'exécute. La fenêtre comporte une barre de titre bleue et une icône de fermeture.

Auditer les problèmes de performance WordPress avec wp profile

La commande wp profile est un peu comme une alternative à New Relic, capable d’identifier précisément quels composants ralentissent votre site WordPress. Initialement disponible en tant que package premium via runcommand, il est désormais gratuit sur GitHub.

Si vous cherchez un hébergeur compatible avec l’installation de wp profile, jetez un œil à Kinsta et FastNyx.

J’utilise régulièrement wp profile pour diagnostiquer les problèmes de performance chez mes clients sur Codeable. Tous les développeurs WordPress devraient s’en servir ! Après avoir suivi ce guide, vous serez plus proche de la résolution de la lenteur de votre site WordPress.

Installation du package wp-profile

Lancez cette commande pour installer wp profile :

wp package install wp-cli/profile-command

Vous devriez voir que le processus s’est déroulé avec succès et que la commande wp profile est maintenant disponible:

Updating /root/.wp-cli/packages/composer.json to require the package...
Using Composer to install the package...
---
Loading composer repositories with package information
Updating dependencies
Resolving dependencies through SAT
Dependency resolution completed in 0.120 seconds
Analyzed 3696 packages to resolve dependencies
Analyzed 101022 rules to resolve dependencies
Package operations: 1 install, 0 updates, 0 removals
Installs: wp-cli/profile-command:dev-master ef44df5
- Installing wp-cli/profile-command (dev-master ef44df5)
Writing lock file
Generating autoload files
---
Success: Package installed.Code language: JavaScript (javascript)

Si vous voyez une erreur concernant composer.json reverté, l’augmentation de la mémoire devrait résoudre ce problème.

Lire la suite