O WP-CLI é a linha de comandos do WordPress — e é uma das ferramentas mais poderosas que uma agência pode dominar. Permite fazer em segundos o que demoraria minutos no painel de administração, e permite fazer coisas que simplesmente não são possíveis pelo painel — especialmente quando esse painel está inacessível.
O que é o WP-CLI e como instalar
O WP-CLI é uma ferramenta de linha de comandos para gerir instalações WordPress via SSH. Disponível gratuitamente em wp-cli.org, corre em qualquer servidor Linux/macOS com PHP 7.4+.
Instalação num VPS ou servidor dedicado:
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
Em hostings partilhados com cPanel, muitos já têm WP-CLI disponível via Terminal. Verificar no painel do hosting ou contactar o suporte.
Os comandos essenciais para agências
Core — gestão do WordPress
# Verificar versão actual
wp core version
# Actualizar WordPress core
wp core update
# Verificar integridade dos ficheiros core
wp core verify-checksums
# Fazer downgrade de WordPress (útil em rollback)
wp core update --version=6.4.3 --force
Plugins — updates e gestão em massa
# Listar todos os plugins com versão e estado
wp plugin list
# Actualizar todos os plugins
wp plugin update --all
# Actualizar plugin específico
wp plugin update woocommerce
# Desactivar plugin (sem acesso ao painel)
wp plugin deactivate nome-do-plugin
# Activar todos os plugins
wp plugin activate --all
Temas
# Listar temas instalados
wp theme list
# Activar tema padrão (útil para diagnóstico)
wp theme activate twentytwentyfour
Base de dados — diagnóstico e manutenção
# Optimizar todas as tabelas
wp db optimize
# Reparar base de dados
wp db repair
# Executar query SQL directamente
wp db query "SELECT COUNT(*) FROM wp_posts WHERE post_status='publish'"
# Exportar base de dados
wp db export backup-$(date +%Y%m%d).sql
# Search & Replace (com substituição de URLs na migração)
wp search-replace 'http://antigo.pt' 'https://novo.pt' --all-tables
Utilizadores — gestão de acesso
# Listar utilizadores admins
wp user list --role=administrator
# Criar novo utilizador admin
wp user create novouser email@exemplo.pt --role=administrator --user_pass=password_segura
# Alterar password de utilizador
wp user update 1 --user_pass=nova_password
# Remover 2FA de utilizador bloqueado
wp user meta delete USER_ID two_factor_enabled_providers
Cache — limpeza
# Limpar cache do WordPress
wp cache flush
# Limpar transients da base de dados
wp transient delete --all
Comandos de diagnóstico e recovery
Os comandos mais valiosos do WP-CLI são os que funcionam quando o painel de administração está inacessível:
# Verificar se WordPress está funcional
wp --info
# Desactivar todos os plugins (para diagnóstico de WSOD)
wp plugin deactivate --all
# Ver log de erros recentes
wp db query "SELECT * FROM wp_options WHERE option_name = 'recently_edited'"
# Verificar estado do cron
wp cron event list
# Correr cron manualmente
wp cron event run --due-now
WP-CLI em scripts de manutenção automatizada
O WP-CLI integra com scripts bash para automação de tarefas de manutenção. Um script simples de backup pré-update:
#!/bin/bash
SITE_PATH="/var/www/html/cliente"
BACKUP_PATH="/backups/$(date +%Y%m%d)"
mkdir -p $BACKUP_PATH
# Backup base de dados
wp db export $BACKUP_PATH/db.sql --path=$SITE_PATH
# Backup ficheiros
tar -czf $BACKUP_PATH/files.tar.gz $SITE_PATH/wp-content
# Updates
wp core update --path=$SITE_PATH
wp plugin update --all --path=$SITE_PATH
echo "Update concluído: $(date)"
WP-CLI com acesso a múltiplos sites
O WP-CLI suporta aliases para gerir múltiplos sites facilmente. Criar um ficheiro ~/.wp-cli/config.yml:
@cliente1:
path: /var/www/cliente1
@cliente2:
path: /var/www/cliente2
Depois usar wp @cliente1 plugin update --all sem necessidade de navegar para o directório do site.
Precisa de suporte técnico avançado para sites WordPress?
O nosso suporte WordPress especializado usa WP-CLI para diagnóstico e resolução rápida de problemas em qualquer site.
Contactar suporte técnico