WP-CLI : tout savoir sur la ligne de commande WordPress

Dans cet article

  • WP-CLI permet de gérer WordPress jusqu’à 10 fois plus vite qu’avec l’interface d’administration classique
  • L’installation de WP-CLI ne prend que 2 minutes sur un serveur Linux ou macOS
  • Plus de 40 commandes natives couvrent la totalité des tâches d’administration WordPress
  • La combinaison WP-CLI + SSH permet de piloter des dizaines de sites distants depuis un seul terminal
  • L’automatisation par scripts Bash réduit le temps de maintenance de 60 à 80 % sur un parc multi-sites
  • WP-CLI s’intègre nativement avec Docker, Git et les pipelines CI/CD pour un workflow professionnel

Quand je gère 15 sites WordPress en parallèle pour mes clients, je ne passe pas mon temps à cliquer dans le tableau de bord. Depuis 2016, j’utilise le CLI WordPress au quotidien pour installer, mettre à jour et dépanner mes projets. Cet outil a littéralement transformé ma productivité de développeur freelance. Dans ce guide complet, je vous montre comment maîtriser WP-CLI de A à Z, que vous soyez développeur, administrateur système ou simplement curieux d’optimiser votre workflow WordPress.

Qu’est-ce que WP-CLI et pourquoi l’utiliser ?

L'interface en ligne de commande offre un contrôle total sur WordPress
L’interface en ligne de commande offre un contrôle total sur WordPress

C’est quoi un CLI ?

Avant de plonger dans WP-CLI, clarifions un terme fondamental. Un CLI (Command Line Interface, ou interface en ligne de commande) est un moyen d’interagir avec un logiciel en tapant des commandes textuelles dans un terminal, par opposition à une interface graphique (GUI) où l’on clique sur des boutons. Le terminal de votre ordinateur (Bash sous Linux/macOS, PowerShell sous Windows) est un CLI. Les développeurs utilisent des CLI au quotidien : Git, npm, Composer, Docker ; tous ces outils se pilotent en ligne de commande.

L’avantage principal d’un CLI est la rapidité d’exécution. Là où un clic dans une interface graphique déclenche le chargement d’une page entière, une commande CLI exécute directement l’opération demandée sans surcharge visuelle. C’est aussi le seul moyen d’automatiser des tâches répétitives via des scripts.

WP-CLI : le couteau suisse de WordPress

WP-CLI est l’interface officielle en ligne de commande pour WordPress. Créé en 2011 par Andreas Jorgensen puis repris par Daniel Bachhuber, le projet est aujourd’hui maintenu par la communauté WordPress et hébergé sur le dépôt GitHub officiel de WP-CLI. Il permet de réaliser toutes les opérations d’administration WordPress sans jamais ouvrir un navigateur : installer le CMS, gérer les plugins, mettre à jour le cœur, manipuler la base de données, créer des utilisateurs, régénérer les miniatures d’images, et bien plus.

Concrètement, au lieu de naviguer dans cinq écrans pour mettre à jour vos extensions, vous tapez wp plugin update --all et c’est fait en 3 secondes. J’utilise cette approche sur tous mes projets de développement web sur-mesure et le gain de temps est considérable.

Les avantages concrets du CLI WordPress

  • Vitesse : les opérations s’exécutent sans charger l’interface d’administration
  • Automatisation : possibilité de créer des scripts pour les tâches récurrentes
  • Précision : chaque commande fait exactement ce que vous demandez, sans effet de bord
  • Débogage : accès direct aux erreurs PHP et aux logs WordPress
  • Scalabilité : gérer 50 sites depuis un seul terminal devient réaliste

Comment installer WP-CLI sur votre serveur

L’installation de WP-CLI est simple et rapide. Il vous faut un environnement avec PHP 5.6 minimum (PHP 8.0+ recommandé), un accès SSH à votre serveur et les droits d’exécution. Voici la procédure standard que j’applique systématiquement.

Installation sur Linux et macOS

Ouvrez votre terminal et exécutez ces commandes :

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

