WP-CLI
L'outil officiel qui permet d'administrer un site WordPress en ligne de commande, depuis un terminal connecté au serveur, sans passer par le tableau de bord.
Définition
WP-CLI est l’outil officiel qui permet d’administrer un site WordPress en ligne de commande, depuis un terminal connecté au serveur, sans passer par le tableau de bord. Mettre à jour les extensions, exporter la base, vérifier l’intégrité des fichiers, remplacer une adresse dans tout le site : chaque opération devient une commande rapide, répétable et automatisable. Pour un dirigeant, c’est surtout l’outil qui permet à un prestataire de maintenir le site efficacement, y compris quand l’administration ne répond plus.
Qu’est-ce que WP-CLI ?
L’interface en ligne de commande de WordPress, un projet open source maintenu dans l’écosystème officiel.
Le manuel du projet, hébergé sur make.wordpress.org, le définit comme l’interface en ligne de commande de WordPress, utilisée pour réaliser des tâches d’administration et de développement de façon programmatique. Concrètement, au lieu de cliquer dans le tableau de bord, on tape une instruction comme wp plugin update --all, et WP-CLI l’exécute sur le site.
Il ne s’agit pas d’une extension. WP-CLI ne s’installe pas dans WordPress mais sur le serveur, sous la forme d’un fichier unique au format PHAR, une archive exécutable par PHP. D’après son guide d’installation, il demande PHP 7.2.24 ou une version plus récente, et rien de plus que ce que WordPress exige déjà. Certains hébergeurs le fournissent tout installé : c’est le cas sur l’hébergement mutualisé du site relevé plus bas, où la version 2.12.0 est disponible d’emblée.
Comment fonctionne WP-CLI ?
Il charge WordPress comme le ferait une visite, mais sans navigateur et sans page à afficher.
On se connecte au serveur par SSH, un accès sécurisé en ligne de commande, on se place dans le dossier du site, et chaque commande lance WordPress avec sa configuration, sa base de données, ses extensions et son thème. WP-CLI agit donc avec les mêmes données que le tableau de bord, mais sans passer par l’interface d’administration ni par la page de connexion.
Cette différence a deux conséquences. La première est un avantage : un site dont l’administration est inaccessible, parce qu’une extension provoque une erreur fatale par exemple, reste souvent réparable. Le manuel prévoit les options --skip-plugins et --skip-themes, qui lancent WordPress sans charger les extensions ou le thème. Les extensions obligatoires, elles, restent chargées. C’est un recours précieux face à un écran blanc de la mort, quand le mode de récupération ne s’est pas déclenché. La seconde est un risque : il n’y a ni bouton « Annuler » ni écran de confirmation pour la plupart des commandes.
Quelles sont les principales commandes WP-CLI ?
Elles sont rangées par familles, qui suivent l’organisation de WordPress.
| Famille | Exemple | À quoi elle sert |
|---|---|---|
core | wp core verify-checksums | Mettre à jour le cœur, ou vérifier qu’aucun de ses fichiers n’a été modifié |
plugin et theme | wp plugin list --update=available | Lister, activer, désactiver et mettre à jour extensions et thèmes |
db | wp db export | Exporter ou importer la base de données |
search-replace | wp search-replace suivi de l’ancienne et de la nouvelle valeur | Remplacer une adresse ou un texte dans toute la base, par exemple lors d’un changement de domaine |
cron | wp cron event list | Voir et lancer les tâches planifiées de WordPress |
user | wp user list | Gérer les comptes et leurs rôles |
La commande search-replace mérite une mention à part. Une adresse de site est souvent stockée dans des données dites sérialisées, où la longueur de chaque texte est écrite à côté du texte lui-même. Un remplacement fait directement en SQL casse ces données dès que la longueur change. La documentation officielle précise que search-replace les traite correctement, et son option --dry-run affiche ce qui serait remplacé sans rien enregistrer.
Comment mettre à jour WordPress avec WP-CLI ?
Par étapes, avec une sauvegarde avant et un contrôle après chacune.
Sauvegarder
Exporter la base avec wp db export et archiver les fichiers. Sans ce point de départ, aucun retour arrière n’est possible.
Mettre à jour par étage
Les extensions, puis les thèmes, puis le cœur, et enfin wp core update-db si la nouvelle version du cœur modifie la structure de la base. Procéder par étage permet de savoir laquelle a cassé quelque chose.
Contrôler
Vérifier que la page d’accueil et une page intérieure répondent, que WordPress démarre, et que les fichiers du cœur sont conformes avec wp core verify-checksums. En cas d’échec, restaurer la sauvegarde.
C’est la chaîne que nous faisons tourner chaque semaine sur la vingtaine de sites WordPress dont nous assurons la mise à jour, avec un rapport qui distingue ce qui a été réellement appliqué de ce qui reste à traiter à la main. Le gain ne tient pas à la vitesse d’une mise à jour isolée, mais à la régularité : la même procédure, sans oubli, sur tous les sites.
Quelles sont les limites de WP-CLI ?
Il fait exactement ce qu’on lui demande, et parfois ce qu’on ne voulait pas.
La vérification des empreintes ne couvre que ce que wordpress.org connaît. Le cœur et les extensions du répertoire officiel sont comparés aux fichiers d’origine. Une extension premium ou maison est ignorée, faute d’empreinte publique : la commande le dit, mais l’absence de signalement ne vaut pas preuve de propreté pour ces extensions-là. C’est le principe du contrôle d’intégrité du cœur, avec les mêmes angles morts.
Les commandes ajoutées par des extensions n’offrent pas toujours les mêmes garanties que celles du projet. Nous avons constaté qu’une commande de purge fournie par une extension de cache répond « succès » alors que la page continue d’être servie depuis un cache, jusqu’à son expiration. Un message de réussite dit que la commande s’est exécutée, pas que le résultat attendu est obtenu : il faut contrôler le résultat lui-même.
Un accès SSH ouvre tout le site. Celui qui peut lancer WP-CLI peut aussi supprimer la base. L’accès d’un prestataire se donne par une clé qui lui est propre, que l’on peut retirer sans toucher aux autres, et se révoque en fin de mission. C’est l’application directe de la rotation des identifiants.
Ce que montre un site réel
Relevé du 13 octobre 2026, en lecture seule, sur un site vitrine WordPress 7.1.3 que nous maintenons, avec WP-CLI 2.12.0 et PHP 8.3. Huit commandes de lecture lancées l’une après l’autre ont pris 31 secondes au total. Elles ont établi que le cœur est à jour, que 2 extensions sur les 33 installées attendent une mise à jour, qu’aucun thème n’en attend, et que 69 tâches sont planifiées. La vérification du cœur a pris 1,4 seconde : fichiers conformes, mais deux fichiers présents dans le dossier wp-admin que l’archive officielle ne contient pas. Ils sont à examiner un par un : l’outil signale, il ne juge pas. La vérification des extensions a été la plus longue, 17,3 secondes, et n’a pu contrôler que 23 extensions sur 25 : les deux autres n’ont pas d’empreinte publique, dont l’extension maison de l’hébergeur. Le même état des lieux dans le tableau de bord demanderait plusieurs écrans, et la comparaison aux empreintes n’y existe pas sans extension de sécurité.
Questions fréquentes
Mon hébergement permet-il d’utiliser WP-CLI ?
Il faut un accès SSH. Les offres mutualisées qui en ouvrent un le permettent, et certaines fournissent WP-CLI déjà installé. Des formules d’entrée de gamme n’ouvrent en revanche aucun accès SSH : WP-CLI y est alors inutilisable, et la maintenance passe par d’autres moyens.
WP-CLI remplace-t-il le tableau de bord ?
Non. La rédaction de contenus, la mise en page et la plupart des réglages restent plus simples dans l’interface. WP-CLI sert à ce qui se répète, à ce qui touche des dizaines d’éléments à la fois, et à ce que l’interface ne propose pas.
Peut-on réparer un site en panne avec WP-CLI ?
Souvent, oui. Lancé sans charger les extensions, il permet de désactiver celle qui provoque l’erreur, alors même que l’administration est inaccessible. Il ne peut rien en revanche si la panne vient de la base de données ou du serveur lui-même.
Faut-il savoir programmer pour utiliser WP-CLI ?
Non pour les commandes courantes, qui se lisent presque comme des phrases. Mais il faut savoir ce que fait chaque commande avant de la lancer, parce qu’il n’y a pas de corbeille. Sur un site en production, c’est un outil de professionnel.
Sources
Et sur votre site ?
Une définition ne dit pas si vous êtes concerné.
L'audit gratuit répond dans votre cas : état technique, temps de chargement, et ce que Google voit réellement de vos pages. Un constat écrit, sans engagement et sans jargon.