Base de Conhecimento

WP-CLI: como gerenciar o WordPress pelo terminal

  • wp-cli, wordpress, terminal, plugins, search-replace, vps
  • Usuários acharam útil: 0

Aprenda a usar o WP-CLI na VPS: instalar, atualizar o núcleo, plugins e temas, criar usuários, trocar o endereço do site e limpar o cache.

Por Redação Eleven Host · @robson.direitodigital · 1 de novembro de 2026 · 9 min de leitura

Arte da Eleven Host: janela de terminal com o título: WP-CLI: como gerenciar o WordPress pelo terminal

Capa da Redação Eleven Host para o guia: WP-CLI: como gerenciar o WordPress pelo terminal Arte: Eleven Host

O WP-CLI é a ferramenta de linha de comando do WordPress: com ela você atualiza o núcleo, plugins e temas, cria usuários e mexe no banco pelo terminal da VPS, sem abrir o painel no navegador.

Neste guia você vê como instalar, por que não rodar como root e quais comandos cuidam do núcleo, dos plugins, dos usuários e do endereço do site. Se a VPS ainda é novidade para você, comece pelo guia O que é servidor VPS: guia simples para iniciantes. Os comandos abaixo seguem a documentação oficial do WP-CLI; onde o exemplo é montado por nós com as opções documentadas, o texto avisa.

O que é o WP-CLI e quando vale usar

Segundo o handbook, o WP-CLI não tem requisitos além dos do próprio WordPress. Cada tarefa vira um comando, e isso ajuda em três situações:

  • Tarefas repetidas: atualizar plugins de um site é um comando só, em vez de clicar plugin por plugin.
  • Plugin com problema: você pode listar e desativar plugins pelo terminal.
  • Troca de endereço: o search-replace procura e troca texto em várias tabelas do banco, o que é difícil de fazer à mão.

Comandos do WP-CLI podem alterar dados do site. Antes de um comando que altera dados, faça uma cópia do banco com wp db export.

Como instalar o WP-CLI

O handbook de instalação pede PHP 7.2.24 ou mais novo. Confira a versão que a sua VPS tem com este comando:

php --version

Depois, o handbook manda baixar o arquivo wp-cli.phar com wget ou curl. Estes são os passos da página, na ordem:

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

Segundo a página, é preciso tornar o arquivo executável e movê-lo para algum lugar do PATH. Se quiser entender melhor as permissões, veja o guia chmod: como mudar permissões de arquivos na VPS.

Para conferir a instalação e, mais tarde, atualizar o próprio WP-CLI:

wp --info

wp cli update

Segundo o handbook, se o WP-CLI pertence ao root, a atualização pode exigir sudo wp cli update.

Não rode o WP-CLI como root

Ao usar o WP-CLI como root, você pode receber a mensagem "Error: YIKES! It looks like you're running this as root.". A página de problemas comuns do handbook explica o motivo com estas frases:

  • "Running WP-CLI as root is extremely dangerous."
  • Quando você executa o WP-CLI como root, o código dentro do WordPress, inclusive plugins e temas de terceiros, passa a ter privilégios totais sobre o servidor inteiro.
  • Isso pode permitir que um código malicioso comprometa o servidor.
  • O projeto WP-CLI desencoraja fortemente rodar como root.

Nossa orientação: entre na VPS com o usuário dono dos arquivos do site e rode os comandos por ele.

O WP-CLI precisa saber onde está o WordPress. Se o terminal não estiver na pasta do site, indique o caminho com a opção global --path, que segundo o handbook é o caminho para os arquivos do WordPress. Este exemplo é montado com a opção documentada:

wp --path=/var/www/exemplo core version

Núcleo do WordPress: versão, atualização e checksums

Para ver a versão instalada, use wp core version. Para atualizar para a versão mais nova, use wp core update, que segundo a documentação atualiza o WordPress para a última versão por padrão:

wp core version

wp core update

wp core verify-checksums

A opção --minor faz só atualizações de versões menores (por exemplo, da 4.3 para a 4.3.3 em vez da 4.4.2). Antes de atualizar, faça um backup do banco, como mostra a seção sobre o endereço do site.

Se aparecer "Error: Another update is currently in progress.", a documentação diz que pode ser preciso rodar wp option delete core_updater.lock, mas só depois de verificar que outra atualização não está de fato em andamento.

O wp core verify-checksums baixa os checksums md5 da versão atual no WordPress.org e compara com os arquivos instalados. Por segurança, ele evita carregar o WordPress durante a verificação.

VPS a partir de R$ 17,00/mês no Plano Bronze; confira na loja o que cada plano inclui. Está escolhendo uma VPS? Conhecer a VPS

Plugins e temas pelo terminal

O wp plugin list lista os plugins, e a opção --status filtra pelo estado: active, active-network, dropin, inactive ou must-use. A opção --format escolhe o formato da saída, como json ou csv:

wp plugin list

wp plugin list --status=active --format=json

wp theme list --status=inactive --format=csv

O wp plugin install instala plugins, e a opção --activate ativa o plugin logo depois. O wp plugin deactivate desativa um ou mais plugins. Os nomes abaixo são exemplos:

wp plugin install wordpress-seo --activate

wp plugin deactivate hello

Para atualizar, o wp plugin update atualiza um ou mais plugins, e a opção --all atualiza os que têm atualização. Há também a --dry-run, que mostra quais plugins seriam atualizados, e a --exclude, que recebe uma lista de nomes separados por vírgula para ficarem de fora. O exemplo com --dry-run é montado com as opções documentadas:

wp plugin update --all --dry-run

wp plugin update --all