La dernière commande rend wp accessible globalement. Vérifiez l’installation avec wp --version. Vous devriez obtenir quelque chose comme WP-CLI 2.10.0 ou une version supérieure.

Installation via Composer

Si vous travaillez sur un projet PHP géré avec Composer (ce que je recommande pour tout projet sérieux), vous pouvez installer WP-CLI comme dépendance :

composer require wp-cli/wp-cli-bundle

L’exécutable sera alors disponible via vendor/bin/wp. Cette méthode est idéale pour les environnements de développement isolés où chaque projet a sa propre version de WP-CLI.

Installation sur un hébergement mutualisé

La bonne nouvelle : la majorité des hébergeurs professionnels (o2switch, OVH, Infomaniak, PlanetHoster) fournissent WP-CLI préinstallé. Connectez-vous en SSH et tapez wp --version pour vérifier. Si la commande n’est pas reconnue, contactez le support technique de votre hébergeur ou installez-le dans votre répertoire personnel :

cd ~
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
alias wp='php ~/wp-cli.phar'

Ajoutez l’alias dans votre fichier .bashrc pour le rendre permanent.

Les commandes WP-CLI essentielles à connaître

Gérer plusieurs sites WordPress simultanément depuis un seul terminal
Gérer plusieurs sites WordPress simultanément depuis un seul terminal

WP-CLI propose plus de 40 commandes natives, chacune avec ses sous-commandes et ses options. Voici celles que j’utilise le plus souvent dans mon travail quotidien de développeur WordPress.

Installer WordPress en une commande

C’est probablement la fonctionnalité qui m’a fait adopter WP-CLI définitivement. Au lieu de télécharger l’archive, la décompresser, lancer l’installeur web ; tout se fait en trois commandes :

wp core download --locale=fr_FR
wp config create --dbname=ma_base --dbuser=mon_user --dbpass=mon_mdp
wp core install --url=monsite.fr --title="Mon Site" --admin_user=admin --admin_password=MotDePasseSecurise [email protected]

En moins de 30 secondes, votre WordPress est installé, configuré et prêt à l’emploi. C’est un gain de temps phénoménal quand on doit monter des environnements de test régulièrement.

Gérer le cœur de WordPress

wp core version              # Affiche la version actuelle
wp core check-update          # Vérifie les mises à jour disponibles
wp core update                # Met à jour vers la dernière version
wp core verify-checksums      # Vérifie l'intégrité des fichiers core

La commande wp core verify-checksums est particulièrement précieuse pour l’audit de votre site WordPress. Elle compare chaque fichier du cœur avec la version officielle et signale toute modification suspecte, un réflexe essentiel en matière de sécurité.

Gérer les utilisateurs

wp user list                                        # Liste tous les utilisateurs
wp user create jean [email protected] --role=editor       # Crée un utilisateur
wp user update 1 --user_pass=NouveauMdp              # Change le mot de passe
wp user delete 5 --reassign=1                        # Supprime un utilisateur

J’utilise très souvent wp user update pour réinitialiser le mot de passe d’un client qui s’est verrouillé hors de son administration. Pas besoin de passer par phpMyAdmin : une seule commande suffit.

Commande Fonction Exemple d’utilisation Fréquence d’usage
wp core download Télécharger WordPress wp core download --locale=fr_FR Ponctuelle
wp core update Mettre à jour le cœur wp core update Hebdomadaire
wp plugin update Mettre à jour les extensions wp plugin update --all Hebdomadaire
wp theme activate Activer un thème wp theme activate flavor Ponctuelle
wp db export Sauvegarder la base wp db export backup.sql Quotidienne
wp search-replace Rechercher/remplacer dans la BDD wp search-replace 'http://' 'https://' Migration
wp user create Créer un utilisateur wp user create nom email --role=admin Ponctuelle
wp cache flush Vider le cache objet wp cache flush Débogage
wp cron event run Lancer un cron manuellement wp cron event run --all Débogage
wp media regenerate Régénérer les miniatures wp media regenerate --yes Refonte

