WP-CLI: guia prático para agências WordPress

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