Hospedagem de sites

WP-CLI

Definição

O WP-CLI é a interface de linha de comando oficial do WordPress. Em um terminal, muitas vezes via SSH, ela permite fazer quase tudo o que a administração oferece, e mais: instalar e atualizar o núcleo, os plugins e os temas, gerenciar usuários, exportar o banco, trocar endereços ou verificar a integridade dos arquivos.

WP-CLI, Hospedagem de sites

A página oficial do WP-CLI resume: tudo o que você faz na administração do WordPress, você pode fazer pelo terminal. A vantagem não é só a velocidade. Um comando se repete de forma idêntica em dez sites, pode ser gravado em um script, disparado por uma tarefa agendada e funciona mesmo quando a administração está inacessível, por exemplo depois de um plugin que derruba o site.

Instalação

O WP-CLI é um único arquivo PHP empacotado (phar). O guia de instalação oficial indica que ele exige PHP 7.2.24 ou mais recente, sem outros requisitos além dos do WordPress:

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

Depois, wp cli update o atualiza. Muitas empresas de hospedagem já o oferecem: experimente wp --info em uma sessão SSH antes de instalá-lo. Execute-o com o usuário dono dos arquivos do site, não como root, para não criar arquivos que o PHP não conseguirá mais alterar.

Os comandos mais úteis

  • wp core update, wp plugin update --all, wp theme update --all: as atualizações, com um relatório por item.
  • wp core verify-checksums e wp plugin verify-checksums --all: comparam os arquivos do núcleo e dos plugins do diretório oficial com as somas de verificação publicadas, para encontrar um arquivo alterado ou acrescentado.
  • wp user list --role=administrator: a lista de administradores, para vigiar depois de um incidente; o nosso artigo sobre as funções e o menor privilégio explica o que fazer com ela.
  • wp db export: uma exportação do banco, a primeira peça de um backup.
  • wp search-replace: troca um endereço no banco inteiro tratando os dados serializados, com --dry-run para conferir antes de gravar. É a ferramenta básica para passar de um ambiente de staging para a produção.
  • wp cron event list e wp cron event run --due-now: ver e executar as tarefas agendadas, útil para substituir o WP-Cron disparado pelas visitas.
Vídeo: “WP-CLI: WordPress na linha de comando!” (Felipe Elia)

No WordPress

  • Diagnosticar uma invasão: a verificação das somas, a lista de administradores e a dos plugins ativos são os primeiros reflexos do nosso guia meu site foi invadido?, e o procedimento para limpar um site invadido usa os mesmos comandos.
  • Desativar um plugin que bloqueia o acesso: wp plugin deactivate nome-do-plugin devolve o controle sem passar pela administração.
  • Automatizar as atualizações e as exportações em um script disparado pelo cron, mantendo um log de cada execução.
  • Acrescentar --skip-plugins e --skip-themes quando o site estiver suspeito ou fora do ar: senão o WP-CLI carrega o código dos plugins, inclusive um eventual código malicioso.

Limites

O WP-CLI age com as permissões do usuário do sistema, e não com as de uma conta do WordPress: quem tem acesso SSH à conta pode alterar tudo. Proteja esse acesso à altura. A verificação das somas não cobre os arquivos da pasta uploads nem os plugins premium que não estão no diretório oficial.

Para saber mais

  • Artigo Meu site WordPress foi invadido? Sinais, verificações e ferramentas
  • Artigo Limpar um site WordPress invadido: o procedimento passo a passo

Fontes

  1. WordPress.org: WP-CLI (link externo, abre em uma nova aba)
  2. WP-CLI Handbook: Installing (link externo, abre em uma nova aba)
  3. WP-CLI Commands: wp search-replace (link externo, abre em uma nova aba)
  4. WP-CLI Commands: wp cron event run (link externo, abre em uma nova aba)

Todas as definições

Segurança WordPress, sem ruído

Um e-mail quando importa: novos ataques observados, atualizações do plugin e guias práticos. Sem spam, cancelamento com um clique.

Comece de graça e mude para o Pro quando estiver pronto

A versão gratuita já oculta o WordPress e muda o endereço da página de login. O Pro acrescenta aliases, verificação em duas etapas e monitoramento.