Glossário

O que é o WP-CLI? A linha de comando do WordPress explicada

5 de agosto de 2026

O WP-CLI é a interface de linha de comando oficial do WordPress. Em vez de clicar pelo wp-admin, você digita comandos em um terminal no servidor: wp core update atualiza o WordPress, wp plugin update --all atualiza todos os plugins, wp db export faz backup do banco de dados, wp search-replace troca um domínio no site inteiro sem corromper dados serializados. O projeto foi iniciado em 2011 por Andrés Cifuentes e Cristi Burcă, hoje é mantido como um projeto oficial do WordPress.org e se tornou a ferramenta padrão por trás da manutenção profissional de WordPress, da automação de hospedagem e de pipelines de deploy. O argumento prático é simples: tudo o que o wp-admin faz, o WP-CLI faz mais rápido, além de uma longa lista de coisas que o wp-admin não faz de jeito nenhum, como verificar arquivos do núcleo contra os checksums oficiais depois de uma suspeita de invasão, consertar um site cujo painel está inacessível por causa de um erro fatal, ou rodar o mesmo script de manutenção em cinquenta sites antes de o seu café esfriar.

O que é o WP-CLI e quem o mantém?

O WP-CLI é uma aplicação PHP que carrega o WordPress no terminal e expõe as funcionalidades dele como comandos. Como ele inicializa a instalação real do WordPress, trabalha com os seus dados reais, os seus plugins instalados e a sua configuração, e não com uma simulação disso. O projeto vive em wp-cli.org e no GitHub, os lançamentos são coordenados com o projeto WordPress, e a referência de comandos no manual para desenvolvedores do WordPress documenta cada comando embutido.

Os requisitos são modestos: acesso SSH ao servidor, PHP na linha de comando e um ambiente do tipo UNIX (Linux, macOS ou Windows via WSL). Esse primeiro requisito é o único porteiro de verdade. Em hospedagem compartilhada sem acesso SSH você não consegue usar o WP-CLI, enquanto a maioria das hospedagens gerenciadas de WordPress não só permite como já o instala.

Como instalar o WP-CLI

Antes de instalar qualquer coisa, verifique se ele já está lá. Em muitas hospedagens, digitar wp --info em uma sessão SSH responde a pergunta. Se não estiver, a instalação é um trabalho de dois minutos, porque o WP-CLI é distribuído como um único arquivo Phar:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

# Verifique a instalação
wp --info

Para desenvolvimento local, você raramente precisa instalá-lo manualmente, já que Local, DDEV, Lando e o oficial wp-env trazem o WP-CLI incluído. Uma vez instalado, os comandos são executados a partir do diretório raiz do WordPress, ou de qualquer lugar usando a flag --path apontando para a instalação.

Comandos essenciais do WP-CLI para o dia a dia

A estrutura do comando é sempre wp, um tópico, um subcomando e opções. Um passeio pelos que sustentam a maior parte da manutenção do mundo real:

# Núcleo: verificar, atualizar, validar
wp core version
wp core update
wp core verify-checksums

# Plugins: listar, instalar, atualizar tudo
wp plugin list
wp plugin install wordpress-seo --activate
wp plugin update --all

# Temas funcionam da mesma forma
wp theme list
wp theme update --all

# Usuários: criar, listar, redefinir uma senha
wp user list
wp user create anna anna@example.com --role=editor
wp user update admin --user_pass="nova-senha-forte"

# Banco de dados: exporte antes de mexer em qualquer coisa
wp db export backup-$(date +%F).sql
wp db size --human-readable

Dois detalhes tornam os comandos de listagem mais úteis do que parecem. Toda listagem aceita filtros e formatos de saída, então wp plugin list --update=available --format=csv te dá um relatório legível por máquina das atualizações pendentes. E o wp core verify-checksums compara cada arquivo do núcleo com os checksums oficiais do WordPress.org, o que transforma a pergunta vaga alguém modificou meus arquivos do núcleo em uma resposta de sim ou não em cinco segundos. É um dos primeiros comandos que vale rodar em qualquer site que você suspeite ter sido comprometido.

Search-replace: o comando que paga a configuração

O recurso que converte a maioria dos céticos é o wp search-replace. Mudar de domínio, migrar de staging para produção ou passar para HTTPS exigem substituir URLs por todo o banco de dados. Fazer isso com SQL puro quebra o WordPress, porque temas, plugins e widgets guardam configurações como dados PHP serializados, onde cada string é prefixada com o próprio comprimento. Substitua http por https em uma string serializada via SQL e o comprimento armazenado deixa de bater, então o WordPress descarta silenciosamente a configuração inteira. O WP-CLI desserializa os dados, substitui o valor, serializa de novo com os comprimentos corretos e grava tudo de volta:

