
La gestione professionale di siti WordPress richiede strumenti che vadano oltre la semplice dashboard amministrativa. WP-CLI rappresenta la soluzione ideale per sviluppatori, agenzie web e sistemisti che desiderano automatizzare operazioni complesse, gestire installazioni multiple e ottimizzare il workflow di sviluppo.
In questa guida completa esploreremo tutto ciò che serve sapere su WP-CLI: dall’installazione ai comandi essenziali, fino alle tecniche avanzate di automazione che possono rivoluzionare il tuo modo di lavorare con WordPress.
Cos’è WP-CLI e perché dovresti usarlo
WP-CLI (WordPress Command Line Interface) è un’interfaccia a riga di comando che consente di gestire installazioni WordPress attraverso il terminale, senza dover accedere al pannello amministrativo. Sviluppato e mantenuto dalla comunità WordPress, è diventato uno standard de facto per la gestione professionale di siti WordPress.
A differenza della dashboard tradizionale, WP-CLI permette di eseguire operazioni complesse con singoli comandi, automatizzare task ripetitivi e integrare WordPress nei flussi di lavoro DevOps. È particolarmente utile quando si gestiscono decine o centinaia di siti WordPress, rendendo possibile ciò che sarebbe impensabile fare manualmente.
Vantaggi di WP-CLI per Sviluppatori e Agenzie
L’utilizzo di WP-CLI offre numerosi vantaggi concreti che giustificano l’investimento di tempo nell’apprendimento:
Velocità ed efficienza: operazioni che richiederebbero minuti attraverso la dashboard possono essere eseguite in pochi secondi. Ad esempio, aggiornare tutti i plugin di un’installazione richiede un singolo comando invece di click multipli.
Automazione: è possibile creare script personalizzati per automatizzare deployment, backup, migrazioni e manutenzione WordPress. Questo si traduce in risparmio di tempo e riduzione degli errori umani.
Gestione batch: quando si amministrano più siti WordPress, WP-CLI permette di applicare modifiche in massa attraverso script, rendendo scalabile la gestione di numerose installazioni.
Debugging avanzato: comandi specifici consentono di diagnosticare problemi, analizzare il database e controllare lo stato del sistema con precisione chirurgica.
Integrazione CI/CD: WP-CLI si integra perfettamente in pipeline di continuous integration e deployment, permettendo test automatici e rilasci controllati.
Quando Usare WP-CLI invece della Dashboard
Non si tratta di sostituire completamente la dashboard WordPress, ma di scegliere lo strumento giusto per il task giusto. WP-CLI è particolarmente indicato quando:
- Devi gestire più siti WordPress contemporaneamente
- Hai bisogno di automatizzare operazioni ripetitive
- Lavori su server remoti via SSH
- Stai migrando siti tra ambienti diversi
- Vuoi ottimizzare database di grandi dimensioni
- Hai necessità di fare search-replace massivi
- Lavori in team con workflow Git-based
- Gestisci siti WooCommerce con cataloghi estesi
Per operazioni quotidiane come scrivere articoli, gestire media o configurare plugin con interfacce complesse, la dashboard rimane più pratica.
Installazione e Configurazione di WP-CLI
L’installazione di WP-CLI è un processo semplice che richiede solo pochi minuti. Vediamo come procedere su diversi sistemi operativi.
Requisiti di Sistema
Prima di installare WP-CLI, verifica che il tuo sistema soddisfi i seguenti requisiti minimi:
- Sistema operativo UNIX-like (Linux, macOS, FreeBSD) o Windows con WSL
- PHP 7.4 o superiore (consigliato PHP 8.1+)
- WordPress 5.0 o superiore
- Accesso SSH al server (per installazioni remote)
- Permessi di lettura/scrittura sulla directory WordPress
Installazione su Linux/macOS
Il metodo più semplice e raccomandato è scaricare il file Phar e renderlo eseguibile:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.pharVerifica che funzioni correttamente:
php wp-cli.phar --infoRendi il file eseguibile e spostalo in una directory del PATH:
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wpOra puoi usare il comando wp da qualsiasi directory.
Installazione su Windows
Su Windows 10/11, il metodo consigliato è utilizzare Windows Subsystem for Linux (WSL). Una volta installato WSL, segui le istruzioni per Linux riportate sopra.
In alternativa, puoi usare WP-CLI attraverso Git Bash o creare un file batch, ma l’esperienza non sarà ottimale come su sistemi UNIX.
Verifica dell’Installazione
Per confermare che WP-CLI sia installato correttamente, esegui:
wp --infoDovresti vedere informazioni su PHP, WordPress e WP-CLI. Per testare su un’installazione WordPress esistente, naviga nella directory del sito ed esegui:
wp core versionQuesto mostrerà la versione di WordPress installata, confermando che WP-CLI può comunicare correttamente con il tuo sito.
Comandi WP-CLI essenziali per la Gestione quotidiana
Padroneggiare i comandi base di WP-CLI ti permetterà di gestire il 90% delle operazioni quotidiane. Ecco i comandi essenziali che ogni sviluppatore WordPress dovrebbe conoscere.
wp core – Gestione Core WordPress
Il comando wp core gestisce tutte le operazioni relative al core di WordPress.
Scaricare WordPress:
wp core download --locale=it_ITQuesto scarica l’ultima versione di WordPress in italiano nella directory corrente.
Installare WordPress:
wp core install --url=example.com --title="Il Mio Sito" --admin_user=admin --admin_email=email@example.comAggiornare WordPress:
wp core updatePer aggiornare anche database e traduzioni:
wp core update-db
wp language core updateVerificare l’integrità dei file core:
wp core verify-checksumsQuesto comando è utilissimo per identificare file corrotti o modificati, fondamentale per la sicurezza.
wp plugin – Gestione Plugin
La gestione dei plugin è una delle operazioni più frequenti, e WP-CLI la rende estremamente rapida.
Elencare tutti i plugin installati:
wp plugin listInstallare un plugin:
wp plugin install contact-form-7 --activateAggiornare tutti i plugin:
wp plugin update --allDisattivare e riattivare tutti i plugin (utile per debugging):
wp plugin deactivate --all
wp plugin activate --allEliminare plugin disattivi:
wp plugin delete $(wp plugin list --status=inactive --field=name)wp theme – Gestione Temi
I comandi per i temi seguono una logica simile ai plugin.
Installare un tema:
wp theme install twentytwentyfour --activateElencare tutti i temi:
wp theme listAttivare un tema:
wp theme activate twentytwentyfourEliminare temi non utilizzati:
wp theme delete twentytwentytwo twentytwentythreeMantenere solo i temi necessari riduce la superficie di attacco per vulnerabilità di sicurezza.
wp db – Gestione Database
La gestione del database è un’area dove WP-CLI eccelle, offrendo controllo granulare.
Ottimizzare il database:
wp db optimizeEsportare il database:
wp db export backup.sqlImportare un database:
wp db import backup.sqlEseguire query SQL:
wp db query "SELECT * FROM wp_options WHERE option_name LIKE 'siteurl'"Reset completo del database (attenzione, cancella tutto!):
wp db reset --yeswp user – Gestione Utenti
Gestire utenti da CLI è particolarmente utile quando hai perso l’accesso admin o devi gestire molti account.
Creare un nuovo amministratore:
wp user create nuovo_admin email@example.com --role=administrator --user_pass=password_sicuraElencare tutti gli utenti:
wp user listCambiare password di un utente:
wp user update admin --user_pass=nuova_passwordEliminare utenti spam:
wp user delete $(wp user list --role=subscriber --field=ID) --yesComandi Avanzati per Sviluppatori
Oltre ai comandi base, WP-CLI offre funzionalità avanzate che semplificano operazioni complesse.
wp search-replace – Sostituzione in Massa
Uno dei comandi più potenti, essenziale durante le migrazioni e per la realizzazione di siti web professionali.
Cambiare URL del sito:
wp search-replace 'http://oldsite.com' 'https://newsite.com' --dry-runIl flag --dry-run mostra cosa verrebbe modificato senza applicare le modifiche. Una volta verificato, esegui senza il flag:
wp search-replace 'http://oldsite.com' 'https://newsite.com' --skip-columns=guidSostituzioni mirate su tabelle specifiche:
wp search-replace 'testo_vecchio' 'testo_nuovo' wp_posts wp_postmetaSearch-replace con serializzazione (gestisce correttamente array PHP):
wp search-replace 'vecchio' 'nuovo' --all-tableswp cache – Gestione Cache
Se utilizzi plugin di caching come WP Super Cache o W3 Total Cache:
Svuotare la cache:
wp cache flushSvuotare cache di oggetti:
wp transient delete --allFlush cache di Rewrite Rules:
wp rewrite flushwp cron – Gestione Task Pianificati
WordPress usa un sistema di cron per task pianificati. WP-CLI permette di gestirli efficacemente.
Elencare eventi cron:
wp cron event listEseguire tutti gli eventi cron in attesa:
wp cron event run --due-nowSchedulare un evento personalizzato:
wp cron event schedule my_custom_event '+1 hour' --dailyEliminare un evento specifico:
wp cron event delete my_custom_eventwp scaffold – Generazione Codice
WP-CLI può generare boilerplate code per velocizzare lo sviluppo.
Creare uno skeleton per un plugin:
wp scaffold plugin my-custom-pluginGenerare un Custom Post Type:
wp scaffold post-type libro --label=Libro --textdomain=mio-temaCreare una tassonomia:
wp scaffold taxonomy genere --post_types=libroGenerare unit tests:
wp scaffold plugin-tests my-pluginAutomazione con WP-CLI: Script e Best Practices
Il vero potere di WP-CLI emerge quando crei script personalizzati per automatizzare workflow complessi.
Creare Script di Deployment
Uno script di deployment automatizza il processo di pubblicazione di modifiche su un server di produzione.
Esempio di deploy.sh:
#!/bin/bash
echo "🚀 Inizio deployment..."
# Backup database
wp db export backup-pre-deploy-$(date +%Y%m%d).sql
# Aggiorna WordPress core
wp core update
# Aggiorna tutti i plugin
wp plugin update --all
# Aggiorna traduzioni
wp language core update
wp language plugin update --all
# Flush cache
wp cache flush
wp rewrite flush
# Ottimizza database
wp db optimize
echo "✅ Deployment completato!"Rendi lo script eseguibile:
chmod +x deploy.shBackup Automatizzati
Crea uno script per backup completi programmabili.
backup.sh:
#!/bin/bash
BACKUP_DIR="/var/backups/wordpress"
SITE_NAME="miosito"
DATE=$(date +%Y%m%d_%H%M%S)
# Crea directory backup se non esiste
mkdir -p $BACKUP_DIR
# Backup database
wp db export $BACKUP_DIR/${SITE_NAME}_db_${DATE}.sql
# Backup files (esclusi uploads per ridurre dimensione)
tar -czf $BACKUP_DIR/${SITE_NAME}_files_${DATE}.tar.gz \
--exclude='wp-content/uploads' \
.
# Mantieni solo gli ultimi 7 backup
find $BACKUP_DIR -name "${SITE_NAME}_*" -mtime +7 -delete
echo "✅ Backup completato: ${DATE}"Aggiungi questo script al crontab per esecuzione automatica:
crontab -e
# Aggiungi questa riga per backup giornaliero alle 2:00 AM
0 2 * * * /path/to/backup.shAggiornamenti Programmati
Script per gestire aggiornamenti multipli con sicurezza.
update-maintenance.sh:
#!/bin/bash
# Attiva modalità manutenzione
wp maintenance-mode activate
# Backup pre-aggiornamento
wp db export backup-before-updates.sql
# Aggiorna tutto
wp core update
wp plugin update --all
wp theme update --all
# Verifica integrità
if wp core verify-checksums; then
echo "✅ Core integro"
# Disattiva manutenzione
wp maintenance-mode deactivate
else
echo "❌ Problemi rilevati!"
# Lascia manutenzione attiva e notifica
exit 1
fiWP-CLI e WooCommerce: Comandi Specifici
Se gestisci siti e-commerce con WooCommerce, WP-CLI offre comandi dedicati estremamente utili.
Gestione Prodotti da CLI
Elencare prodotti:
wp wc product listCreare un prodotto:
wp wc product create --name="Maglietta" --type=simple --regular_price=19.99 --user=1Aggiornare prezzi in batch:
wp wc product update $(wp wc product list --field=id) --sale_price=14.99Importare prodotti da CSV:
wp wc product import prodotti.csv --user=1Gestione Ordini e Customer
Visualizzare ordini recenti:
wp wc shop_order list --per_page=20 --orderby=date --order=DESCEsportare ordini in CSV:
wp wc shop_order export ordini.csv --fields=id,date,status,totalRicalcolare totali carrello:
wp wc tool run regenerate_thumbnailsSvuotare carrelli abbandonati:
wp db query "DELETE FROM wp_woocommerce_sessions WHERE session_expiry < UNIX_TIMESTAMP()"La gestione avanzata di WooCommerce tramite CLI è fondamentale per chi ha cataloghi estesi. Se stai cercando supporto per il tuo negozio online, scopri i nostri servizi di realizzazione eCommerce WooCommerce a Bari.
Troubleshooting e Errori comuni
Anche con WP-CLI possono verificarsi problemi. Ecco come risolverli.
Problemi di Permessi
Errore: “This does not seem to be a WordPress installation.”
Soluzione: Verifica di essere nella directory root di WordPress:
pwd
ls wp-config.phpSe i permessi sono errati:
# Imposta proprietà corretta (sostituisci username:group)
sudo chown -R www-data:www-data /path/to/wordpress
# Imposta permessi corretti
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;Errori di Connessione Database
Errore: “Error establishing a database connection”
Verifica credenziali:
wp config get DB_NAME
wp config get DB_USER
wp config get DB_HOSTTesta connessione manualmente:
wp db checkSe il database è corrotto:
wp db repairPerformance e Ottimizzazione
Se WP-CLI è lento:
Disabilita output colorato:
wp --no-color plugin listLimita output:
wp plugin list --format=idsUsa cache di opzioni:
# Aggiungi al wp-config.php
define('WP_CLI_CACHE_DIR', '/tmp/wp-cli-cache');Conclusioni: WP-CLI nel Workflow professionale
WP-CLI non è solo uno strumento tecnico, ma un vero game-changer per chi lavora professionalmente con WordPress. La capacità di automatizzare operazioni ripetitive, gestire multiple installazioni e integrare WordPress in pipeline moderne di sviluppo lo rende indispensabile per agenzie web e sviluppatori seri.
Key Takeaways
- Efficienza: WP-CLI riduce drasticamente i tempi di gestione WordPress
- Scalabilità: Gestire 10 o 100 siti diventa ugualmente semplice
- Automazione: Script personalizzati eliminano lavoro manuale ripetitivo
- Professionalità: Workflow moderni richiedono strumenti da linea di comando
- Integrazione: Si adatta perfettamente a stack DevOps e CI/CD
Prossimi Passi
Per approfondire ulteriormente WP-CLI:
- Pratica costante: Usa WP-CLI quotidianamente anche per operazioni semplici
- Crea script custom: Automatizza i tuoi workflow specifici
- Esplora package: Installa estensioni WP-CLI dalla community
- Contribuisci: Partecipa allo sviluppo open source di WP-CLI
- Documenta: Condividi script e best practices con il tuo team
La documentazione ufficiale su wp-cli.org è costantemente aggiornata e rappresenta un’ottima risorsa per approfondimenti.
Hai bisogno di supporto per implementare WP-CLI nei tuoi progetti? La nostra web agency a Bari è specializzata in sviluppo WordPress professionale e può aiutarti a ottimizzare il tuo workflow. Contattaci per una consulenza personalizzata.
Gestisci e-commerce WooCommerce a Bari? Scopri come posso aiutarti con la realizzazione siti e-commerce professionali ottimizzati per performance e conversioni.


