WP-CLI: gestire WordPress da riga di comando

Cos’è WP-CLI e perché usarlo

WP-CLI (WordPress Command Line Interface) è uno strumento che permette di gestire siti WordPress direttamente dal terminale, senza passare dal pannello di amministrazione. Con pochi comandi puoi installare plugin, aggiornare temi, gestire utenti, eseguire operazioni sul database e automatizzare flussi di lavoro complessi.

Per sviluppatori, amministratori di sistema e chiunque gestisca più siti WordPress, WP-CLI è uno strumento indispensabile. Riduce i tempi di operazioni ripetitive, permette di scriptare processi complessi e funziona perfettamente in ambienti headless come server remoti e CI/CD.

Installazione di WP-CLI

Su server Linux (via SSH)

L’installazione su Linux è rapida via terminale. Accedi al server via SSH e scarica il file PHAR ufficiale con curl o wget, rendilo eseguibile e spostalo in una directory del PATH. Dopo l’installazione, verifica con wp --info. L’intero processo richiede meno di un minuto.

Assicurati che il server abbia PHP 5.6 o superiore installato. WP-CLI richiede anche le estensioni PHP json, dom e mbstring, quasi sempre presenti nelle installazioni standard.

Su Windows

Su Windows hai tre opzioni principali. La prima è usare il prompt tramite PowerShell con PHP installato localmente. La seconda è usare WSL (Windows Subsystem for Linux) e installare WP-CLI come su Linux. La terza è usare strumenti come DesktopServer o Local by Flywheel che includono WP-CLI preinstallato.

Se usi XAMPP o WAMP, scarica il file wp-cli.phar nella directory del progetto e usa php wp-cli.phar seguito dai comandi. Per comodità, crea un alias in PowerShell o un file batch che punti al PHAR.

Comandi essenziali di WP-CLI

Gestione del core WordPress

wp core permette di installare, aggiornare e verificare WordPress. Con wp core download scarichi l’ultima versione, con wp core config crei il file wp-config.php, con wp core install esegui l’installazione completa. wp core update aggiorna WordPress all’ultima versione disponibile.

Gestione plugin e temi

wp plugin e wp theme sono tra i comandi più usati. Con wp plugin list visualizzi tutti i plugin installati con stato e versione. wp plugin install woocommerce --activate installa e attiva WooCommerce in un comando. wp plugin update --all aggiorna tutti i plugin simultaneamente.

Per i temi: wp theme list, wp theme activate blocksy, wp theme install generatepress.

Gestione contenuti

Con wp post gestisci articoli e pagine. wp post list elenca i post, wp post create --post_title="Titolo" --post_content="Contenuto" --post_status=publish crea un nuovo articolo pubblicato. wp post delete 123 elimina un post.

Per gli utenti: wp user list, wp user create, wp user add-role. wp user meta permette di gestire metadati utente avanzati.

Operazioni sul database

wp db è un potentissimo strumento per il database. wp db export esporta un dump SQL, wp db import file.sql lo importa. wp db optimize ottimizza le tabelle, wp db repair ripara eventuali danni.

wp search-replace 'vecchio-dominio.com' 'nuovo-dominio.com' --skip-columns=guid è il comando fondamentale per cambiare dominio o migrare un sito. Sostituisce tutte le occorrenze di una stringa nel database, gestendo correttamente i serialized array.

Automatizzare gli aggiornamenti

Uno degli usi più pratici di WP-CLI è l’automazione degli aggiornamenti. Crea uno script shell che esegua in sequenza:

  • Backup del database con wp db export
  • Aggiornamento di tutti i plugin
  • Aggiornamento di tutti i temi
  • Aggiornamento del core WordPress
  • Traduzioni con wp language core update

Programma lo script con cron (Linux) o Task Scheduler (Windows) per eseguirlo settimanalmente. Non dimenticare di testare il sito dopo ogni aggiornamento automatico.

Gestire più siti WordPress

WP-CLI può gestire più siti WordPress sulla stessa macchina. Usa l’opzione --path per specificare la directory di ogni installazione: wp plugin list --path=/var/www/sito1. In alternativa, usa lo strumento WP-CLI SSH per connetterti a siti remoti: wp @remote plugin update --all.

Per gestire decine di siti, crea un file di configurazione con alias per ogni sito, così puoi eseguire comandi su tutti i siti con un unico script.

Creare comandi WP-CLI personalizzati

Puoi estendere WP-CLI creando comandi personalizzati per il tuo plugin o tema. Crea una classe PHP che estenda WP_CLI_Command e registrala con WP_CLI::add_command().

I comandi personalizzati supportano argomenti posizionali, flag opzionali, documentazione automatica (wp-help) e integrazione con il sistema di logging. Sono ideali per automatizzare task specifici del tuo progetto: importare dati da API esterne, generare report personalizzati, sincronizzare contenuti tra ambienti.

WP-CLI nei flussi CI/CD

In ambienti di deployment continuo, WP-CLI è uno strumento fondamentale. Puoi integrarlo in pipeline GitHub Actions, GitLab CI, Jenkins o Bitbucket Pipelines per:

  • Eseguire wp search-replace dopo il deploy per aggiornare gli URL
  • Importare database di staging con wp db import
  • Flushare le regole di rewrite con wp rewrite flush
  • Attivare plugin specifici per ambiente con wp plugin activate
  • Generare contenuti di test con wp post generate

Assicurati che le credenziali di connessione al database siano gestite tramite variabili d’ambiente, non hard-coded nei file di configurazione.

Script pratici per task comuni

Ecco alcuni script particolarmente utili:

Backup completo del sito: esegue export del database e crea un archivio zip della directory wp-content. Salva il backup con timestamp nella data corrente.

Reset di un ambiente di staging: importa il database di produzione, esegue search-replace, rigenera le miniature, flusha la cache. Prepara un ambiente di staging identico alla produzione in pochi secondi.

Audit di sicurezza: elenca plugin non aggiornati, utenti admin non necessari, temi inutilizzati e file con permessi sbagliati.

Generazione di contenuti demo: crea post, pagine, prodotti WooCommerce e utenti di test per nuovi progetti.

Conclusione

WP-CLI trasforma la gestione di WordPress da operazione manuale e ripetitiva a processo automatizzato e scalabile. Che tu gestisca un singolo blog o una rete di centinaia di siti, investire tempo nell’apprendimento di WP-CLI ripaga molte volte in efficienza e controllo. Installa WP-CLI oggi, sperimenta con i comandi di base e gradualmente integra gli script automatizzati nel tuo flusso di lavoro quotidiano.

Lascia una risposta