WP-CLI è uno strumento da riga di comando per gli sviluppatori e i manutentori di siti web WordPress, che permette di gestire attività comuni (e non così comuni!) come aggiungere o rimuovere utenti, articoli, categorie, nonché fare ricerche e sostituzioni nel database… Il tutto in modo mirato o massivo a seconda delle proprie esigenze.
È un progetto stabile che ha quasi dieci anni di sviluppo alla spalle e il cui codice sorgente viene ospitato, come tanti altri software open source tra cui lo stesso WordPress, presso la piattaforma GitHub.
La WP-CLI è uno strumento a cui i professionisti del web non dovrebbero rinunciare, per cui andremo a capire come installarlo e usarlo.
Requisiti per l’installazione di WP-CLI
Vediamo prima di tutto quali sono i requisiti di sistema per poter installare la WP-CLI:
- Ambiente UNIX-like (OS X, Linux, FreeBSD, Cygwin)
- PHP > 5.6
- WordPress >= 3.7, tenendo comunque conto che al crescere della versione di WordPress aumentano le funzionalità disponibili
Come installare WP-CLI
Per installare WP-CLI è bene fare sempre riferimento al sito ufficiale, e quella che riportiamo di seguito è la procedura al termine del 2021:
Scarichiamo il file eseguibile:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Verifichiamo l’integrità:
php wp-cli.phar --info
Diamo permessi di esecuzione:
chmod +x wp-cli.phar
Spostiamo in una cartella standard per gli eseguibili del sistema operativo:
sudo mv wp-cli.phar /usr/local/bin/wp
Verifichiamo che sia andato tutto a buon fine con un comando generico, che restituisce la versione di WP-CLI e altri dettagli dell’installazione:
wp --info
In seguito, se volessimo fare un aggiornamento, sarà sufficiente lanciare:
wp cli update
Una volta installato, possiamo recarci nella cartella che ospita un sito WordPress e cominciare a lanciare comandi per tutte le operazioni di cui abbiamo bisogno.
È bene tenere presente che i comandi sono sempre riferiti all’installazione della cartella corrente (con la possibilità di operare anche su WordPress “multi-site”, dove in un’unica cartella convivono più siti con gli stessi file) e se la CLI rilevasse che non c’è un’installazione WordPress nella posizione del file system dove ci troviamo, lancerà un errore.
Sintassi generale
WP-CLI è un classico strumento da terminale: i comandi iniziano sempre con “wp” seguito da un comando e da un sottocomando, a loro volta seguiti da parametri obbligatori e facoltativi, con o senza valori.
La sintassi generale è quindi di questo tipo:
wp command subcommand requiredparam --optionalparam1 --optionalparam2=value
Comandi CLI più comuni
Ci sono diversi comandi CLI che non solo sono piuttosto comuni, ma che dovresti assolutamente conoscere per sfruttare al meglio questo strumento.
Installare e attivare un tema
In questo caso installiamo e attiviamo Twenty Twenty-One, l’attuale tema di default, che potremmo non avere ancora a disposizione se il nostro WordPress è un po’ datato:
wp theme install twentytwentyone --activate
Installare WordPress
Si può usare WP-CLI per configurare ambienti di test, il cui primo passo è un’installazione “vanilla”, un WordPress standard senza fronzoli:
wp core download
wp core config --dbname=mydbname --dbuser=mydbuser --dbpass=mydbpass --dbhost=localhost --dbprefix=whebfubwef_ --extra-php <<PHP
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
wp db create
wp core install --url=http://siteurl.com --title=SiteTitle --admin_user=username --admin_password=mypassword --admin_email=my@email.com
Vediamo cosa abbiamo fatto nel dettaglio…
Con il primo comando, la versione più recente di WordPress viene scaricata.
Il secondo comando imposta il file di configurazione con l’accesso al database e alcune righe di PHP aggiuntive alla fine. In questo caso, le costanti aggiuntive assicurano che le nostre opzioni di debug siano attive per l’ambiente di test.
Il terzo comando crea il database (WP-CLI utilizza le informazioni di accesso al database dal file di configurazione) e infine installiamo WordPress utilizzando un paio di parametri.
Reinstallare il core di WordPress
Possiamo anche reinstallare il core di WordPress usando WP-CLI, se per qualche ragione temiamo che la nostra installazione sia corrotta. Il seguente comando, infatti, scaricherà il core di WordPress senza i temi e i plugin predefiniti.
wp core download --skip-content --force
Cambiare l’URL di WordPress
Ci sono molte ragioni per cui potresti aver bisogno di cambiare il tuo URL di WordPress. Forse stai cambiando dominio, passando a un sottodominio, aggiornando da www a non www, spostando file o persino migrando da HTTP a HTTPS. In ogni caso, puoi usare facilmente il comando di aggiornamento delle opzioni WordPress:
wp option update home 'http://example.com'
wp option update siteurl 'http://example.com'
Ottenere un elenco dei plugin
Per ottenere un elenco dei plugin attualmente installati su un sito è sufficiente utilizzare il seguente comando: vedremo la lista, lo status (attivo / disattivo), la disponibilità di update e la versione corrente.
wp plugin list
Installare plugin
Per installare più plugin puoi semplicemente “accumulare” parametri uno dopo l’altro. Ecco un esempio che scarica e attiva 3 plugin:
plugin wp installa advanced-custom-fields jetpack ninja-forms --activate
Nota che i nomi dei plugin derivano dal loro nome (slug) nel repository. Il modo più semplice per capirlo è visitare la loro pagina e guardare l’URL.
Se necessario, puoi anche installare versioni precedenti dei plugin di WordPress con l’attributo –version.
wp plugin install wordpress-seo --version=4.8 --activate
Ancora più interessante: puoi installare plug-in da file su un qualunque server remoto, non solo dal repository ufficiale. Questo è particolarmente utile se stai sviluppando un plug-in o utilizzando un plug-in premium.
Disattiva più plugin… o tutti i plugin
Per disattivare un singolo plugin puoi eseguire il seguente comando.
wp plugin deactivate wordpress-seo
Per disattivare tutti i tuoi plugin contemporaneamente, invece:
wp plugin deactivate --all
Quest’ultimo può essere utile se stai risolvendo problemi di compatibilità e devi semplicemente disattivare tutti i plugin in un colpo solo. Puoi quindi tornare indietro e abilitarli uno per uno, testando cosa succede mentre procedi.
Aggiornare plugin
Puoi anche aggiornare manualmente i plugin di WordPress. Ad esempio:
wp plugin update wordpress-seo
Cercare e sostituire nel database
Uno dei motivi principali per cui è difficile migrare un sito semplicemente “copiando e incollando” è che il database WP contiene array serializzati, dove oltre al dato “nudo e crudo” abbiamo anche la lunghezza di quel dato. Quindi, ad esempio, se ti limiti a sostituire tutte le istanze di http://testsite.com con http://livewebsite.com, i tuoi array serializzati non avranno più senso perché il conteggio dei caratteri nelle stringhe non corrisponderà.
Il comando search-replace prima deserializza gli array, quindi esegue la ricerca e sostituzione, e infine riserializza il tutto. Anche questo si può fare con un semplice comando:
wp search-replace vecchia_stringa nuova_stringa
Parametri aggiuntivi ti consentono di fare molto di più, compresa l’anteprima di ciò che verrà sostituito utilizzando il flag –dry-run.
Va detto che il “search-replace” da CLI spesso è solo un primo passaggio, in quanto i contenuti creati con specifici editor grafici – come BeTheme o Elementor – richiedono plugin specifici per la sostituzione URL, in quanto in quei casi i dati non sono semplicemente serializzati.
Prova Hosting4Agency su un sito a tua scelta per 30 giorni e confronta le prestazioni prima/dopo il periodo di prova!
WP-CLI: Riepilogo
Come hai potuto notare, i comandi WP-CLI sono davvero numerosi, perciò conoscere ognuno di essi e saperli sfruttare a dovere non è affatto qualcosa che si apprende da un giorno all’altro.
In Hosting 4 Agency abbiamo accumulato anni di esperienza quotidiana nell’uso della WP-CLI, al punto che tutti gli script di attivazione e manutenzione periodica che usiamo sui nostri siti WordPress usano questa tecnologia, permettendoci di mantenere aggiornata e sicura in modo quasi automatizzato (ma senza rinunciare all’occhio umano che controlla) la nostra infrastruttura di Managed Hosting.
Inoltre, possiamo rendere disponibile WP-CLI ai nostri clienti che hanno scelto la formula della macchina virtuale (Virtual Private Server).
Basterà accedere alla propria macchina con una connessione SSH e WP-CLI sarà già disponibile e aggiornata, con la possibilità di ricevere supporto dal team di Hosting 4 Agency.
Se anche tu desideri che lo strumento WP-CLI, così come tutti i servizi per l’ottimizzazione dei siti web, affidati ad un team di professionisti. Contattaci ora.
Ci assicuriamo ogni giorno che i tuoi siti web siano sempre veloci, protetti e aggiornati. Liberati dallo stress delle scadenze e degli aggiornamenti, scegli Hosting 4 Agency, il tuo partner per il reseller di Hosting WordPress.
Pronto a dominare il tuo sito WordPress con WP-CLI? Contattaci subito e affidati a noi per diventare il comandante supremo del tuo universo digitale!