WP-CLI: l'interfaccia a riga di comando che semplifica ogni gestione WordPress

Aggiornare 20 plugin, cercare un post per keyword, sostituire un URL in massa, esportare il database: operazioni che via dashboard diventano ore, via WP-CLI diventano secondi. Guida ai comandi che usiamo davvero.
C'è un momento esatto in cui chi gestisce WordPress scopre WP-CLI e non torna più indietro. Succede quando ti rendi conto che aggiornare 30 plugin da dashboard significa cliccare 30 volte, aspettare 30 caricamenti, e pregare che nessuno vada in timeout a metà — mentre da terminale è una sola riga che dura quattro secondi. Da quel momento la dashboard resta per i contenuti, il terminale diventa la stanza dei bottoni.
WP-CLI è l'interfaccia a riga di comando ufficiale di WordPress. Fa praticamente tutto quello che fai da wp-admin, ma in modo scriptabile, ripetibile e senza l'overhead di una pagina web da renderizzare per ogni operazione. Aggiornamenti, gestione plugin e temi, ricerca nel database, esportazioni, import, gestione utenti, esecuzione di cron — tutto via comando.
Installazione e primo test
Su molti hosting gestiti è già installato. Se non c'è, l'installazione è un singolo file phar:
# Installa WP-CLI (se non già presente)
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
# Verifica
wp --info
# Output atteso: version, PHP version, php-extensions, etc.
# Dalla root del sito WordPress
wp core version
wp plugin list
wp theme listAggiornamenti massivi senza perdere ore
Il caso d'uso più quotidiano. Aggiornare tutti i plugin in un solo comando, con output leggibile e controllo sugli errori. Su un ambiente di staging prima, sempre:
# Aggiorna tutti i plugin
wp plugin update --all
# Aggiorna tutti i temi
wp theme update --all
# Aggiorna il core di WordPress
wp core update
wp core update-db # aggiorna il database se serve
# Vedi cosa c'è da aggiornare senza farlo
wp plugin list --status=upgrade
# Aggiorna un singolo plugin per nome
wp plugin update woocommerce
# Disattiva un plugin che sta creando problemi
wp plugin deactivate plugin-problematicoRicerca e sostituzione nel database (senza plugin)
Una delle operazioni più comuni quando si migra un sito o si cambia dominio: sostituire un URL ovunque nel database — nei contenuti, nei meta, nelle opzioni, nei widget. Farlo a mano è impossibile, con un plugin come Better Search Replace è lento. Con WP-CLI è un comando:
# Sostituisci http://localhost con https://miosito.com ovunque
wp search-replace 'http://localhost:8080' 'https://miosito.com' \
--skip-columns=guid
# Dry-run: mostra cosa cambierebbe senza toccare nulla
wp search-replace 'http://vecchio.com' 'https://nuovo.com' --dry-run
# Sostituisci solo in una tabella specifica
wp search-replace 'vecchio' 'nuovo' wp_posts wp_postmeta
# Esporta il database (backup prima di ogni modifica)
wp db export backup-$(date +%Y%m%d).sqlEsportare contenuti e gestire media
WP-CLI non serve solo per manutenzione. È utile anche per esportare contenuti, rigenerare le immagini (quando cambi le dimensioni dei thumbnail), e gestire i media in massa:
# Rigenera tutte le immagini thumbnail (quando aggiungi nuove dimensioni)
wp media regenerate --yes
# Esporta i contenuti di un tipo post specifico
wp export --post_type=prodotto --dir=/tmp/export/
# Importa un file WXR
wp import /tmp/export/*.xml --authors=create
# Vedi i post più recenti
wp post list --post_type=post --posts_per_page=10 --orderby=date --order=DESC
# Cancella un post via ID
wp post delete 123 --forceAutomazioni: il vero valore di WP-CLI
La parte che fa la differenza non è il singolo comando, è poterli mettere in uno script. Un aggiornamento automatico controllato che fa backup, aggiorna in staging, lancia i test, e solo se tutto passa aggiorna in produzione — si costruisce con WP-CLI in poche righe di bash:
#!/bin/bash
# update-staging.sh — aggiorna staging e verifica
set -e
# Backup prima di tutto
wp db export /backups/staging-$(date +%Y%m%d-%H%M).sql
# Aggiorna plugin e temi
wp plugin update --all --quiet
wp theme update --all --quiet
# Verifica che il sito risponda
status=$(wp eval 'echo http_response_code();' 2>/dev/null || echo 'error')
if [ "$status" != '200' ]; then
echo 'Errore dopo aggiornamento — rollback'
wp db import /backups/staging-latest.sql
exit 1
fi
echo 'Aggiornamento completato senza errori'WP-CLI non sostituisce la dashboard per chi pubblica contenuti. Ma per chi gestisce, aggiorna, migra o fa manutenzione, è lo strumento che trasforma un'ora di lavoro ripetitivo in trenta secondi di terminale. La differenza tra un sito che si gestisce e uno che si subisce, spesso, è proprio questa.
Automazioni, WP-CLI e codice che lavora per te, non contro di te.
Sviluppo WordPress personalizzato: script WP-CLI, automazioni di manutenzione e integrazioni che riducono il lavoro manuale e i margini di errore.
Articoli correlati

Git per WordPress: versionare temi, plugin e configurazioni senza caos
Leggi
REST API WordPress: registrare endpoint custom con register_rest_route e permission_callback
Leggi
