14 min. lire

WP-CLI : Le guide complet pour gérer WordPress à partir de la ligne de commande

WP-CLI est l’outil officiel de ligne de commande pour gérer les installations WordPress directement depuis votre terminal, sans jamais ouvrir de navigateur. Si vous avez déjà passé un après-midi à cliquer sur le tableau de bord d’administration de WordPress pour mettre à jour des plugins sur plusieurs sites, vous savez déjà pourquoi cet outil existe.

Dans ce guide, vous apprendrez tout, de l’installation de WP-CLI sur Linux, macOS et Windows à l’automatisation de tâches de maintenance complexes avec des scripts et des fichiers de configuration. Que vous gériez un seul blog ou des dizaines de sites clients, la maîtrise de WP-CLI changera fondamentalement votre façon de travailler avec WordPress.

Ce que vous apprendrez :

  • Comment installer et configurer WP-CLI sur différents systèmes d’exploitation ?
  • Commandes essentielles pour la gestion des plugins, des thèmes, des utilisateurs et du contenu
  • Opérations sur les bases de données, y compris les exportations, les importations et la recherche-remplacement en toute sécurité
  • Techniques d’automatisation à l’aide de scripts, d’alias et de tâches cron
  • Meilleures pratiques pour éviter les pièges les plus courants lorsque vous travaillez depuis le terminal

Qu’est-ce que WP-CLI ? (Explication rapide d’abord)

WP-CLI est l’acronyme de WordPress Command Line Interface, un outil open-source qui vous permet de gérer vos sites WordPress entièrement à partir d’un terminal. Au lieu de vous connecter à wp-admin et de naviguer dans les menus, vous exécutez des commandes comme wp plugin update --all et vous voyez votre pile de plugins se mettre à jour en quelques secondes.

Le projet a débuté vers 2011, créé par des développeurs qui voulaient un moyen plus rapide de gérer WordPress à l’échelle. En 2017, il est passé sous l’égide officielle de WordPress.org et est maintenant maintenu par une équipe de contributeurs dévoués, dont Alain Schlesser et Daniel Bachhuber.

Voici ce que vous devez savoir sur WP-CLI :

  • Version stable actuelle : WP-CLI 2.x series
  • Compatibilité avec WordPress : Fonctionne avec WordPress 5.x à 6.x (et historiquement jusqu’à 3.7)
  • Exigences PHP : PHP 7.4+ ou 8.x recommandé pour la sécurité et les performances.
  • Écosystème de commandes : Plus de 40 commandes parentales couvrant pratiquement toutes les opérations de WordPress
  • Utilisateurs principaux : Développeurs, agences, ingénieurs DevOps et utilisateurs chevronnés gérant des sites complexes ou multiples.
  • Distribution : Disponible sous forme de fichier PHAR, par le biais de gestionnaires de paquets, ou préinstallé sur de nombreux hébergeurs WordPress gérés.

Principaux avantages de l’utilisation de WP-CLI

Une fois que vous avez compris pourquoi WP-CLI existe, la courbe d’apprentissage devient beaucoup plus facile à justifier. Cette section explique les avantages concrets qui font que cet outil vaut la peine d’être utilisé.

Gain de temps sur les tâches répétitives
Mettre à jour 20 plugins via le tableau de bord de WordPress signifie 20 chargements de page, 20 clics et l’observation de 20 barres de progression. Avec WP-CLI, vous lancez wp plugin update --all une fois et vous passez à autre chose. Pour les agences qui gèrent plusieurs sites clients, cette différence se traduit par des heures gagnées chaque semaine.

Opérations groupées et automatisées
Imaginez un scénario dans lequel vous préparez 15 boutiques WooCommerce pour le Black Friday. Vous devez mettre à jour les plugins, vider les caches et vérifier l’intégrité de la base de données sur chaque site. WP-CLI vous permet de scripter toute cette séquence et de l’exécuter sur tous les sites en quelques minutes plutôt qu’en quelques heures. Les principales capacités d’automatisation comprennent :

  • Mise à jour de tous les plugins sur plusieurs installations à l’aide d’un seul script
  • Créer des utilisateurs en masse avec des rôles prédéfinis
  • Exécution de la maintenance nocturne via cron (optimisation de la base de données, nettoyage transitoire)
  • Déployer des configurations WordPress identiques dans de nouveaux environnements