Gérer les plugins et thèmes en ligne de commande

La gestion des extensions et des thèmes est le cas d’usage le plus fréquent de WP-CLI. C’est aussi là que le gain de temps est le plus spectaculaire, surtout quand on administre plusieurs sites pour des clients.

Opérations sur les plugins

wp plugin list                              # Liste toutes les extensions
wp plugin install woocommerce --activate    # Installe et active WooCommerce
wp plugin deactivate akismet                # Désactive Akismet
wp plugin delete hello                      # Supprime Hello Dolly
wp plugin update --all                      # Met à jour toutes les extensions
wp plugin status                            # Affiche le statut de chaque plugin

Un conseil que je donne toujours : avant de lancer wp plugin update --all en production, faites systématiquement un export de la base de données. Un wp db export avant-maj.sql prend deux secondes et peut vous sauver des heures de débogage. C’est une habitude que j’ai prise après avoir vu trop de mises à jour casser des sites, un point que je détaille aussi dans mon guide sur l’optimisation SEO WordPress.

Opérations sur les thèmes

wp theme list                               # Liste tous les thèmes
wp theme install flavor --activate          # Installe et active un thème
wp theme update --all                       # Met à jour tous les thèmes
wp theme delete flavor                      # Supprime un thème

Pour identifier rapidement un conflit entre thème et plugin, j’utilise cette technique : je bascule temporairement vers un thème par défaut avec wp theme activate flavor, puis je teste. Si le problème disparaît, le thème est en cause. Cette méthode est bien plus rapide que de naviguer dans l’interface graphique, surtout quand le site est partiellement cassé.

Installer des plugins depuis un fichier ZIP ou une URL

WP-CLI ne se limite pas au répertoire officiel WordPress. Vous pouvez installer des extensions premium depuis un fichier local ou une URL directe :

wp plugin install ./mon-plugin-premium.zip --activate
wp plugin install https://exemple.com/plugin.zip --activate

Cette fonctionnalité est indispensable pour les plugins premium qui ne sont pas listés sur wordpress.org.

Administrer la base de données WordPress avec WP-CLI

WP-CLI et SSH permettent d'administrer des serveurs WordPress à distance
WP-CLI et SSH permettent d’administrer des serveurs WordPress à distance

La manipulation de la base de données est probablement le domaine où WP-CLI brille le plus. Des opérations qui nécessitaient phpMyAdmin ou des requêtes SQL complexes deviennent triviales.

Sauvegarde et restauration

wp db export backup-2026-06-19.sql          # Export complet de la base
wp db import backup-2026-06-19.sql          # Import d'une sauvegarde
wp db optimize                              # Optimise les tables
wp db repair                                # Répare les tables corrompues

Je programme un wp db export quotidien via cron sur tous les sites de mes clients. Le fichier SQL est ensuite envoyé sur un stockage distant. Cette méthode est plus fiable que les plugins de sauvegarde car elle ne dépend pas du bon fonctionnement de WordPress lui-même.

La commande search-replace : indispensable pour les migrations

Quand vous migrez un site WordPress d’un domaine à un autre (ou du HTTP vers le HTTPS), la commande wp search-replace est votre meilleure alliée :

wp search-replace 'http://ancien-domaine.fr' 'https://nouveau-domaine.fr' --all-tables --dry-run
wp search-replace 'http://ancien-domaine.fr' 'https://nouveau-domaine.fr' --all-tables

L’option --dry-run simule l’opération sans modifier les données. C’est un filet de sécurité que je recommande systématiquement. Cette commande gère correctement les données sérialisées de WordPress, ce qui n’est pas le cas d’un simple rechercher/remplacer SQL. J’ai vu trop de bases corrompues par des UPDATE SQL bruts qui cassaient la sérialisation PHP.

Exécuter des requêtes SQL directement

wp db query "SELECT COUNT(*) FROM wp_posts WHERE post_type='post' AND post_status='publish'"
wp db query "DELETE FROM wp_options WHERE option_name LIKE '_transient_%'"

