WP-CLI : guide pratique pour gérer WordPress en ligne de commande
WP-CLI est l’interface officielle en ligne de commande pour administrer WordPress. Elle permet de nombreuses tâches sans wp-admin et facilite maintenance, migrations, automatisation et diagnostic.
WP-CLI n’est pas disponible chez tous les hébergeurs. Il faut un accès SSH, WP-CLI installé et les droits sur le répertoire WordPress.
Qu’est-ce que WP-CLI et quand l’utiliser ?
Vous pouvez vérifier le cœur, gérer extensions, thèmes et utilisateurs, exporter la base, vider l’object cache et remplacer des URL de manière contrôlée. WP-CLI ne remplace ni sauvegardes, ni staging, ni tests de compatibilité.
Avant de commencer
- Confirmez que l’offre autorise SSH et WP-CLI.
- Sauvegardez fichiers et base avant toute modification.
- Utilisez un staging pour les changements risqués.
- Connectez-vous avec un compte limité, pas root.
- Vérifiez le document root.
1. Connexion SSH et vérification
cd /path/to/wordpress
wp --info
wp core versionSi wp est introuvable, demandez à l’hébergeur. Pour “This does not seem to be a WordPress installation”, vérifiez le dossier ou utilisez --path=/chemin/correct.
2. Cœur WordPress
wp core version
wp core check-update
wp core verify-checksumsLes checksums détectent des fichiers du cœur modifiés, mais pas extensions, thèmes ou uploads. Avant wp core update, sauvegardez et testez sur staging.
3. Extensions et thèmes
wp plugin list
wp plugin list --update=available
wp plugin status plugin-slug
wp plugin activate plugin-slug
wp plugin deactivate plugin-slug
wp theme list
wp theme status theme-slugNe désactivez pas en masse les extensions d’une boutique en production sans maintenance plan. Testez sur staging et mettez à jour séparément.
wp plugin update plugin-slug
wp theme update theme-slug
4. Utilisateurs
wp user list --fields=ID,user_login,user_email,roles
wp user get 1Contrôlez les administrateurs inconnus, mais ne supprimez aucun compte avant vérification. Ne placez jamais de mot de passe dans l’historique shell.
5. Base de données
Avertissement : ces commandes peuvent affecter tout le site. Sauvegardez avant toute écriture ou optimisation.
wp db check
wp db export wordpress-before-change.sqlVérifiez le fichier, sa taille et son emplacement hors du web public. Une grosse base peut nécessiter une procédure différente.
6. Cache
wp cache flushCette commande vide l’object cache WordPress, pas nécessairement le page cache, le CDN ou le cache serveur.
7. Mises à jour
wp core check-update
wp plugin list --update=available
wp theme list --update=availableCe sont des contrôles. Avant une mise à jour, préparez sauvegarde, staging et retour arrière.
8. Search-replace avec prévisualisation
WP-CLI traite les données sérialisées, mais un remplacement incorrect peut modifier de nombreuses lignes. Commencez par :
wp search-replace 'https://old.example' 'https://new.example' --all-tables-with-prefix --dry-runVérifiez les tables et le nombre de remplacements. Retirez --dry-run uniquement après validation et sauvegarde. Multisite et tables personnalisées demandent des contrôles supplémentaires.
Problèmes fréquents
- Command not found : WP-CLI est absent ou hors PATH.
- Mauvais chemin : vérifiez document root ou
--path. - Erreur de base : contrôlez wp-config.php et le service.
- Permission denied : contrôlez propriétaire et droits ; n’utilisez pas sudo sans raison.
- Erreur fatale : consultez les logs et annulez la dernière modification.
- Timeout/mémoire : fractionnez ou contactez l’hébergeur.
Bonnes pratiques de sécurité
- Utilisez des clés SSH et ne partagez jamais les accès.
- Évitez les commandes destructrices.
- Stockez les exports hors des dossiers publics.
- Contrôlez site, wp-admin, formulaires et logs.
- En cas de doute, arrêtez-vous et contactez le support.