Fiabilité des opérations basées sur le navigateur
Les opérations basées sur le navigateur se heurtent à des dépassements de délai HTTP. Les importations de bases de données volumineuses échouent en cours de processus. Les opérations de recherche-remplacement corrompent les données sérialisées lorsqu’elles sont effectuées avec du SQL brut. WP-CLI évite tous ces problèmes parce qu’il fonctionne directement sur le serveur sans contrainte de temps, et sa commande de recherche-remplacement gère correctement les structures de données sérialisées.

Contrôle direct des principaux systèmes de WordPress
À partir d’un seul terminal, vous pouvez :

  • Exporter et importer la base de données de WordPress
  • Modifier les paramètres de wp-config.php
  • Inspecter et déclencher des événements wp-cron
  • Activation et désactivation du mode maintenance
  • Exécuter un code PHP arbitraire dans le contexte de WordPress

Réduction de la charge sur wp-admin
Sur les serveurs de production occupés, chaque chargement de page du tableau de bord d’administration consomme des ressources. L’exécution des opérations de maintenance via WP-CLI permet de maintenir cette charge sur le serveur web, ce qui est important pendant les périodes de fort trafic.

Exigences et environnements supportés par WP-CLI

Avant d’installer WP-CLI, vous devez vous assurer que votre serveur ou votre environnement local répond aux exigences de base. La bonne nouvelle, c’est que la plupart des installations modernes de WordPress remplissent déjà ces conditions.

Exigences en matière de version de PHP :

  • Minimum : PHP 5.6 (bien que cette version soit dépassée)
  • Recommandé : PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 ou 8.5 pour la sécurité et la performance en 2026

Compatibilité avec les versions de WordPress :

  • Support historique : WordPress 3.7 et plus récent
  • Cible moderne : WordPress 5.0 à 6.7+ pour les projets actuels

Attentes en matière de système d’exploitation :

  • Meilleur support : Systèmes de type UNIX (Ubuntu 22.04 LTS, Debian 12, CentOS Stream, macOS)
  • Windows : Prise en charge via WSL (Windows Subsystem for Linux) ou installation native de PHP

Exigences supplémentaires :

  • PHP disponible en ligne de commande (le binaire php doit être dans votre PATH)
  • cURL ou wget pour télécharger le fichier wp-cli.phar
  • Accès SSH pour les serveurs distants (la plupart des plans d’hébergement WordPress infogérés l’incluent par défaut)

De nombreux hébergeurs populaires comme Kinsta, SiteGround, et DreamHost sont maintenant livrés avec WP-CLI pré-installé. WordPress.com inclut également WP-CLI pour les sites dont l’accès SSH est activé.

Comment installer WP-CLI sur Linux et macOS

La méthode d’installation standard utilise le fichier officiel PHAR (PHP Archive). Ce processus fonctionne sur les terminaux Ubuntu, Debian, CentOS, Fedora et macOS.

Etape 1 : Télécharger le fichier PHAR
Ouvrez votre terminal et téléchargez wp-cli.phar en utilisant curl :

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Vous pouvez également utiliser wget :

wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Etape 2 : Vérifier le téléchargement (optionnel mais recommandé)
Vérifiez la somme de contrôle SHA-256 par rapport à la valeur officielle publiée dans la documentation WP-CLI pour vous assurer que le fichier n’a pas été altéré pendant le téléchargement :

sha256sum wp-cli.phar

Comparez le résultat à la somme de contrôle indiquée sur le site officiel de WP-CLI.

Étape 3 : Testez le fichier PHAR
Confirmez que le fichier php fonctionne :

php wp-cli.phar --info

Vous devriez voir apparaître la version de WP-CLI, la version de PHP et des informations sur le système.

Étape 4 : Rendez-le exécutable et déplacez-le dans le PATH
Marquez le fichier comme exécutable et déplacez-le dans un répertoire du PATH de votre système :

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

La commande sudo est généralement requise car /usr/local/bin est un répertoire système. Evitez d’installer WP-CLI en tant que root si vous l’exécutez principalement en tant qu’utilisateur normal.

Étape 5 : Vérifier l’installation globale
Confirmer que WP-CLI est maintenant disponible globalement :

wp --info
wp cli version

Vous devriez voir une sortie confirmant la version de wp cli, l’emplacement du binaire PHP, et les détails du système d’exploitation. A ce stade, WP-CLI est installé et prêt à être utilisé.