La purge des transients expirés est une opération de maintenance que je réalise régulièrement. Sur des sites avec WooCommerce, les transients peuvent occuper plusieurs dizaines de Mo dans la table wp_options, ce qui ralentit considérablement les requêtes. Pour un diagnostic complet de la performance, consultez mon article sur le consulting SEO WordPress.

WP-CLI et SSH : travailler sur un serveur distant

La question revient souvent : que sont WP-CLI et SSH, et comment les utiliser ensemble ? SSH (Secure Shell) est le protocole qui vous permet de vous connecter à un serveur distant de manière sécurisée via le terminal. WP-CLI est l’outil que vous exécutez une fois connecté en SSH. Les deux sont complémentaires et forment le duo incontournable de l’administration WordPress professionnelle.

Se connecter et utiliser WP-CLI à distance

# Connexion SSH au serveur
ssh [email protected]

# Navigation vers le site WordPress
cd /var/www/monsite.fr

# Exécution des commandes WP-CLI
wp core version
wp plugin list

Pour simplifier les connexions répétitives, configurez un fichier ~/.ssh/config avec des alias :

Host monsite
  HostName monserveur.fr
  User utilisateur
  IdentityFile ~/.ssh/id_ed25519

Ensuite, un simple ssh monsite suffit pour vous connecter.

WP-CLI avec l’option –ssh (alias distant)

Depuis la version 2.0, WP-CLI supporte nativement l’exécution distante via l’option --ssh. Vous pouvez ainsi piloter un site WordPress distant sans vous connecter manuellement en SSH :

wp plugin list [email protected]/var/www/monsite.fr
wp core update --ssh=monsite/var/www/monsite.fr

Cette fonctionnalité est un vrai game-changer pour gérer un parc de sites WordPress. Combinée avec un script Bash, vous pouvez mettre à jour 20 sites en une seule commande. C’est d’ailleurs la raison pour laquelle je recommande WP-CLI à tout expert WordPress qui gère plusieurs projets.

Sécuriser l’accès SSH

La sécurité est primordiale quand vous accédez à vos serveurs. Voici mes recommandations :

  • Utilisez toujours des clés SSH plutôt que des mots de passe
  • Désactivez l’authentification par mot de passe dans sshd_config
  • Changez le port SSH par défaut (22) vers un port non standard
  • Mettez en place fail2ban pour bloquer les tentatives de brute force

La CNIL rappelle dans ses recommandations de sécurité web l’importance de protéger les accès d’administration, et SSH ne fait pas exception.

Automatiser la maintenance WordPress avec des scripts

L’un des atouts majeurs du CLI WordPress est la possibilité d’automatiser les tâches récurrentes. En combinant WP-CLI avec des scripts Bash et cron, vous créez un système de maintenance autonome.

Script de maintenance quotidienne

Voici le script que j’utilise sur la majorité de mes projets clients :

#!/bin/bash
SITE_PATH="/var/www/monsite.fr"
BACKUP_DIR="/backups/monsite"
DATE=$(date +%Y-%m-%d)

# Sauvegarde de la base de données
wp db export "$BACKUP_DIR/db-$DATE.sql" --path="$SITE_PATH"

# Mise à jour du cœur WordPress
wp core update --path="$SITE_PATH"

# Mise à jour de toutes les extensions
wp plugin update --all --path="$SITE_PATH"

# Mise à jour des thèmes
wp theme update --all --path="$SITE_PATH"

# Nettoyage des transients expirés
wp transient delete --expired --path="$SITE_PATH"

# Optimisation de la base de données
wp db optimize --path="$SITE_PATH"

# Vérification de l'intégrité des fichiers core
wp core verify-checksums --path="$SITE_PATH"

echo "Maintenance terminée le $DATE"

Planifier avec cron

Ajoutez ce script à votre crontab pour une exécution automatique :

# Maintenance quotidienne à 3h du matin
0 3 * * * /home/user/scripts/maintenance-wp.sh >> /var/log/wp-maintenance.log 2>&1

