Guida completa: cos’è WP-CLI, a cosa serve, come installarlo, configurarlo e utilizzarlo su Windows.
Cos’è WP-CLI
WP-CLI (WordPress Command Line Interface) è uno strumento da riga di comando che permette di gestire un sito WordPress senza utilizzare un browser.
Permette di:
- installare e aggiornare WordPress;
- gestire plugin, temi e utenti;
- eseguire operazioni di ricerca e sostituzione nel database;
- automatizzare attività tramite script.
Sito ufficiale: https://wp-cli.org
Perché usarlo
Vantaggi di WP-CLI:
- Automazione — consente di creare script per operazioni ripetitive o in massa.
- Velocità — lavorare da terminale è più rapido dell’interfaccia grafica.
- Flessibilità — consente la gestione anche senza accesso al pannello di amministrazione.
- Sicurezza — puoi disattivare la dashboard e lavorare solo dalla console.
Requisiti
- PHP 7.4 o superiore (consigliato 8.x)
- WordPress 3.7 o superiore
- PHP CLI deve essere presente nella variabile
PATH - Connessione Internet per scaricare i file
Verifica PHP:
php -v
Installazione di WP-CLI su Windows
1. Scaricare wp-cli.phar
Apri PowerShell ed esegui:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
(Oppure scaricalo manualmente e posizionalo in C:\wp-cli\.)
2. Verificare il funzionamento
php C:\wp-cli\wp-cli.phar --info
Se appare l’informazione sulla versione, WP-CLI funziona correttamente.
3. Creare wp.bat
Crea un file C:\wp-cli\wp.bat con questo contenuto:
@ECHO OFF
php "%~dp0wp-cli.phar" %*
Ora puoi eseguire WP-CLI semplicemente digitando wp.
4. Aggiungere al PATH
Per poter utilizzare wp da qualsiasi cartella:
setx PATH "$($env:PATH);C:\wp-cli" /M
Riavvia PowerShell e verifica:
wp --info
Se funziona, l’installazione è completa.
Alternativa: installazione tramite Composer
composer global require wp-cli/wp-cli
Poi aggiungi il percorso:
%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
Utilizzo di WP-CLI
Esempi di comandi:
Installare WordPress:
wp core download --locale=it_IT
Creare il file wp-config.php:
wp config create --dbname=wordpress --dbuser=root --dbpass=secret
Installare un sito:
wp core install --url="http://localhost" --title="Il Mio Sito" --admin_user=admin --admin_password=1234 --admin_email=test@example.com
Aggiornamenti:
wp core update
wp plugin update --all
Gestione utenti:
wp user create editor editor@example.com --role=editor --user_pass=pass123
Comandi utili
wp plugin list— mostra l’elenco dei plugin installatiwp theme list— mostra i temi installatiwp search-replace "http://vecchio" "https://nuovo"— ricerca e sostituzione massivawp db export/wp db import— backup e ripristino del databasewp shell— apre una shell PHP interattiva
Elenco completo: https://developer.wordpress.org/cli/commands/
Script PowerShell per installazione automatica
Salva questo script come install-wp-cli.ps1 ed eseguilo come amministratore:
$targetDir = "C:\wp-cli"
$pharUrl = "https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar"
$pharPath = "$targetDir\wp-cli.phar"
$batPath = "$targetDir\wp.bat"
Write-Host "Installazione di WP-CLI in corso..." -ForegroundColor Cyan
if (!(Test-Path $targetDir)) {
New-Item -ItemType Directory -Force -Path $targetDir | Out-Null
}
Invoke-WebRequest -Uri $pharUrl -OutFile $pharPath
"@ECHO OFF
php ""%~dp0wp-cli.phar"" %*" | Out-File $batPath -Encoding ASCII
$envPath = [Environment]::GetEnvironmentVariable("Path", "Machine")
if ($envPath -notlike "*$targetDir*") {
[Environment]::SetEnvironmentVariable("Path", "$envPath;$targetDir", "Machine")
Write-Host "✅ Aggiunto $targetDir al PATH (riavvia il terminale)" -ForegroundColor Green
}
php $pharPath --info
Dopo l’esecuzione puoi provare:
wp --info
Consigli
- Esegui PowerShell come amministratore quando modifichi il PATH.
- Per siti remoti usa
--ssh=<utente>@<host>. - In caso di errori SSL aggiungi
--skip-ssl-check. - Fai sempre un backup del database prima di operazioni massicce.
Conclusione
WP-CLI è uno strumento potente per amministratori e sviluppatori WordPress.
Fa risparmiare tempo, automatizza i processi e rende la gestione più sicura ed efficiente.
Autore: hypo69
Licenza: MIT (https://opensource.org/licenses/MIT)