Comment installer WP-CLI sur Windows

Les utilisateurs de Windows ont deux possibilités : utiliser le sous-système Windows pour Linux (WSL) ou mettre en place une installation Windows native. WSL offre une expérience plus proche de Linux et est généralement recommandé.

Option 1 : Utiliser WSL (recommandé)
Tout d’abord, activez WSL sur Windows 10 ou 11 :

wsl --install

Installez Ubuntu à partir du Microsoft Store, puis lancez le terminal Ubuntu. De là, suivez exactement les mêmes étapes d’installation de Linux que celles décrites dans la section précédente : téléchargez le fichier phar, rendez-le exécutable et déplacez-le sur /usr/local/bin/wp.

Option 2 : Installation native sous Windows
Pour une installation native, vous devez installer PHP pour Windows avec l’exécutable php disponible dans le PATH de votre système.

  1. Téléchargez et installez PHP depuis le site officiel de PHP pour Windows
  2. Ajoutez le répertoire PHP à votre variable d’environnement PATH de Windows
  3. Confirmez que PHP fonctionne en ouvrant l’Invite de commande et en exécutant php -v

Ensuite, téléchargez le fichier PHAR de WP-CLI :

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Windows inclut curl par défaut depuis 2018, donc cela devrait fonctionner sans installation supplémentaire. Créez un dossier pour WP-CLI (par exemple, C:\wp-cli) et déplacez-y le fichier téléchargé.

Créez ensuite un fichier batch wrapper nommé wp.bat dans le même dossier :

@echo off
php "C:\wp-cli\wp-cli.phar" %*

Ajoutez C:\wp-cli à la variable d’environnement PATH de votre système. Ouvrez maintenant une nouvelle invite de commande ou une fenêtre PowerShell et vérifiez :

wp --info

Vous devriez voir la version de WP-CLI et les détails de l’environnement confirmant que WP-CLI est correctement installé.

Utilisation de base de WP-CLI et obtention d’aide

Avec WP-CLI installé, vous devez comprendre le modèle de commande de base avant de plonger dans des opérations spécifiques. Toutes les commandes de WP-CLI suivent cette structure :

wp <command> <subcommand> [options]

Les commandes sont exécutées à partir du répertoire d’installation de WordPress – le dossier contenant wp-config.php. Si vous êtes ailleurs, vous pouvez spécifier le chemin d’accès avec --path=/var/www/html/mysite.

Vérification de votre environnement
Commencez par confirmer votre configuration :

wp --info

Ceci affiche la version de WP-CLI, la version de PHP, le chemin binaire de PHP, le système d’exploitation, et d’autres détails de l’environnement. Pour ne voir que la version de WP-CLI :

wp cli version

Exploration des commandes disponibles
Pour lister toutes les commandes wp cli disponibles :

wp help

Pour obtenir de l’aide sur une commande spécifique :

wp help plugin
wp help core update

Vous pouvez également ajouter --help à n’importe quelle commande :

wp user --help

La sortie de l’aide s’affiche dans un pager similaire aux pages man d’Unix. Appuyez sur q pour quitter.

Premiers ordres à essayer :

  • wp core version – affiche votre version de WordPress
  • wp plugin list – affiche tous les plugins WordPress installés avec leur statut
  • wp theme list – affiche les thèmes installés
  • wp user list – liste tous les utilisateurs du site

Ces commandes en lecture seule vous permettent d’explorer votre site WordPress sans rien modifier, ce qui est parfait pour se familiariser avec l’interface.

Installation et configuration de WordPress avec WP-CLI

WP-CLI peut effectuer une nouvelle installation complète de WordPress plus rapidement que l’installateur web traditionnel. C’est particulièrement utile pour créer des environnements de développement ou déployer de nouveaux sites par programme.

Conditions préalables
Avant d’exécuter les commandes d’installation, vous devez disposer d’une base de données MySQL ou MariaDB. Pour cet exemple, nous supposons que vous avez créé une base de données MySQL ou MariaDB :

  • Nom de la base de données : wpsite_db
  • Utilisateur de la base de données : wpsite_user
  • Mot de passe : securepassword123
  • Hôte : localhost

Étape 1 : Télécharger les fichiers de base de WordPress
Naviguez vers le répertoire d’installation de votre choix et téléchargez les fichiers de base de WordPress :