Je conseille de rediriger la sortie vers un fichier de log pour pouvoir diagnostiquer d’éventuels problèmes. C’est une pratique qui relève du bon sens quand on travaille en développement web professionnel.

Script multi-sites

Pour gérer plusieurs sites simultanément, j’utilise une boucle qui itère sur une liste de chemins :

#!/bin/bash
SITES=(
  "/var/www/site1.fr"
  "/var/www/site2.fr"
  "/var/www/site3.fr"
)

for SITE in "${SITES[@]}"; do
  echo "=== Maintenance de $SITE ==="
  wp plugin update --all --path="$SITE"
  wp theme update --all --path="$SITE"
  wp db optimize --path="$SITE"
done

Ce script met à jour et optimise trois sites en quelques secondes. Sans WP-CLI, cette opération prendrait facilement 20 à 30 minutes de clics dans chaque tableau de bord.

WP-CLI et les outils modernes : Docker, Git et IA

Le CLI WordPress ne vit pas en vase clos. Il s’intègre parfaitement dans un écosystème d’outils modernes que tout développeur WordPress devrait maîtriser.

WP-CLI et Docker

Docker est devenu la norme pour les environnements de développement WordPress. L’image officielle wordpress:cli intègre WP-CLI directement. Voici un extrait de docker-compose.yml que j’utilise régulièrement :

services:
  wordpress:
    image: wordpress:latest
    volumes:
      - ./wp-content:/var/www/html/wp-content
  wpcli:
    image: wordpress:cli
    volumes:
      - ./wp-content:/var/www/html/wp-content
    depends_on:
      - wordpress
      - db

Avec cette configuration, vous exécutez vos commandes WP-CLI via docker compose run --rm wpcli wp plugin list. L’avantage : chaque développeur de l’équipe travaille dans un environnement strictement identique.

WP-CLI et Git : versionner intelligemment

En combinant WP-CLI et Git, vous pouvez créer des workflows de déploiement puissants. Par exemple, un hook post-merge qui met à jour automatiquement la base de données après un pull :

#!/bin/bash
# .git/hooks/post-merge
wp core update-db --path=/var/www/monsite.fr
wp cache flush --path=/var/www/monsite.fr

Cette approche s’inscrit dans une logique de déploiement continu que je mets en place pour mes clients les plus exigeants. Le manuel des commandes WP-CLI sur developer.wordpress.org détaille toutes les options disponibles pour ce type d’intégration.

Quelle est la meilleure IA pour WordPress ?

La question revient de plus en plus souvent en 2026, et elle mérite une réponse nuancée. Plusieurs outils d’intelligence artificielle s’intègrent à WordPress : des plugins comme AI Engine, Jetstick AI ou encore les fonctionnalités natives de Jetpack AI. Pour la génération de contenu, Claude et GPT restent les modèles les plus utilisés via des plugins dédiés.

Côté CLI, l’IA intervient surtout pour accélérer l’écriture de commandes. Des assistants comme GitHub Copilot ou Claude peuvent générer des scripts WP-CLI complexes à partir d’une description en langage naturel. J’utilise personnellement cette approche pour créer rapidement des scripts de migration sur-mesure. Si le sujet de l’IA vous intéresse, j’ai rédigé des analyses sur les enjeux de cybersécurité liés à l’IA et sur les outils d’IA pour la productivité.

Cela dit, aucune IA ne remplace la maîtrise de WP-CLI. L’IA est un accélérateur, pas un substitut à la compréhension technique.

Créer ses propres commandes WP-CLI

WP-CLI est extensible. Vous pouvez créer vos propres commandes pour des tâches spécifiques à votre projet. Voici un exemple minimaliste :

/**
 * Affiche les statistiques du site.
 *
 * @when after_wp_load
 */
WP_CLI::add_command('site-stats', function() {
    $posts = wp_count_posts();
    $users = count_users();
    WP_CLI::success("Articles publiés : {$posts->publish}");
    WP_CLI::success("Utilisateurs : {$users['total_users']}");
});

