WP-CLI è uno strumento molto utile nello sviluppo WordPress. Permette di aggiornare core, plugin e temi, esportare database, creare utenti, fare search-replace e lanciare script senza passare dall'interfaccia admin.
Il vantaggio principale non è la velocità del terminale. È la ripetibilità. Un comando documentato si può versionare, condividere con il team e integrare in una pipeline. Un'operazione manuale, invece, si dimentica e si sbaglia.
Aggiornamento luglio 2026
La release stabile di riferimento è WP-CLI 2.12.0. Le note più rilevanti per chi mantiene siti WordPress sono la compatibilità più pulita con PHP 8.4, controlli migliori sugli aggiornamenti, gestione più robusta di MySQL/MariaDB e miglioramenti su CSV, configurazioni e comandi custom.
Con WordPress 7.0, WP-CLI resta il modo più affidabile per rendere ripetibili update, backup, search-replace, verifica del core e manutenzione programmata. La direzione attuale è anche agent-ready: comandi stabili, output strutturati e integrazione con Abilities API, connettori AI e MCP rendono WP-CLI utile non solo agli sviluppatori, ma anche a workflow automatizzati controllati.
Best practice: usa sempre --dry-run sulle operazioni distruttive, preferisci output --format=json nelle pipeline, versiona gli script di deploy e blocca i comandi per ambiente con variabili esplicite.
Requisiti e installazione
Per usare WP-CLI servono PHP da riga di comando, accesso shell all'ambiente e un progetto WordPress raggiungibile dal terminale. In locale è sufficiente installare il binario wp e assicurarsi che punti alla versione PHP corretta.
Un controllo iniziale utile è:
wp --infoDa qui si verifica versione PHP, percorso del binario, sistema operativo e directory di lavoro. Se il comando non vede WordPress, spesso il problema è il path: bisogna eseguirlo dalla root del sito o passare --path=/percorso/al/sito.
Comandi quotidiani
I comandi più utili sono quelli che eliminano attività ripetitive:
wp core update
wp plugin update --all
wp theme update --all
wp db export backup.sql
wp search-replace 'https://staging.example.com' 'https://example.com'Prima di usare search-replace in produzione conviene sempre eseguire una simulazione:
wp search-replace 'vecchio-dominio.test' 'nuovo-dominio.it' --dry-runWP-CLI gestisce correttamente i dati serializzati, quindi è molto più sicuro di una sostituzione manuale nel dump SQL.
Workflow di deploy
Un deploy WordPress pulito di solito combina tre blocchi: codice, database e media. WP-CLI copre bene la parte database e configurazione, soprattutto quando rientra in un processo di sviluppo WordPress custom. Ad esempio:
- esporti il database da staging;
- importi in produzione o in locale;
- sostituisci gli URL;
- svuoti cache e transient;
- verifichi plugin attivi e permalink.
Un flusso minimo può includere:
wp db export before-deploy.sql
wp db import staging.sql
wp search-replace 'https://staging.example.com' 'https://example.com' --skip-columns=guid
wp cache flush
wp rewrite flushLa regola è non affidare il deploy alla memoria. Anche se il progetto è piccolo, una checklist eseguibile riduce errori e tempi.
Script per setup ripetibili
WP-CLI è utile quando crei ambienti locali o nuovi siti. Uno script può installare WordPress, impostare permalink, lingua, plugin base e utenti di sviluppo.
Esempio di logica:
- scarica WordPress;
- crea
wp-config.php; - installa il core;
- attiva tema e plugin;
- imposta permalink;
- crea pagine iniziali.
Questo approccio è particolarmente efficace per freelance e piccoli team: ogni nuovo progetto parte da una base controllata, non da una sequenza di click diversa ogni volta.
Package e comandi custom
WP-CLI può essere esteso con package. Esistono strumenti per analisi, manutenzione, import/export e integrazioni con plugin specifici. Nei progetti più maturi ha senso creare anche comandi custom, ad esempio:
wp project seed-demo-content
wp project cleanup-expired-cache
wp project sync-acf-jsonUn comando custom è preferibile a uno script fragile quando deve conoscere WordPress, accedere alle API interne o rispettare capability e contesto multisite.
Integrazione con CI
In GitHub Actions, GitLab CI o pipeline simili, WP-CLI può eseguire smoke test dopo il deploy. Non sostituisce PHPUnit o Playwright, ma si integra bene con una strategia di test automatici e copre controlli rapidi:
- verifica che WordPress risponda;
- controlla plugin attivi;
- rigenera permalink;
- lancia test custom;
- esporta informazioni diagnostiche.
Per un sito business, anche un controllo automatico piccolo è meglio di nessun controllo.
Conclusione
WP-CLI porta WordPress in un workflow da sviluppo moderno. Non serve usarlo per tutto: basta iniziare da backup, update, search-replace e cache flush. Quando questi passaggi diventano comandi condivisi, la manutenzione smette di dipendere dall'attenzione del momento e diventa un processo stabile.