# Dry run primeiro: mostra o que mudaria, não muda nada
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --dry-run

# A execução real, com um relatório por tabela
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --report-changed-only

A flag --dry-run merece um lugar permanente na sua memória muscular. Ela responde o que aconteceria antes que qualquer coisa aconteça, que é exatamente a etapa de confirmação que o resto do WP-CLI não tem.

WP-CLI para manutenção e resolução de problemas

Um punhado de comandos resolve problemas que são genuinamente dolorosos pelo navegador:

  • Painel quebrado depois de uma atualização. Um erro fatal de plugin pode te trancar completamente para fora do wp-admin. O wp plugin deactivate broken-plugin funciona mesmo assim, porque o WP-CLI não precisa que a interface de administração seja renderizada.
  • Inspeção de cron. O wp cron event list mostra cada tarefa agendada com o próximo horário de execução, e o wp cron event run --due-now executa as atrasadas. Depurar o pseudo-cron do WordPress sem isso é adivinhação.
  • Limpeza de transients. O wp transient delete --expired remove transients expirados que incham a tabela de opções em sites mais antigos.
  • Limpeza de cache. O wp cache flush esvazia o cache de objetos, útil depois de deploys quando Redis ou Memcached servem dados velhos.
  • Regras de rewrite. O wp rewrite flush resolve o clássico sintoma de 404 depois de uma migração sem precisar visitar a página de configurações de links permanentes.

Automatizando o WordPress com scripts e aliases do WP-CLI

Como todo comando é passível de script, o WP-CLI transforma a manutenção recorrente em arquivos em vez de memórias. Uma rotina semanal de atualização vira um pequeno shell script: exportar o banco, atualizar núcleo, plugins e temas, verificar checksums, pronto. O mesmo script roda a partir de um cron job ou de um pipeline de CI, e um laço sobre uma lista de caminhos de instalação mantém um portfólio inteiro de sites.

#!/bin/bash
# Manutenção semanal mínima para um site
wp db export ~/backups/backup-$(date +%F).sql
wp core update
wp plugin update --all
wp theme update --all
wp core verify-checksums

Para trabalhar entre ambientes, o WP-CLI suporta aliases em um arquivo wp-cli.yml. Defina @staging e @production com seus dados de SSH uma vez, e então wp @staging plugin list roda remotamente a partir do seu terminal local. Combinado com a flag --ssh, o terminal do seu notebook vira a sala de controle de cada site WordPress que você administra.

Dicas de segurança para o WP-CLI

A eficiência corta dos dois lados: os comandos são executados imediatamente, e não existe desfazer. Alguns hábitos evitam que a ferramenta potente vire um problema potente:

  • Exporte antes de comandos destrutivos. O wp db export custa segundos e transforma um desastre em um inconveniente. Comandos como db reset, site empty e search-replace merecem um a cada vez.
  • Use dry-run onde ele existir. O search-replace tem --dry-run exatamente por essa razão.
  • Não rode como root. O WP-CLI avisa em alto e bom som, porque um processo pertencente ao root executa o código PHP do site com direitos totais de sistema e cria arquivos nos quais o usuário do servidor web não consegue tocar. Rode com o mesmo usuário sob o qual o site roda.
  • Staging primeiro. Qualquer comando que você nunca usou merece estrear em uma cópia, e não em produção.

WP-CLI e InspectWP: achados entram, correções saem

Um relatório do InspectWP te diz o que precisa de atenção em um site WordPress: uma versão desatualizada do núcleo, plugins com atualizações pendentes ou vulnerabilidades conhecidas, temas que ficaram para trás. O WP-CLI é a forma mais rápida de agir exatamente sobre esses achados, já que wp core update e wp plugin update --all resolvem a maior parte deles em menos de um minuto, e o wp core verify-checksums confere a integridade quando um relatório levanta preocupações de segurança. Os dois formam um ciclo natural para quem mantém sites WordPress profissionalmente: relatórios agendados do InspectWP revelam o trabalho, uma sessão de WP-CLI o resolve, e o próximo relatório confirma a correção.

Verifique seu site WordPress agora

O InspectWP analisa seu site WordPress em busca de problemas de segurança, problemas de SEO, conformidade com GDPR e desempenho — gratuitamente.

Analise seu site grátis