Salta al contenuto principale
Sistemi Attivi
WP Planet — WordPress Cloud & Managed Services
Torna al MagazineSviluppo

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

05 Nov 2026 — 15:20 9 min di lettura
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:

Terminale
# 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 list
Nota: Se l'hosting non ti dà accesso SSH, WP-CLI non è utilizzabile direttamente. In quel caso un hosting gestito con SSH + WP-CLI preinstallato è la differenza tra gestire un sito e subirlo. Su WP Planet Cloud Hosting è incluso di default.

Aggiornamenti 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:

Terminale
# 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-problematico
Nota: Su un sito in produzione, prima di un aggiornamento massivo fai sempre un backup con wp db export e testa su staging. Un singolo plugin incompatibile può mandare in fatal error l'intero sito. L'aggiornamento controllato in staging è la prassi, non l'opzione.

Ricerca 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:

Terminale
# 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).sql
Nota: Lo skip-columns=guid evita di sostituire nei GUID dei post, che WordPress usa come identificativi univoci e non dovrebbero cambiare nemmeno dopo una migrazione di dominio. Il dry-run è obbligatorio prima di un replace su produzione: ti mostra quante righe cambieranno e dove, senza toccare nulla.

Esportare 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:

Terminale
# 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 --force
Nota: wp media regenerate su siti con migliaia di immagini può durare parecchi minuti e caricare la CPU. Lancialo di notte o in un momento di basso traffico. Lo stesso vale per wp import su file WXR grandi: meglio farlo in staging e poi migrare con un singolo dump del database.

Automazioni: 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:

Terminale
#!/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'
Nota: Questo è lo scheletro di ciò che un piano di manutenzione gestito fa ogni settimana: backup, aggiornamento in staging, verifica automatica, e solo dopo il via libera, rilascio in produzione. Il rollback è sempre a un comando di distanza.

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.

Sviluppo WordPress

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.

Sviluppo WordPress
Condividi