Placez ce code dans un fichier chargé par WordPress (un mu-plugin par exemple), et vous aurez accès à wp site-stats. Cette extensibilité fait de WP-CLI un outil véritablement professionnel.

À retenir

  • Installez WP-CLI avec curl et chmod en 2 minutes sur tout serveur Linux ou macOS
  • Faites toujours un wp db export avant chaque mise à jour en production
  • Utilisez wp search-replace –dry-run systématiquement avant une migration de domaine
  • Automatisez la maintenance avec un script Bash planifié via cron pour gagner des heures chaque semaine
  • Combinez WP-CLI + SSH + alias pour piloter tous vos sites distants depuis un seul terminal

Questions fréquentes


C’est quoi un CLI ?

Un CLI (Command Line Interface) est une interface en ligne de commande qui permet d’interagir avec un logiciel en tapant des instructions textuelles dans un terminal. Contrairement à une interface graphique où l’on clique sur des boutons, un CLI exécute des commandes directement, ce qui le rend plus rapide et surtout automatisable via des scripts. Git, Docker et npm sont des exemples de CLI très utilisés par les développeurs.


C’est quoi WP-CLI ?

WP-CLI est l’interface officielle en ligne de commande pour WordPress. Cet outil open source permet de gérer l’intégralité d’un site WordPress sans passer par l’interface d’administration : installation du CMS, mise à jour du cœur et des extensions, gestion des utilisateurs, manipulation de la base de données, etc. WP-CLI est maintenu par la communauté WordPress et compte plus de 40 commandes natives.


Que sont WP-CLI et SSH et comment les utiliser ensemble ?

SSH (Secure Shell) est un protocole de connexion sécurisée à un serveur distant, tandis que WP-CLI est l’outil de gestion WordPress en ligne de commande. Pour les utiliser ensemble, connectez-vous d’abord à votre serveur via SSH (commande ssh utilisateur@serveur), puis naviguez vers le répertoire de votre site WordPress et exécutez vos commandes WP-CLI. Depuis la version 2.0, WP-CLI supporte aussi l’option –ssh pour exécuter des commandes à distance sans connexion manuelle préalable.


Comment installer WP-CLI sur mon serveur ?

L’installation de WP-CLI se fait en quatre commandes : téléchargez le fichier phar avec curl, vérifiez qu’il fonctionne avec php wp-cli.phar –info, rendez-le exécutable avec chmod +x, puis déplacez-le dans /usr/local/bin/wp pour un accès global. Vous pouvez aussi l’installer via Composer avec composer require wp-cli/wp-cli-bundle. La plupart des hébergeurs professionnels (o2switch, OVH, Infomaniak) le fournissent déjà préinstallé.


Quelle est la meilleure IA pour WordPress ?

En 2026, plusieurs outils d’intelligence artificielle s’intègrent à WordPress : AI Engine, Jetpack AI et divers plugins basés sur GPT ou Claude pour la génération de contenu. Pour le développement et l’administration, les assistants IA comme GitHub Copilot peuvent générer des scripts WP-CLI complexes à partir de descriptions en langage naturel. Il n’existe pas de « meilleure » IA universelle : le choix dépend de votre usage (rédaction, SEO, développement ou maintenance).


WP-CLI fonctionne-t-il avec les hébergements mutualisés ?

Oui, WP-CLI fonctionne sur la majorité des hébergements mutualisés professionnels, à condition que l’hébergeur fournisse un accès SSH. Des hébergeurs comme o2switch, OVH, PlanetHoster ou Infomaniak proposent WP-CLI préinstallé. Si ce n’est pas le cas, vous pouvez l’installer manuellement dans votre répertoire personnel en téléchargeant le fichier phar et en créant un alias dans votre fichier .bashrc.


Damien Roux
Damien Roux

Ingénieur système et expert hébergement web. Fondateur de web-city.fr, il partage guides pratiques, comparatifs objectifs et outils gratuits pour choisir le bon hébergeur et créer son site WordPress.

Retour en haut