wp core download

Cela permet de récupérer la dernière version de WordPress. Pour spécifier une version ou une locale :

wp core download --version=6.4.2 --locale=fr_FR

Une fois le téléchargement terminé, vous verrez une confirmation que WordPress a été téléchargé avec succès.

Etape 2 : Générer wp-config.php
Créez le fichier de configuration en utilisant wp config create :

wp config create --dbname=wpsite_db --dbuser=wpsite_user --dbpass=securepassword123 --dbhost=localhost

Il génère un site wp-config.php complet avec les identifiants de votre base de données et les sels de sécurité générés automatiquement.

Étape 3 : Exécutez l’installation
Installez maintenant WordPress avec les détails de votre site :

wp core install --url=https://example.com --title="My New Site" --admin_user=admin --admin_password=strongpassword [email protected]

Vous verrez apparaître le message « WordPress installed successfully » et votre site sera prêt à être utilisé.

Installation multisite
Pour les réseaux WordPress multisites, utilisez la variante multisite. WP-CLI peut configurer les installations multisites avec :

wp core multisite-install --url=https://example.com --title="My Network" --admin_user=admin --admin_password=strongpassword [email protected]

Gérer les thèmes avec WP-CLI

WP-CLI gère toutes les opérations relatives aux thèmes sans nécessiter d’accès au tableau de bord d’administration de WordPress. Vous pouvez lister, installer, activer, mettre à jour et supprimer des thèmes directement depuis votre terminal.

Liste des thèmes installés
Pour voir tous les thèmes actuellement installés :

wp theme list

Exemple de sortie :

nomstatutmettre à jourversion
vingt-deux vingt-quatreactifnone1.0
vingt-troisinactifnone1.2
astrainactifdisponible4.5.0

Activation d’un thème
Passez à un autre thème :

wp theme activate astra

Cette opération modifie immédiatement le thème actif. Le retour à un thème par défaut est utile pour résoudre les problèmes liés au thème :

wp theme activate twentytwentyfour

Installation de nouveaux thèmes
Installez un thème à partir du dépôt WordPress.org :

wp theme install astra

Installez et activez en une seule commande :

wp theme install astra --activate

Mise à jour des thèmes
Mise à jour d’un thème spécifique :

wp theme update astra

Ou mettez à jour tous les thèmes en même temps :

wp theme update --all

Suppression de thèmes
Supprimez un thème dont vous n’avez plus besoin :

wp theme delete twentytwentythree

Gérer les plugins avec WP-CLI

C’est dans la gestion des plugins que WP-CLI permet de gagner le plus de temps. Vous pouvez effectuer des opérations en masse qui prendraient des dizaines de clics dans le tableau de bord.

Lister les plugins

wp plugin list

Exemple de sortie :

nomstatutmettre à jourversion
woocommerceactifnone8.5.1
yoast-seoactifdisponible21.0
élémentaireinactifnone3.18.0

Installation des plugins
Installez un plugin par son nom :

wp plugin install woocommerce

Installez et activez :

wp plugin install yoast-seo --activate

Activation et désactivation de
Activez un plugin :

wp plugin activate elementor

Désactiver un plugin (utile pour le débogage) :

wp plugin deactivate elementor

Désactivez tous les plugins à la fois (ce qui vous permet de déboguer l’écran blanc de la mort) :

wp plugin deactivate --all

Mise à jour des plugins
Mettez à jour un plugin spécifique :

wp plugin update yoast-seo

Mettez à jour tous les plugins :

wp plugin update --all

Vous pouvez également exclure des plugins spécifiques d’une mise à jour groupée :

wp plugin update --all --exclude=woocommerce

Mise à jour et réparation du noyau de WordPress

Maintenir WordPress à jour est essentiel pour la sécurité. WP-CLI rend ce processus transparent et contrôlable.

Vérification des mises à jour

wp core check-update

Mise à jour de WordPress
Mise à jour vers la dernière version :

wp core update

Après une mise à jour du noyau, il est conseillé de mettre à jour le schéma de la base de données :

wp core update-db

Vérification des sommes de contrôle
Si vous pensez que votre site a été piraté, vous pouvez vérifier que les fichiers principaux n’ont pas été modifiés :

wp core verify-checksums

Il compare vos fichiers avec les sommes de contrôle du dépôt officiel de WordPress.