Se um plugin está quebrando o site e o painel não abre, a opção --all do wp plugin deactivate desativa os plugins de uma vez. Para temas, o wp theme activate ativa um deles, como em wp theme activate twentysixteen.

Usuários: listar, criar e trocar senha

O wp user list lista os usuários, e a opção --role mostra só os de um papel. O wp user create cria um usuário novo, com --role para definir o papel. Os dois exemplos abaixo vêm da documentação:

wp user list --role=administrator --format=csv

wp user create bob bob@example.com --role=author

Na criação, a opção --user_pass define a senha; se você não a informar, segundo a documentação a senha é gerada de forma aleatória. Para trocar a senha de um usuário que já existe, use o wp user update com a mesma opção. A opção --skip-email evita o envio do e-mail de aviso ao usuário. Este exemplo é montado por nós com as opções documentadas:

wp user update bob --user_pass=minha-senha-nova --skip-email

Uma dica nossa, que não vem da documentação: uma senha escrita dentro do comando fica registrada no histórico do shell. Depois de usar, apague a linha do histórico ou prefira deixar o WP-CLI gerar a senha na criação do usuário.

Trocar o endereço do site com option e search-replace

O endereço do site fica em opções do WordPress. O wp option get mostra o valor de uma opção, e o wp option update muda o valor. Faça antes o backup com wp db export, mostrado mais adiante. Os exemplos abaixo, com siteurl e home, são montados com as opções documentadas:

wp option get home

wp option get siteurl

wp option update home 'https://exemplo.com'

wp option update siteurl 'https://exemplo.com'

Para trocar também os endereços gravados dentro de posts e outras tabelas, existe o wp search-replace, que segundo a documentação procura em todas as linhas de uma seleção de tabelas e troca as ocorrências da primeira string pela segunda. Ele trata de forma inteligente os dados serializados do PHP, não altera valores de chave primária e ignora tabelas sem chave primária.

Faça primeiro o backup do banco. O wp db export exporta o banco para um arquivo, usando o mysqldump com as credenciais do wp-config.php. Se precisar levar o arquivo para outra máquina, veja o guia scp: como copiar arquivos para a VPS pelo terminal.

wp db export backup.sql

Depois rode o search-replace com a opção --dry-run, que executa a operação inteira e mostra o relatório, mas não grava as mudanças no banco. O exemplo abaixo é montado com as opções documentadas:

wp search-replace 'http://exemplo.com' 'https://exemplo.com' --skip-columns=guid --dry-run

A opção --skip-columns evita a troca em colunas específicas; o exemplo da documentação a usa com a coluna guid. Se o relatório estiver como você espera, rode de novo sem o --dry-run:

wp search-replace 'http://exemplo.com' 'https://exemplo.com' --skip-columns=guid

Se algo sair errado, o wp db import lê um arquivo SQL e o aplica ao banco, por exemplo wp db import backup.sql. A documentação diz que ele não cria o banco por conta própria e faz apenas as tarefas definidas no SQL.

Cache, links permanentes e modo de manutenção

O wp cache flush limpa o cache de objetos. A documentação avisa para ter cuidado com o impacto no desempenho ao limpar o cache de objetos em produção, então prefira um momento de pouco acesso ao site.

wp cache flush

O wp rewrite flush refaz as regras de links permanentes, a partir dos tipos de conteúdo registrados. Com a opção --hard, ele atualiza também as regras do .htaccess, mas só funciona em instalações de site único. Segundo a documentação, para regerar o .htaccess é preciso adicionar o módulo mod_rewrite ao wp-cli.yml ou ao config.yml. Se precisar editar esse arquivo, veja o guia Editor nano: como editar arquivos na VPS pelo terminal.

wp rewrite flush

wp rewrite flush --hard

Por fim, o wp maintenance-mode liga, desliga ou consulta o modo de manutenção do site. Os subcomandos são activate, deactivate, status e is-active:

wp maintenance-mode activate

wp maintenance-mode deactivate

Checklist do WP-CLI

  • Confira o PHP com php --version: o handbook pede 7.2.24 ou mais novo.
  • Rode o WP-CLI com o usuário dono dos arquivos do site, e não como root.
  • Fora da pasta do site, use --path para indicar onde está o WordPress.
  • Faça wp db export antes de atualizar ou trocar endereço.
  • Use --dry-run no search-replace e no plugin update antes de aplicar.
  • Rode o wp core verify-checksums para comparar o núcleo com o WordPress.org.
  • Evite escrever senha no comando sem apagar o histórico do shell depois.
  • Use wp cache flush com cuidado em produção.

Ainda não tem um domínio? Registre o seu na Eleven Host. Registrar domínio

Perguntas frequentes

O que é o WP-CLI?

É a ferramenta de linha de comando do WordPress. Com ela você atualiza o núcleo, plugins e temas, cria usuários e mexe no banco pelo terminal.

Qual a versão do PHP exigida pelo WP-CLI?

Segundo o handbook de instalação, o WP-CLI exige PHP 7.2.24 ou mais novo. Confira a sua versão com php --version.

Posso rodar o WP-CLI como root?

O projeto desencoraja fortemente, e a documentação diz que rodar como root é extremamente perigoso, porque o código do WordPress ganha privilégios sobre o servidor inteiro. Use o usuário dono dos arquivos do site.

Como trocar o endereço do site com o WP-CLI?

Faça o backup com wp db export, rode o wp search-replace com --dry-run para ver o relatório e, se estiver correto, rode de novo sem essa opção.

Como atualizar os plugins pelo WP-CLI?

Use wp plugin update --all. Com a opção --dry-run você vê antes quais plugins seriam atualizados.

Esta resposta lhe foi útil?

Artigos Relacionados