WP-CLI: como gerenciar o WordPress pelo terminal
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

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-replaceprocura 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
--pathpara indicar onde está o WordPress. - Faça
wp db exportantes de atualizar ou trocar endereço. - Use
--dry-runnosearch-replacee noplugin updateantes de aplicar. - Rode o
wp core verify-checksumspara comparar o núcleo com o WordPress.org. - Evite escrever senha no comando sem apagar o histórico do shell depois.
- Use
wp cache flushcom 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.