Réinstallation du noyau
Si les fichiers sont corrompus, vous pouvez forcer une réinstallation sans affecter votre contenu :

wp core download --force --skip-content

Gestion du contenu, des utilisateurs et de la base de données

WP-CLI vous permet d’interagir directement avec les données de votre site.

Gestion des utilisateurs
Liste des utilisateurs :

wp user list

Créez un nouvel administrateur :

wp user create newadmin [email protected] --role=administrator --user_pass=securepass123

Mettre à jour le mot de passe d’un utilisateur :

wp user update 1 --user_pass=newpassword

Supprimer un utilisateur et réaffecter son contenu :

wp user delete 5 --reassign=1

Opérations sur les bases de données
Exporter la base de données vers un fichier :

wp db export backup.sql

Importer une base de données à partir d’un fichier :

wp db import backup.sql

Optimisez la base de données :

wp db optimize

Ouvrez une console MySQL directement connectée à votre base de données WordPress :

wp db cli

Rechercher et remplacer (la bonne méthode)

Déplacer manuellement un site WordPress vers un nouveau domaine est risqué car les données sont souvent sérialisées dans la base de données. Une simple recherche et un remplacement SQL casseront les widgets et les options du thème. WP-CLI gère correctement la sérialisation.

Recherche-remplacement standard

wp search-replace 'http://old-domain.com' 'https://new-domain.com'

Essai à blanc (aperçu)
Vérifiez toujours ce qui va changer avant d’exécuter la commande :

wp search-replace 'http://old-domain.com' 'https://new-domain.com' --dry-run

Exportation avec remplacement
Vous pouvez exporter une base de données avec les remplacements effectués dans le fichier, sans toucher à la base de données active :

wp search-replace 'old.com' 'new.com' --export=migrated-db.sql

Maintenance avancée : Cron et cache d’objets

Gestion des tâches Cron
Affichez les événements programmés :

wp cron event list

Exécutez immédiatement tous les événements cron prévus :

wp cron event run --due-now

Gestion des transitoires et du cache
Effacez le cache des objets :

wp cache flush

Supprimez tous les transitoires expirés :

wp transient delete --expired

Automatiser des tâches avec des scripts

Vous pouvez combiner les commandes WP-CLI dans des scripts Bash pour une maintenance automatisée.

Exemple : Script de maintenance hebdomadaire
Créez un fichier nommé maintain.sh:

#!/bin/bash
# Update everything
wp core update
wp core update-db
wp plugin update --all
wp theme update --all

# Cleanup
wp transient delete --expired
wp cache flush
wp db optimize

echo "Maintenance complete."

Rendez-le exécutable (chmod +x maintain.sh) et exécutez-le pour effectuer une maintenance complète du site en quelques secondes.

Utiliser WP-CLI à distance via SSH

Vous n’avez pas besoin de vous connecter au serveur pour exécuter des commandes si vous configurez des alias.

Dans votre fichier local wp-cli.yml:

@prod:
  ssh: [email protected]/var/www/html
@dev:
  ssh: [email protected]/var/www/html

Vous pouvez maintenant exécuter des commandes sur le serveur distant à partir de votre machine locale :

wp @prod plugin list
wp @dev core version

Meilleures pratiques

  • Sauvegardez toujours : Avant d’exécuter des mises à jour en masse ou des commandes de recherche-remplacement, exécutez wp db export.
  • Utilisez Dry Run : Pour la recherche-remplacement, utilisez toujours d’abord --dry-run.
  • Ne vous exécutez pas en tant que root : WP-CLI vous avertit si vous vous exécutez en tant que root. Il est plus sûr de le faire en tant qu’utilisateur du serveur web (par exemple, www-data) ou de votre compte utilisateur spécifique.
  • Testez sur le site d’essai : Utilisez WP-CLI pour cloner votre site de production sur le site d’essai, tester vos scripts de mise à jour sur ce site, puis les appliquer à la production.

Conclusion

WP-CLI transforme la gestion de WordPress d’une série de clics en opérations rationalisées et scriptables. En commençant par des commandes simples comme la vérification des versions et la liste des plugins, vous posez les bases d’une automatisation avancée. Intégrer WP-CLI dans votre flux de travail aujourd’hui vous permettra d’économiser d’innombrables heures sur vos projets WordPress.