{"id":19283,"date":"2026-08-16T17:56:47","date_gmt":"2026-08-16T15:56:47","guid":{"rendered":"https:\/\/xlogic.org\/blog\/?p=19283"},"modified":"2026-08-16T18:35:53","modified_gmt":"2026-08-16T16:35:53","slug":"wp-cli-wordpress","status":"publish","type":"post","link":"https:\/\/xlogic.org\/blog\/wp-cli-wordpress.html\/","title":{"rendered":"WP-CLI nel 2026: Guida Completa ai Comandi WordPress da Terminale"},"content":{"rendered":"<p class=\"isSelectedEnd\">Gestire WordPress non significa necessariamente lavorare sempre dal pannello <code dir=\"ltr\">\/wp-admin\/<\/code>.<\/p>\n<p class=\"isSelectedEnd\">Con <strong>WP-CLI<\/strong> \u00e8 possibile amministrare molte funzioni di WordPress direttamente dal terminale: controllare la versione installata, gestire plugin e temi, verificare il database, eseguire backup SQL, avviare WP-Cron, controllare i file del Core e diagnosticare diversi problemi senza utilizzare il browser.<\/p>\n<p class=\"isSelectedEnd\">WP-CLI, l&#8217;interfaccia a riga di comando dedicata a WordPress, mette a disposizione numerosi comandi per amministrare un&#8217;installazione attraverso SSH o terminale.<\/p>\n<p class=\"isSelectedEnd\">Per chi gestisce pi\u00f9 siti o deve effettuare operazioni tecniche, questo strumento pu\u00f2 rendere molte attivit\u00e0 pi\u00f9 rapide e facilmente ripetibili.<\/p>\n<p class=\"isSelectedEnd\">La velocit\u00e0, per\u00f2, richiede attenzione.<\/p>\n<p class=\"isSelectedEnd\">Un comando eseguito sull&#8217;installazione sbagliata o una sostituzione effettuata senza backup pu\u00f2 modificare migliaia di record in pochi secondi.<\/p>\n<p class=\"isSelectedEnd\">In questa guida vedremo quindi non soltanto i principali comandi da terminale, ma soprattutto come utilizzarli con un metodo sicuro.<\/p>\n<h2>In breve: cos&#8217;\u00e8 WP-CLI?<\/h2>\n<p class=\"isSelectedEnd\">Questo strumento permette di gestire WordPress dalla riga di comando.<\/p>\n<p class=\"isSelectedEnd\">Invece di:<\/p>\n<p class=\"isSelectedEnd\"><strong>browser \u2192 wp-admin \u2192 menu \u2192 funzione \u2192 conferma<\/strong><\/p>\n<p class=\"isSelectedEnd\">possiamo, quando appropriato, utilizzare:<\/p>\n<p class=\"isSelectedEnd\"><strong>SSH \u2192 directory WordPress \u2192 comando \u2192 verifica risultato<\/strong><\/p>\n<p class=\"isSelectedEnd\">Ad esempio:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp core version<\/code><\/pre>\n<p class=\"isSelectedEnd\">mostra la versione del Core WordPress associata all&#8217;installazione sulla quale stiamo lavorando.<\/p>\n<p class=\"isSelectedEnd\">Con:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin list<\/code><\/pre>\n<p class=\"isSelectedEnd\">possiamo invece visualizzare i plugin rilevati da WordPress.<\/p>\n<p class=\"isSelectedEnd\">La <a href=\"https:\/\/developer.wordpress.org\/cli\/commands\/\" target=\"_blank\" rel=\"noopener\">documentazione ufficiale dei comandi WP-CLI<\/a> mette a disposizione riferimenti dedicati a Core, plugin, temi, database, cron, utenti, configurazione e molte altre funzioni.<\/p>\n<h2>Perch\u00e9 usare WP-CLI?<\/h2>\n<p class=\"isSelectedEnd\">Il vantaggio principale di WP-CLI non \u00e8 semplicemente quello di sostituire l&#8217;interfaccia grafica.<\/p>\n<p class=\"isSelectedEnd\">Lo strumento diventa particolarmente utile quando dobbiamo:<\/p>\n<ul data-spread=\"false\">\n<li>effettuare controlli rapidamente;<\/li>\n<li>lavorare su un sito che presenta problemi nel backend;<\/li>\n<li>gestire molti plugin;<\/li>\n<li>eseguire operazioni ripetitive;<\/li>\n<li>verificare il Core;<\/li>\n<li>interrogare il database;<\/li>\n<li>eseguire search-replace;<\/li>\n<li>controllare WP-Cron;<\/li>\n<li>gestire WordPress tramite script;<\/li>\n<li>diagnosticare errori.<\/li>\n<\/ul>\n<p class=\"isSelectedEnd\">Se <code dir=\"ltr\">\/wp-admin\/<\/code> non \u00e8 accessibile a causa di un plugin problematico, ad esempio, la CLI pu\u00f2 permettere di disattivarlo dal terminale senza dover necessariamente rinominare manualmente la relativa director<\/p>\n<p>Con WP-CLI puoi gestire dal terminale Core, plugin, temi, utenti, database, WP-Cron, cache, troubleshooting, sicurezza e installazioni Multisite.<\/p>\n<h2>WP-CLI e SSH non sono la stessa cosa<\/h2>\n<p class=\"isSelectedEnd\">I due termini vengono spesso confusi.<\/p>\n<p class=\"isSelectedEnd\"><strong>SSH<\/strong> permette di collegarsi al server tramite terminale.<\/p>\n<p class=\"isSelectedEnd\">La <strong>CLI di WordPress<\/strong> \u00e8 invece uno strumento specifico che viene eseguito all&#8217;interno dell&#8217;ambiente server per interagire con WordPress.<\/p>\n<p class=\"isSelectedEnd\">Il flusso tipico \u00e8 quindi:<\/p>\n<p class=\"isSelectedEnd\"><strong>Computer \u2192 connessione SSH \u2192 server \u2192 directory WordPress \u2192 comando<\/strong><\/p>\n<p class=\"isSelectedEnd\">La disponibilit\u00e0 di SSH e WP-CLI dipende naturalmente dal servizio hosting e dalla configurazione utilizzata.<\/p>\n<h2>Come verificare se WP-CLI \u00e8 disponibile<\/h2>\n<p class=\"isSelectedEnd\">Dopo aver effettuato l&#8217;accesso tramite terminale, possiamo iniziare con:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --info<\/code><\/pre>\n<p class=\"isSelectedEnd\">Il comando mostra informazioni sull&#8217;ambiente della CLI, compresi elementi utili come il binario PHP utilizzato e la versione installata.<\/p>\n<p class=\"isSelectedEnd\">Un altro controllo molto semplice \u00e8:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --version<\/code><\/pre>\n<p class=\"isSelectedEnd\">Successivamente possiamo verificare WordPress:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp core version<\/code><\/pre>\n<p class=\"isSelectedEnd\">Se il comando restituisce la versione del Core, WP-CLI sta individuando l&#8217;installazione sulla quale stiamo lavorando.<\/p>\n<h2>Prima regola: verifica sempre su quale WordPress stai lavorando<\/h2>\n<p class=\"isSelectedEnd\">Questa \u00e8 probabilmente la precauzione pi\u00f9 importante dell&#8217;intera guida.<\/p>\n<p class=\"isSelectedEnd\">Su uno stesso account possono esistere:<\/p>\n<ul data-spread=\"false\">\n<li>sito principale;<\/li>\n<li>staging;<\/li>\n<li>vecchio clone;<\/li>\n<li>sottodominio;<\/li>\n<li>installazione di sviluppo;<\/li>\n<li>pi\u00f9 WordPress indipendenti.<\/li>\n<\/ul>\n<p class=\"isSelectedEnd\">Prima di eseguire un comando che modifica dati, verifica quindi la directory corrente.<\/p>\n<p class=\"isSelectedEnd\">Ad esempio:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">pwd<\/code><\/pre>\n<p class=\"isSelectedEnd\">e:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">ls<\/code><\/pre>\n<p class=\"isSelectedEnd\">possono aiutare a capire dove ci troviamo.<\/p>\n<p class=\"isSelectedEnd\">Possiamo quindi controllare:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp core version<\/code><\/pre>\n<p class=\"isSelectedEnd\">e, quando necessario:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp option get home\r\nwp option get siteurl<\/code><\/pre>\n<p class=\"isSelectedEnd\">Se l&#8217;URL restituito non corrisponde al sito sul quale volevamo intervenire, <strong>non procediamo con comandi distruttivi o modifiche al database<\/strong>.<\/p>\n<p class=\"isSelectedEnd\">\u00c8 inoltre disponibile il parametro globale <code dir=\"ltr\">--path=&lt;path&gt;<\/code> per indicare esplicitamente il percorso dell&#8217;installazione.<\/p>\n<p class=\"isSelectedEnd\">Ad esempio:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --path=\/percorso\/del\/sito core version<\/code><\/pre>\n<h2>Il workflow sicuro prima di qualsiasi comando importante<\/h2>\n<p class=\"isSelectedEnd\">Per operazioni delicate utilizziamo questo principio:<\/p>\n<p class=\"isSelectedEnd\"><strong>Identifica \u2192 Verifica \u2192 Backup \u2192 Anteprima \u2192 Esegui \u2192 Controlla<\/strong><\/p>\n<p class=\"isSelectedEnd\">Non tutti i comandi dispongono di una modalit\u00e0 <code dir=\"ltr\">--dry-run<\/code>, quindi non bisogna aggiungerla automaticamente.<\/p>\n<p class=\"isSelectedEnd\">Quando la funzione esiste, come nel caso di <code dir=\"ltr\">wp search-replace<\/code> o dell&#8217;aggiornamento plugin, permette di visualizzare preventivamente cosa accadrebbe senza applicare le modifiche.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-19289\" src=\"https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2026\/08\/workflow-sicuro-wp-cli-1.webp\" alt=\"Workflow sicuro WP-CLI con verifica backup dry run e controllo\" width=\"1200\" height=\"675\" srcset=\"https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2026\/08\/workflow-sicuro-wp-cli-1.webp 1200w, https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2026\/08\/workflow-sicuro-wp-cli-1-300x169.webp 300w, https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2026\/08\/workflow-sicuro-wp-cli-1-1024x576.webp 1024w, https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2026\/08\/workflow-sicuro-wp-cli-1-768x432.webp 768w, https:\/\/xlogic.org\/blog\/wp-content\/uploads\/2026\/08\/workflow-sicuro-wp-cli-1-640x360.webp 640w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><figcaption>Workflow consigliato: identifica il sito, verifica l&#8217;ambiente, crea un backup, usa il dry run quando disponibile, esegui il comando e controlla il risultato.<\/figcaption><\/figure>\n<h2>Comandi WP-CLI fondamentali<\/h2>\n<p class=\"isSelectedEnd\">Ecco un primo gruppo di comandi utili per una diagnosi iniziale:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --info\r\nwp core version\r\nwp core check-update\r\nwp plugin list\r\nwp theme list\r\nwp user list\r\nwp cron event list\r\nwp db check<\/code><\/pre>\n<p class=\"isSelectedEnd\">Non modificano tutti lo stesso tipo di dati e vanno comunque utilizzati consapevolmente, ma rappresentano una buona base per conoscere lo stato dell&#8217;installazione.<\/p>\n<h2>Gestire WordPress Core da terminale<\/h2>\n<h3>Controllare la versione<\/h3>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp core version<\/code><\/pre>\n<h3>Cercare aggiornamenti<\/h3>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp core check-update<\/code><\/pre>\n<h3>Aggiornare WordPress<\/h3>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp core update<\/code><\/pre>\n<p class=\"isSelectedEnd\">Prima di aggiornare un sito in produzione \u00e8 comunque consigliabile:<\/p>\n<ol start=\"1\" data-spread=\"false\">\n<li>avere un backup recente;<\/li>\n<li>verificare plugin e tema;<\/li>\n<li>utilizzare uno <a href=\"https:\/\/xlogic.org\/blog\/staging-wordpress.html\/\">staging WordPress<\/a> per aggiornamenti importanti;<\/li>\n<li>controllare il sito dopo l&#8217;operazione.<\/li>\n<\/ol>\n<p class=\"isSelectedEnd\">La riga di comando rende pi\u00f9 rapido l&#8217;aggiornamento, ma non rende automaticamente compatibili plugin, tema e codice personalizzato.<\/p>\n<h2>Verificare l&#8217;integrit\u00e0 del Core WordPress<\/h2>\n<p class=\"isSelectedEnd\">Uno dei comandi pi\u00f9 interessanti per troubleshooting e sicurezza \u00e8:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp core verify-checksums<\/code><\/pre>\n<p class=\"isSelectedEnd\">Il comando confronta i file del Core con i checksum ufficiali di WordPress.org. Il comando viene eseguito prima del normale caricamento di WordPress, caratteristica particolarmente utile durante alcune verifiche di integrit\u00e0.<\/p>\n<p class=\"isSelectedEnd\">Se tutto corrisponde, viene restituito un risultato positivo.<\/p>\n<p class=\"isSelectedEnd\">Se invece vengono individuate differenze, bisogna analizzarle.<\/p>\n<p class=\"isSelectedEnd\">Una mancata corrispondenza <strong>non significa automaticamente che il sito sia stato compromesso<\/strong>: potrebbe dipendere anche da file modificati, corrotti o da parametri come versione e locale non corretti.<\/p>\n<p class=\"isSelectedEnd\">In caso di dubbi non cancellare file alla cieca.<\/p>\n<h2>Gestire i plugin da terminale<\/h2>\n<h3>Visualizzare tutti i plugin<\/h3>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin list<\/code><\/pre>\n<p class=\"isSelectedEnd\">Possiamo controllare:<\/p>\n<ul data-spread=\"false\">\n<li>nome;<\/li>\n<li>stato;<\/li>\n<li>versione;<\/li>\n<li>disponibilit\u00e0 di aggiornamenti.<\/li>\n<\/ul>\n<h3>Verificare lo stato di un plugin<\/h3>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin status nome-plugin<\/code><\/pre>\n<h3>Disattivare un plugin<\/h3>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin deactivate nome-plugin<\/code><\/pre>\n<p class=\"isSelectedEnd\">Questo comando pu\u00f2 risultare molto utile durante un troubleshooting se un plugin genera un errore che impedisce di utilizzare normalmente il backend.<\/p>\n<h3>Attivare un plugin<\/h3>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin activate nome-plugin<\/code><\/pre>\n<h3>Controllare prima quali plugin verrebbero aggiornati<\/h3>\n<p class=\"isSelectedEnd\">La documentazione ufficiale di <code dir=\"ltr\">wp plugin update<\/code> prevede l&#8217;opzione <code dir=\"ltr\">--dry-run<\/code>.<\/p>\n<p class=\"isSelectedEnd\">Possiamo quindi utilizzare:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin update --all --dry-run<\/code><\/pre>\n<p class=\"isSelectedEnd\">e soltanto dopo aver verificato il risultato:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin update --all<\/code><\/pre>\n<p class=\"isSelectedEnd\">Su un sito importante o un WooCommerce \u00e8 comunque preferibile provare prima gli aggiornamenti in staging.<\/p>\n<h2>Gestire i temi da terminale<\/h2>\n<p class=\"isSelectedEnd\">Per visualizzare i temi:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp theme list<\/code><\/pre>\n<p class=\"isSelectedEnd\">Per conoscere lo stato di uno specifico tema:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp theme status nome-tema<\/code><\/pre>\n<p class=\"isSelectedEnd\">Per attivarlo:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp theme activate nome-tema<\/code><\/pre>\n<p class=\"isSelectedEnd\">Per aggiornare i temi per i quali \u00e8 disponibile un update:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp theme update --all<\/code><\/pre>\n<p class=\"isSelectedEnd\">Un cambio tema effettuato da terminale modifica comunque il sito reale: non bisogna confondere la facilit\u00e0 del comando con l&#8217;assenza di conseguenze sul frontend.<\/p>\n<h2>Gestire gli utenti WordPress<\/h2>\n<p class=\"isSelectedEnd\">Possiamo ottenere l&#8217;elenco degli utenti con:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp user list<\/code><\/pre>\n<p class=\"isSelectedEnd\">Oppure informazioni relative a uno specifico utente:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp user get nomeutente<\/code><\/pre>\n<p class=\"isSelectedEnd\">La CLI permette anche di creare, modificare ed eliminare utenti, ma queste operazioni devono essere utilizzate con particolare cautela, soprattutto su installazioni con eCommerce, membership o pi\u00f9 amministratori.<\/p>\n<p class=\"isSelectedEnd\">\u00c8 inoltre buona pratica evitare di inserire password sensibili all&#8217;interno di script, cron o file di testo non adeguatamente protetti.<\/p>\n<h2>WP-CLI e database WordPress<\/h2>\n<p class=\"isSelectedEnd\">La gestione del database \u00e8 una delle aree nelle quali WP-CLI risulta particolarmente potente.<\/p>\n<p class=\"isSelectedEnd\">Ed \u00e8 anche una delle aree nelle quali un errore pu\u00f2 avere le conseguenze maggiori.<\/p>\n<p class=\"isSelectedEnd\">Prima di modificare il database:<\/p>\n<p class=\"isSelectedEnd\"><strong>backup prima, comando dopo.<\/strong><\/p>\n<h3>Controllare il database<\/h3>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp db check<\/code><\/pre>\n<h3>Esportare il database<\/h3>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp db export backup-wordpress.sql<\/code><\/pre>\n<p class=\"isSelectedEnd\"><code dir=\"ltr\">wp db export<\/code> utilizza le credenziali definite in <code dir=\"ltr\">wp-config.php<\/code> ed esegue l&#8217;esportazione tramite gli strumenti MySQL previsti dal comando.<\/p>\n<h3>Attenzione a dove salvi il backup SQL<\/h3>\n<p class=\"isSelectedEnd\">Un file SQL pu\u00f2 contenere:<\/p>\n<ul data-spread=\"false\">\n<li>utenti;<\/li>\n<li>email;<\/li>\n<li>configurazioni;<\/li>\n<li>URL;<\/li>\n<li>dati dei plugin;<\/li>\n<li>informazioni riservate.<\/li>\n<\/ul>\n<p class=\"isSelectedEnd\">Evitare quindi di lasciare backup SQL scaricabili pubblicamente nella document root.<\/p>\n<p class=\"isSelectedEnd\">Quando possibile, salvarli in una posizione non raggiungibile dal Web oppure rimuoverli subito dopo aver completato l&#8217;operazione per la quale sono stati creati.<\/p>\n<h2>Ottimizzare il database da terminale<\/h2>\n<p class=\"isSelectedEnd\">Il comando:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp db optimize<\/code><\/pre>\n<p class=\"isSelectedEnd\">esegue l&#8217;ottimizzazione del database attraverso <code dir=\"ltr\">mysqlcheck<\/code> utilizzando le credenziali presenti nel <code dir=\"ltr\">wp-config.php<\/code>.<\/p>\n<p class=\"isSelectedEnd\">Questo non significa per\u00f2 che risolva automaticamente tutti i problemi di prestazioni WordPress.<\/p>\n<p class=\"isSelectedEnd\">Un database lento pu\u00f2 dipendere anche da:<\/p>\n<ul data-spread=\"false\">\n<li>query inefficienti;<\/li>\n<li>tabelle molto grandi;<\/li>\n<li>autoload eccessivo;<\/li>\n<li>plugin;<\/li>\n<li>transient;<\/li>\n<li>indici;<\/li>\n<li>WooCommerce;<\/li>\n<li>risorse server.<\/li>\n<\/ul>\n<p class=\"isSelectedEnd\">L&#8217;ottimizzazione delle tabelle \u00e8 quindi soltanto uno dei possibili interventi.<\/p>\n<h2>Search-replace con WP-CLI<\/h2>\n<p class=\"isSelectedEnd\"><code dir=\"ltr\">wp search-replace<\/code> \u00e8 uno dei comandi pi\u00f9 potenti e utili, soprattutto durante migrazioni, cambi dominio o passaggi da HTTP a HTTPS.<\/p>\n<p class=\"isSelectedEnd\">Ed \u00e8 anche uno dei comandi da non eseguire senza aver controllato attentamente i parametri.<\/p>\n<p class=\"isSelectedEnd\">Supponiamo di dover sostituire:<\/p>\n<p class=\"isSelectedEnd\"><code dir=\"ltr\">https:\/\/vecchio-dominio.it<\/code><\/p>\n<p class=\"isSelectedEnd\">con:<\/p>\n<p class=\"isSelectedEnd\"><code dir=\"ltr\">https:\/\/nuovo-dominio.it<\/code><\/p>\n<p class=\"isSelectedEnd\">Prima eseguiamo un <strong>dry run<\/strong>:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp search-replace 'https:\/\/vecchio-dominio.it' 'https:\/\/nuovo-dominio.it' --all-tables-with-prefix --skip-columns=guid --dry-run<\/code><\/pre>\n<p class=\"isSelectedEnd\">Il parametro <code dir=\"ltr\">--dry-run<\/code> esegue la ricerca e produce il report senza salvare le sostituzioni nel database. Inoltre il comando gestisce i dati PHP serializzati durante il search-replace.<\/p>\n<p class=\"isSelectedEnd\">Soltanto dopo aver controllato attentamente il risultato possiamo valutare l&#8217;esecuzione reale:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp search-replace 'https:\/\/vecchio-dominio.it' 'https:\/\/nuovo-dominio.it' --all-tables-with-prefix --skip-columns=guid<\/code><\/pre>\n<p class=\"isSelectedEnd\">Prima dell&#8217;operazione \u00e8 comunque consigliato creare un export del database.<\/p>\n<h2>Controllare <code dir=\"ltr\">home<\/code> e <code dir=\"ltr\">siteurl<\/code><\/h2>\n<p class=\"isSelectedEnd\">Durante migrazioni o problemi di redirect questi due comandi sono particolarmente utili:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp option get home\r\nwp option get siteurl<\/code><\/pre>\n<p class=\"isSelectedEnd\">Permettono anche di verificare rapidamente che la CLI stia puntando all&#8217;installazione prevista.<\/p>\n<h2>Gestire WP-Cron da terminale<\/h2>\n<p class=\"isSelectedEnd\">Sono disponibili comandi dedicati a WP-Cron.<\/p>\n<p class=\"isSelectedEnd\">Per vedere gli eventi programmati:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp cron event list<\/code><\/pre>\n<p class=\"isSelectedEnd\">Per eseguire gli eventi attualmente scaduti:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp cron event run --due-now<\/code><\/pre>\n<p class=\"isSelectedEnd\">La documentazione ufficiale specifica che <code dir=\"ltr\">--due-now<\/code> esegue gli hook che risultano dovuti in quel momento.<\/p>\n<p class=\"isSelectedEnd\">Pu\u00f2 essere utile per diagnosticare problemi che coinvolgono:<\/p>\n<ul data-spread=\"false\">\n<li>attivit\u00e0 programmate;<\/li>\n<li>WooCommerce;<\/li>\n<li>email;<\/li>\n<li>elaborazioni in background;<\/li>\n<li>plugin che utilizzano WP-Cron.<\/li>\n<\/ul>\n<p class=\"isSelectedEnd\">Non bisogna per\u00f2 eseguire indiscriminatamente tutti gli eventi soltanto perch\u00e9 un sito presenta un problema.<\/p>\n<p class=\"isSelectedEnd\">Prima individuiamo la causa.<\/p>\n<h2>Gestire i transient<\/h2>\n<p class=\"isSelectedEnd\">Per visualizzare i transient:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp transient list<\/code><\/pre>\n<p class=\"isSelectedEnd\">Se vogliamo eliminare <strong>solo quelli scaduti<\/strong>, possiamo utilizzare:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp transient delete --expired<\/code><\/pre>\n<p class=\"isSelectedEnd\">\u00c8 disponibile anche:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp transient delete --all<\/code><\/pre>\n<p class=\"isSelectedEnd\">che elimina tutti i transient.<\/p>\n<p class=\"isSelectedEnd\">Sul sito in produzione preferiamo per\u00f2 l&#8217;intervento meno invasivo necessario.<\/p>\n<p class=\"isSelectedEnd\">Eliminare indiscriminatamente tutti i transient pu\u00f2 costringere WordPress e i plugin a rigenerare dati temporanei e non dovrebbe diventare un&#8217;operazione automatica di troubleshooting.<\/p>\n<h2>Cache WordPress: attenzione a cosa stiamo realmente svuotando<\/h2>\n<p class=\"isSelectedEnd\">Il comando:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp cache flush<\/code><\/pre>\n<p class=\"isSelectedEnd\">esegue il flush della <strong>object cache<\/strong> WordPress. La documentazione ufficiale avverte inoltre che in un multisite con object cache persistente l&#8217;operazione pu\u00f2 coinvolgere la cache di tutti i siti della rete e avere un impatto sulle prestazioni.<\/p>\n<p class=\"isSelectedEnd\">Questo comando <strong>non va confuso automaticamente con il purge della cache pagina di LiteSpeed Cache<\/strong>.<\/p>\n<p class=\"isSelectedEnd\">Sono livelli differenti.<\/p>\n<h2>WP-CLI e LiteSpeed Cache<\/h2>\n<p class=\"isSelectedEnd\">Se il plugin LiteSpeed Cache for WordPress \u00e8 attivo, LiteSpeed mette a disposizione propri comandi da terminale.<\/p>\n<p class=\"isSelectedEnd\">Ad esempio:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp litespeed-purge all<\/code><\/pre>\n<p class=\"isSelectedEnd\">esegue il purge delle cache LSCache relative al sito; la <a href=\"https:\/\/docs.litespeedtech.com\/lscache\/lscwp\/cli\/\" target=\"_blank\" rel=\"noopener\">documentazione ufficiale LiteSpeed sui comandi CLI<\/a> prevede anche purge selettivi per URL, categorie, tag e post ID.<\/p>\n<p class=\"isSelectedEnd\">\u00c8 quindi utile distinguere:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp cache flush<\/code><\/pre>\n<p class=\"isSelectedEnd\"><strong>Object Cache<\/strong><\/p>\n<p class=\"isSelectedEnd\">da:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp litespeed-purge all<\/code><\/pre>\n<p class=\"isSelectedEnd\"><strong>LiteSpeed Cache<\/strong><\/p>\n<p class=\"isSelectedEnd\">La distinzione \u00e8 importante durante il troubleshooting perch\u00e9 \u201csvuotare la cache\u201d pu\u00f2 significare operazioni tecnicamente differenti.<\/p>\n<h2>Modalit\u00e0 manutenzione da terminale<\/h2>\n<p class=\"isSelectedEnd\">Da terminale \u00e8 possibile controllare lo stato della modalit\u00e0 manutenzione:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp maintenance-mode status<\/code><\/pre>\n<p class=\"isSelectedEnd\">Attivarla:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp maintenance-mode activate<\/code><\/pre>\n<p class=\"isSelectedEnd\">e disattivarla:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp maintenance-mode deactivate<\/code><\/pre>\n<p class=\"isSelectedEnd\">Questi comandi fanno parte ufficialmente del gruppo <code dir=\"ltr\">wp maintenance-mode<\/code>.<\/p>\n<p class=\"isSelectedEnd\">Possono risultare utili durante interventi pianificati o per diagnosticare un sito rimasto bloccato in modalit\u00e0 manutenzione.<\/p>\n<h2>WP-CLI quando un plugin provoca un errore PHP<\/h2>\n<p class=\"isSelectedEnd\">Uno scenario tipico \u00e8:<\/p>\n<p class=\"isSelectedEnd\"><strong>aggiornamento plugin \u2192 errore critico \u2192 wp-admin non raggiungibile<\/strong><\/p>\n<p class=\"isSelectedEnd\">Se la CLI riesce ancora a inizializzare WordPress, possiamo controllare:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin list<\/code><\/pre>\n<p class=\"isSelectedEnd\">e disattivare il plugin sospetto:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin deactivate nome-plugin<\/code><\/pre>\n<p class=\"isSelectedEnd\">Se invece il problema si verifica proprio durante il caricamento di un plugin o del tema, sono disponibili parametri globali utili come:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">--skip-plugins<\/code><\/pre>\n<p class=\"isSelectedEnd\">e:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">--skip-themes<\/code><\/pre>\n<p class=\"isSelectedEnd\">Ad esempio:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin list --skip-plugins --skip-themes<\/code><\/pre>\n<p class=\"isSelectedEnd\">La documentazione ufficiale specifica che <code dir=\"ltr\">--skip-plugins<\/code> evita il caricamento dei plugin normali, mentre i <strong>mu-plugin continuano comunque a essere caricati<\/strong>.<\/p>\n<p class=\"isSelectedEnd\">Questo dettaglio \u00e8 importante durante una diagnosi.<\/p>\n<h2>Utilizzare <code dir=\"ltr\">--debug<\/code><\/h2>\n<p class=\"isSelectedEnd\">Quando la CLI restituisce un errore poco chiaro possiamo aumentare le informazioni disponibili con:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --debug core version<\/code><\/pre>\n<p class=\"isSelectedEnd\">oppure applicare <code dir=\"ltr\">--debug<\/code> al comando che stiamo analizzando.<\/p>\n<p class=\"isSelectedEnd\">\u00c8 disponibile il parametro globale <code dir=\"ltr\">--debug<\/code> proprio per mostrare informazioni aggiuntive, inclusi errori PHP e dettagli delle fasi di bootstrap.<\/p>\n<p class=\"isSelectedEnd\">Non significa per\u00f2 che tutte le righe visualizzate siano necessariamente la causa primaria del problema.<\/p>\n<p class=\"isSelectedEnd\">Bisogna distinguere:<\/p>\n<ul data-spread=\"false\">\n<li>warning;<\/li>\n<li>notice;<\/li>\n<li>deprecated;<\/li>\n<li>fatal error;<\/li>\n<li>errore database;<\/li>\n<li>errore della CLI.<\/li>\n<\/ul>\n<h2>WP-CLI utilizza una versione PHP diversa dal sito<\/h2>\n<p class=\"isSelectedEnd\">Questo \u00e8 un problema che pu\u00f2 creare molta confusione.<\/p>\n<p class=\"isSelectedEnd\">Il PHP utilizzato dal sito Web e quello utilizzato dalla shell non devono essere necessariamente lo stesso binario.<\/p>\n<p class=\"isSelectedEnd\">Per controllare l&#8217;ambiente della CLI:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --info<\/code><\/pre>\n<p class=\"isSelectedEnd\">e per verificare PHP della shell:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">php -v<\/code><\/pre>\n<p class=\"isSelectedEnd\">Se la CLI utilizza una versione PHP differente rispetto al sito, un plugin pu\u00f2 funzionare nel browser e generare invece warning o errori dalla CLI, o viceversa.<\/p>\n<p class=\"isSelectedEnd\">Xlogic dispone gi\u00e0 di una guida KB specifica dedicata al problema <a href=\"https:\/\/xlogic.org\/kb\/knowledgebase\/wp-cli-php-binary-version-differs-from-website\/\"><strong>WP-CLI: PHP binary version differs from website<\/strong><\/a>, utile per approfondire questo scenario.<\/p>\n<p class=\"isSelectedEnd\">Non bisogna hardcodare un percorso PHP preso da una guida generica: il percorso del binario dipende dall&#8217;ambiente server.<\/p>\n<h2>\u201cThis does not seem to be a WordPress installation\u201d<\/h2>\n<p class=\"isSelectedEnd\">Un altro errore molto comune compare quando la CLI non trova una valida installazione WordPress nel percorso corrente.<\/p>\n<p class=\"isSelectedEnd\">Prima di fare altro verifica:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">pwd\r\nls<\/code><\/pre>\n<p class=\"isSelectedEnd\">e cerca il percorso corretto dell&#8217;installazione.<\/p>\n<p class=\"isSelectedEnd\">Possiamo quindi utilizzare:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --path=\/percorso\/corretto core version<\/code><\/pre>\n<p class=\"isSelectedEnd\">La KB Xlogic contiene gi\u00e0 diverse guide dedicate agli errori da riga di comando, compresi quelli relativi alla directory dell&#8217;installazione.<\/p>\n<h2>Error establishing a database connection<\/h2>\n<p class=\"isSelectedEnd\">Se la CLI restituisce:<\/p>\n<p class=\"isSelectedEnd\"><code dir=\"ltr\">Error establishing a database connection<\/code><\/p>\n<p class=\"isSelectedEnd\">non significa necessariamente che MySQL sia offline.<\/p>\n<p class=\"isSelectedEnd\">Le cause possono coinvolgere anche:<\/p>\n<ul data-spread=\"false\">\n<li>credenziali in <code dir=\"ltr\">wp-config.php<\/code>;<\/li>\n<li>host database;<\/li>\n<li>database inesistente;<\/li>\n<li>utente MySQL;<\/li>\n<li>permessi;<\/li>\n<li>configurazioni specifiche dell&#8217;ambiente CLI.<\/li>\n<\/ul>\n<p class=\"isSelectedEnd\">Per questo problema Xlogic dispone di una guida dedicata <a href=\"https:\/\/xlogic.org\/kb\/knowledgebase\/wp-cli-error-establishing-database-connection\/\"><strong>WP-CLI Error establishing a database connection<\/strong><\/a>.<\/p>\n<p class=\"isSelectedEnd\">Prima di modificare password o database \u00e8 necessario identificare la causa reale.<\/p>\n<h2>WP-CLI e WordPress Multisite<\/h2>\n<p class=\"isSelectedEnd\">WP-CLI \u00e8 particolarmente utile nelle installazioni Multisite.<\/p>\n<p class=\"isSelectedEnd\">Possiamo, ad esempio, visualizzare i siti della rete:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp site list<\/code><\/pre>\n<p class=\"isSelectedEnd\">Per molti comandi possiamo specificare il sito da utilizzare attraverso:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">--url=https:\/\/esempio.it\/sito\/<\/code><\/pre>\n<p class=\"isSelectedEnd\"><code dir=\"ltr\">--url<\/code> \u00e8 un parametro globale e, in ambiente multisite, permette di indicare il sito target.<\/p>\n<p class=\"isSelectedEnd\">Su una rete multisite la verifica del target diventa ancora pi\u00f9 importante: un comando apparentemente corretto pu\u00f2 essere eseguito sul sito sbagliato se non specifichiamo adeguatamente il contesto.<\/p>\n<h2>I comandi WP-CLI pi\u00f9 utili da ricordare<\/h2>\n<table>\n<tbody>\n<tr>\n<th>Obiettivo<\/th>\n<th>Comando<\/th>\n<\/tr>\n<tr>\n<td>Informazioni ambiente CLI<\/td>\n<td><code dir=\"ltr\">wp --info<\/code><\/td>\n<\/tr>\n<tr>\n<td>Versione WordPress<\/td>\n<td><code dir=\"ltr\">wp core version<\/code><\/td>\n<\/tr>\n<tr>\n<td>Aggiornamenti Core<\/td>\n<td><code dir=\"ltr\">wp core check-update<\/code><\/td>\n<\/tr>\n<tr>\n<td>Integrit\u00e0 Core<\/td>\n<td><code dir=\"ltr\">wp core verify-checksums<\/code><\/td>\n<\/tr>\n<tr>\n<td>Elenco plugin<\/td>\n<td><code dir=\"ltr\">wp plugin list<\/code><\/td>\n<\/tr>\n<tr>\n<td>Anteprima update plugin<\/td>\n<td><code dir=\"ltr\">wp plugin update --all --dry-run<\/code><\/td>\n<\/tr>\n<tr>\n<td>Elenco temi<\/td>\n<td><code dir=\"ltr\">wp theme list<\/code><\/td>\n<\/tr>\n<tr>\n<td>Elenco utenti<\/td>\n<td><code dir=\"ltr\">wp user list<\/code><\/td>\n<\/tr>\n<tr>\n<td>Controllo database<\/td>\n<td><code dir=\"ltr\">wp db check<\/code><\/td>\n<\/tr>\n<tr>\n<td>Backup database<\/td>\n<td><code dir=\"ltr\">wp db export backup.sql<\/code><\/td>\n<\/tr>\n<tr>\n<td>Ottimizzazione database<\/td>\n<td><code dir=\"ltr\">wp db optimize<\/code><\/td>\n<\/tr>\n<tr>\n<td>Eventi WP-Cron<\/td>\n<td><code dir=\"ltr\">wp cron event list<\/code><\/td>\n<\/tr>\n<tr>\n<td>Cron scaduti<\/td>\n<td><code dir=\"ltr\">wp cron event run --due-now<\/code><\/td>\n<\/tr>\n<tr>\n<td>Transient scaduti<\/td>\n<td><code dir=\"ltr\">wp transient delete --expired<\/code><\/td>\n<\/tr>\n<tr>\n<td>Object Cache<\/td>\n<td><code dir=\"ltr\">wp cache flush<\/code><\/td>\n<\/tr>\n<tr>\n<td>LiteSpeed Cache<\/td>\n<td><code dir=\"ltr\">wp litespeed-purge all<\/code><\/td>\n<\/tr>\n<tr>\n<td>Stato manutenzione<\/td>\n<td><code dir=\"ltr\">wp maintenance-mode status<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"isSelectedEnd\">La documentazione ufficiale mantiene il riferimento completo dei comandi disponibili.<\/p>\n<h2>Cosa NON fare con WP-CLI<\/h2>\n<h3>Non eseguire comandi sul sito senza verificarlo<\/h3>\n<p class=\"isSelectedEnd\">Prima controlla percorso, <code dir=\"ltr\">home<\/code> e <code dir=\"ltr\">siteurl<\/code>.<\/p>\n<h3>Non modificare il database senza backup<\/h3>\n<p class=\"isSelectedEnd\">Un search-replace errato pu\u00f2 interessare un numero molto elevato di record.<\/p>\n<h3>Non utilizzare <code dir=\"ltr\">--dry-run<\/code> dove non esiste<\/h3>\n<p class=\"isSelectedEnd\">Ogni comando dispone dei propri parametri. Verifica la documentazione anzich\u00e9 supporre che una determinata opzione sia universale.<\/p>\n<h3>Non lasciare backup SQL pubblicamente accessibili<\/h3>\n<p class=\"isSelectedEnd\">Un dump del database pu\u00f2 contenere informazioni sensibili.<\/p>\n<h3>Non cancellare tutto per \u201cprovare\u201d<\/h3>\n<p class=\"isSelectedEnd\">Transient, cache, plugin e database devono essere gestiti in base alla diagnosi.<\/p>\n<h3>Non eseguire WP-CLI come utente sbagliato soltanto per aggirare i permessi<\/h3>\n<p class=\"isSelectedEnd\">L&#8217;esecuzione con ownership diversa da quella del sito pu\u00f2 creare file con proprietari o permessi non coerenti.<\/p>\n<h3>Non aggiornare un WooCommerce critico alla cieca<\/h3>\n<p class=\"isSelectedEnd\">Prima utilizza backup e staging.<\/p>\n<h2>Un workflow WP-CLI consigliato<\/h2>\n<p class=\"isSelectedEnd\">Per un intervento importante adottiamo questa sequenza:<\/p>\n<p class=\"isSelectedEnd\"><strong>1. Identifica il sito<\/strong><\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">pwd\r\nwp option get home\r\nwp option get siteurl<\/code><\/pre>\n<p class=\"isSelectedEnd\"><strong>2. Controlla l&#8217;ambiente<\/strong><\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --info\r\nwp core version<\/code><\/pre>\n<p class=\"isSelectedEnd\"><strong>3. Controlla plugin e tema<\/strong><\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin list\r\nwp theme list<\/code><\/pre>\n<p class=\"isSelectedEnd\"><strong>4. Crea il backup necessario<\/strong><\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp db export backup-prima-intervento.sql<\/code><\/pre>\n<p class=\"isSelectedEnd\"><strong>5. Esegui un dry run quando disponibile<\/strong><\/p>\n<p class=\"isSelectedEnd\">Ad esempio:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin update --all --dry-run<\/code><\/pre>\n<p class=\"isSelectedEnd\">oppure:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp search-replace 'vecchio' 'nuovo' --dry-run<\/code><\/pre>\n<p class=\"isSelectedEnd\"><strong>6. Applica l&#8217;operazione<\/strong><\/p>\n<p class=\"isSelectedEnd\">Soltanto dopo aver verificato l&#8217;anteprima.<\/p>\n<p class=\"isSelectedEnd\"><strong>7. Controlla il risultato<\/strong><\/p>\n<p class=\"isSelectedEnd\">Backend, frontend, log, database e funzionalit\u00e0 critiche.<\/p>\n<p class=\"isSelectedEnd\">Il comando corretto \u00e8 importante, ma <strong>il metodo con il quale viene utilizzato lo \u00e8 ancora di pi\u00f9<\/strong>.<\/p>\n<h2>WP-CLI su hosting Xlogic<\/h2>\n<p class=\"isSelectedEnd\">La <a href=\"https:\/\/xlogic.org\/kb\/kb-tag\/wp-cli\/\">Knowledge Base Xlogic dedicata a WP-CLI<\/a> include numerose guide tecniche su PHP CLI, database, parametri, package e individuazione dell\u2019installazione.<\/p>\n<p class=\"isSelectedEnd\">Questo articolo ha invece l&#8217;obiettivo di costituire un punto di partenza generale: capire lo strumento, utilizzare i comandi principali e soprattutto adottare un metodo sicuro prima di intervenire su un WordPress in produzione.<\/p>\n<p class=\"isSelectedEnd\">Quando SSH e la CLI sono disponibili sul servizio utilizzato, il terminale pu\u00f2 diventare uno strumento molto efficace per la gestione e il troubleshooting di WordPress. Per un ambiente ottimizzato puoi consultare anche i piani <a href=\"https:\/\/xlogic.org\/hosting-wordpress\/\">Hosting WordPress Xlogic<\/a>.<\/p>\n<h2>Domande frequenti su WP-CLI<\/h2>\n<h3>Cos&#8217;\u00e8 WP-CLI?<\/h3>\n<p class=\"isSelectedEnd\">\u00c8 l&#8217;interfaccia a riga di comando per WordPress e permette di gestire numerose funzioni del CMS dal terminale senza utilizzare necessariamente il pannello di amministrazione.<\/p>\n<h3>WP-CLI \u00e8 uguale a SSH?<\/h3>\n<p class=\"isSelectedEnd\">No. SSH permette di collegarsi al server, mentre la CLI \u00e8 uno strumento specifico per amministrare WordPress dalla riga di comando.<\/p>\n<h3>Come verifico se WP-CLI \u00e8 installato?<\/h3>\n<p class=\"isSelectedEnd\">Puoi utilizzare:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --info<\/code><\/pre>\n<p class=\"isSelectedEnd\">oppure:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp --version<\/code><\/pre>\n<h3>Posso aggiornare i plugin con WP-CLI?<\/h3>\n<p class=\"isSelectedEnd\">S\u00ec. Ad esempio:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp plugin update --all<\/code><\/pre>\n<p class=\"isSelectedEnd\">La funzione supporta anche <code dir=\"ltr\">--dry-run<\/code> per visualizzare preventivamente i plugin che verrebbero aggiornati.<\/p>\n<h3>Posso creare un backup del database con WP-CLI?<\/h3>\n<p class=\"isSelectedEnd\">S\u00ec:<\/p>\n<pre dir=\"ltr\"><code dir=\"ltr\">wp db export backup.sql<\/code><\/pre>\n<p class=\"isSelectedEnd\">\u00c8 importante conservare il file SQL in un&#8217;area sicura e non lasciarlo pubblicamente scaricabile.<\/p>\n<h3>WP-CLI gestisce correttamente i dati serializzati durante un search-replace?<\/h3>\n<p class=\"isSelectedEnd\">Il comando ufficiale <code dir=\"ltr\">wp search-replace<\/code> gestisce i dati PHP serializzati durante l&#8217;operazione e dispone dell&#8217;opzione <code dir=\"ltr\">--dry-run<\/code> per effettuare un&#8217;anteprima.<\/p>\n<h3><code dir=\"ltr\">wp cache flush<\/code> svuota LiteSpeed Cache?<\/h3>\n<p class=\"isSelectedEnd\">Non necessariamente. <code dir=\"ltr\">wp cache flush<\/code> riguarda l&#8217;object cache WordPress, mentre LiteSpeed Cache dispone di propri comandi, tra cui <code dir=\"ltr\">wp litespeed-purge all<\/code>.<\/p>\n<h3>Posso utilizzare WP-CLI se wp-admin non funziona?<\/h3>\n<p class=\"isSelectedEnd\">In molti casi s\u00ec. Se WordPress e l&#8217;ambiente CLI riescono ancora a inizializzarsi, lo strumento pu\u00f2 essere utilizzato per diagnosticare il problema o, ad esempio, disattivare un plugin. In caso di errori durante il bootstrap possono essere utili anche <code dir=\"ltr\">--skip-plugins<\/code>, <code dir=\"ltr\">--skip-themes<\/code> e <code dir=\"ltr\">--debug<\/code>.<\/p>\n<h3>\u00c8 sicuro utilizzare WP-CLI?<\/h3>\n<p class=\"isSelectedEnd\">\u00c8 uno strumento amministrativo potente. La sicurezza dell&#8217;operazione dipende dal comando, dai permessi e dal metodo utilizzato. Prima di interventi importanti \u00e8 opportuno identificare correttamente il sito, creare un backup, utilizzare lo staging quando necessario e verificare l&#8217;output dei comandi.<\/p>\n<h2>Conclusioni<\/h2>\n<p class=\"isSelectedEnd\"><strong>WP-CLI<\/strong> permette di gestire WordPress in modo rapido e preciso direttamente dal terminale.<\/p>\n<p class=\"isSelectedEnd\">Con pochi comandi possiamo controllare Core, plugin, temi, database, utenti, WP-Cron, transient, modalit\u00e0 manutenzione e cache.<\/p>\n<p class=\"isSelectedEnd\">Il vero vantaggio, per\u00f2, non consiste nel digitare pi\u00f9 velocemente ci\u00f2 che potremmo fare dal browser.<\/p>\n<p class=\"isSelectedEnd\">La riga di comando diventa particolarmente utile quando viene inserita in un processo ordinato:<\/p>\n<p class=\"isSelectedEnd\"><strong>Identifica \u2192 Verifica \u2192 Backup \u2192 Anteprima \u2192 Esegui \u2192 Controlla<\/strong><\/p>\n<p class=\"isSelectedEnd\">Prima di ogni operazione importante dobbiamo sapere esattamente:<\/p>\n<ul data-spread=\"false\">\n<li>quale WordPress stiamo modificando;<\/li>\n<li>quale PHP sta utilizzando WP-CLI;<\/li>\n<li>quali dati verranno interessati;<\/li>\n<li>se esiste un backup recente;<\/li>\n<li>se il comando dispone di un dry run;<\/li>\n<li>come verificare il risultato.<\/li>\n<\/ul>\n<p>Utilizzato in questo modo, diventa uno degli strumenti pi\u00f9 efficaci per la gestione tecnica e il troubleshooting di WordPress.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gestire WordPress non significa necessariamente lavorare sempre dal pannello \/wp-admin\/. Con WP-CLI \u00e8 possibile amministrare molte funzioni di WordPress direttamente dal terminale: controllare la versione installata, gestire plugin e temi, verificare il database, eseguire backup SQL, avviare WP-Cron, controllare i file del Core e diagnosticare diversi problemi senza utilizzare il browser. WP-CLI, l&#8217;interfaccia a riga [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":19298,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[5],"tags":[],"class_list":["post-19283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"modified_by":"Team tecnico Xlogic","_links":{"self":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts\/19283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/comments?post=19283"}],"version-history":[{"count":0,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/posts\/19283\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/media\/19298"}],"wp:attachment":[{"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/media?parent=19283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/categories?post=19283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xlogic.org\/blog\/wp-json\/wp\/v2\/tags?post=19283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}