Hospedagem de sites

Ambiente de staging

Definição

Um ambiente de staging, ou de homologação, é uma cópia privada de um site no ar, no mesmo tipo de servidor, que serve para testar atualizações, plugins novos, mudanças de tema ou de configuração antes de aplicá-los ao site real. Ele evita descobrir uma pane ou uma incompatibilidade diretamente na frente dos visitantes.

Ambiente de staging, Hospedagem de sites

Atualizar um plugin direto no site no ar é fazer o teste na frente dos clientes. Um ambiente de staging (ou de homologação) leva esse risco para uma cópia: mesma versão do PHP, mesmos plugins, os mesmos dados ou quase, mas com um endereço próprio e acesso restrito. Se a atualização quebrar uma página, ninguém além de você vê.

Como funciona um ambiente de staging

O ciclo cabe em poucas etapas: copiar o site no ar para o staging, aplicar e testar ali as mudanças e depois reproduzir em produção o que foi aprovado. A cópia precisa ser o mais parecida possível com o original, senão o teste não prova nada: um site de teste com outra versão do PHP ou sem o mesmo cache pode funcionar enquanto a produção vai falhar.

Esquema do ciclo entre staging e produção. É feito um backup da produção. A produção é copiada para o staging, protegido por senha e excluído da indexação, com a troca dos endereços do site no banco. As atualizações e mudanças são aplicadas e testadas ali. Se tudo funcionar, as mesmas mudanças são aplicadas em produção e depois verificadas.
Você copia a produção para o staging, testa ali e depois reproduz em produção as mudanças aprovadas.

Muitas empresas de hospedagem oferecem um staging com um clique. Se não, um plugin de migração ou o WP-CLI resolvem. Na cópia, os endereços do site precisam ser trocados no banco. O comando wp search-replace faz isso tratando os dados serializados do PHP, que uma simples substituição de texto em um export SQL quebraria; a opção --dry-run mostra o que seria alterado sem gravar nada.

Avisar o WordPress de que ele está em staging

Desde o WordPress 5.5, a função wp_get_environment_type() retorna o tipo de ambiente: local, development, staging ou production, sendo este último o valor padrão. Ele é definido pela constante WP_ENVIRONMENT_TYPE no wp-config.php, e alguns plugins a usam para adaptar o comportamento.

define( 'WP_ENVIRONMENT_TYPE', 'staging' );
Vídeo: “Ambiente de Homologação: motivos para você usar - Curso de Boas Práticas” (DANTE TESTA)

No WordPress

  • Proteja o acesso com senha HTTP ou por endereço IP. A opção do WordPress que pede aos mecanismos de busca para não indexar o site não bloqueia ninguém: ela serve sobretudo para evitar a indexação de conteúdo duplicado.
  • Corte tudo o que sai: e-mails para clientes, pagamentos reais, sincronizações com serviços externos e tarefas agendadas pelo cron que poderiam enviar mensagens ou alterar dados remotos.
  • Não copie o banco do staging por cima da produção de um site ativo: pedidos, comentários e cadastros recebidos nesse meio-tempo se perderiam. Prefira reproduzir as mudanças.
  • Teste também a segurança: novo endereço de login, regras do servidor, cabeçalhos. O nosso guia staging no WordPress detalha o método, e o artigo sobre as atualizações automáticas ajuda a decidir o que pode dispensar o staging.
  • Guarde um backup da produção antes de cada publicação, segundo a regra 3-2-1.

Erros comuns

Deixar no ar um staging antigo, nunca atualizado, com as mesmas contas de administrador do site real: é uma segunda porta de entrada, muitas vezes esquecida. Apague as cópias de que você não precisa mais.

Fontes

  1. WordPress Developer Resources: wp_get_environment_type() (link externo, abre em uma nova aba)
  2. WP-CLI Commands: wp search-replace (link externo, abre em uma nova aba)
  3. WordPress.org: WP-CLI (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.