Se você tem ou precisa criar um novo site em WordPress – não importa se você é um desenvolvedor experiente ou um leigo no assunto que gosta de explorar -, certamente tem um “fluxo” de trabalho, ou seja, uma certa metodologia que ajuda a começar e terminar a tarefa do modo mais eficiente possível.

Para quem nunca criou sites antes, esse fluxo vai sendo descoberto conforme a tarefa avança. Para os mais experientes, é algo já quase gravado em pedra e parte da rotina profissional. Seja como for, sempre há o que melhorar nesses processos para que você seja capaz de construir sites no menor tempo possível e com os melhores resultados.

 

O que a maioria faz

Quando a maioria das pessoas se propõe a criar um site do zero, a rotina é mais ou menos assim (talvez não seja o seu caso, mas é o da maioria)

  1. Contratar uma hospedagem
  2. Instalar o WordPress do zero
  3. Configurar tudo, instalar plugins essenciais, otimizar
  4. Escolher o tema a ser usado/customizado ou planejar um novo tema do zero
  5. Colocar o site em modo de “desenvolvimento” para que ninguém veja o site sendo criado ou modificado
  6. Para os mais avançados, instalar o WordPress em localhost e desenvolver no próprio computador, para depois subir a versão terminada para o servidor
  7. Testar e “brigar” com os erros que vão aparecendo

Das tarefas comuns acima, apenas uma ou duas são efetivamente relacionadas ao desenvolvimento do site. Todas as demais estão ligadas a procedimentos chatos, repetitivos e pouco produtivos, como instalar e configurar o WordPress corretamente, resolver problemas de compatibilidade e ficar sincronizando a versão localhost com o servidor para ver se funciona de fato.

Percebe o problema? Ao seguir o método que a maioria segue, você dedica a maior parte do tempo a tarefas que não ajudam em nada a avançar o projeto. Se você precisa mostrar resultados ao cliente, acredite: ele só está interessado no site pronto, não em quantas horas você levou para completar tarefas técnicas. A prova está no que o cliente pode ver, efetivamente, e não no resto. Quanto mais rápido ele puder ver algo, mais satisfeito estará.

 

O problema do localhost

O método de desenvolver localmente, ou seja, instalar um ambiente PHP/MySQL e o WordPress em seu próprio computador – chamado frequentemente de “desenvolver em localhost” – é ainda muito popular entre agências e freelancers. Parece ter lógica: a maioria das pessoas acha mais rápido rodar o WordPress no próprio computador, e isso evita ter de fazer uploads de mídia e outros arquivos o tempo todo para ver como fica no servidor.

Esse método tem vantagens apenas em dois cenários: se sua conexão à Internet é extremamente lenta ou instável, ou se a sua hospedagem é lenta e restritiva. Nesses casos, sem dúvidas desenvolver em localhost é o meio mais rápido de chegar ao primeiro resultado.

Por que digo “primeiro” resultado?

É porque desenvolver em localhost esbarra em uma desvantagem tão grande – e percebida tão frequentemente pelos mais experientes – que torna o processo até 2x mais trabalhoso no fim das contas.

E qual é a grande desvantagem? Simples: o ambiente local de desenvolvimento, no seu computador, é inevitavelmente diferente do ambiente de hospedagem. Mesmo que você faça esforços enormes para contornar isso – como usar a mesma distribuição Linux, mesmas versões de PHP e MySQL, configurações idênticas -, ainda assim esbarrará em diferenças que só aparecem quando seu site efetivamente está online publicamente. Sem contar que a maioria não usa Linux em seus computadores pessoais, claro…

Cada hospedagem funciona de um modo, e em muitos casos as plataformas usam distribuições modificadas para maior desempenho, softwares com licença comercial que você simplesmente não vai ter localmente, etc. Isso sem contar que todo site vai parecer muito rápido em localhost, mas você pode descobrir que a ordem de carregamento de certos scripts torna o site menos eficiente quando está em ambiente de produção (online, na hospedagem), e portanto mais lento para quem acessa.

Em alguns casos, arranjos de plugins e temas simplesmente param de funcionar quando o site é colocado no ambiente final da hospedagem. Imagine desenvolver todo o projeto localmente, tê-lo aprovado pelo cliente, e depois descobrir que o site só funciona no SEU computador? Um pesadelo, sem dúvidas, e quem já viveu tempo suficiente já passou por coisas assim.

 

Por um fluxo de desenvolvimento mais eficiente – sem que isso signifique mais trabalho pra você (pelo contrário)

No momento em que estamos, o conceito de hospedagem WordPress gerenciada já é mais popular entre os profissionais da área, embora ainda seja um “segredo” dos mais produtivos. Isso porque serviços assim geralmente oferecem ferramentas que tornam o processo de criar ou modificar sites algo muito mais simples e rápido.

E, convenhamos: se você puder desenvolver e entregar um projeto de qualidade mais rápido, o custo um pouco maior desse tipo de hospedagem já vale a pena, sobretudo porque você será capaz de atender a mais clientes e equilibrar melhor trabalho e vida.

Vejamos como um fluxo ideal funcionaria. Vamos usar a plataforma BlogLite como exemplo, que sem dúvidas é a que conhecemos melhor :)

1. Ambiente de base

Ao receber um novo cliente, definir como será o projeto e receber o sinal verde, basta criar um novo site. E isso é tão simples quanto escolher o plano adequado e dizer qual a URL do site. O trabalho inicial acaba aqui: o ambiente é entregue já pronto para usar, com WordPress instalado, configurado, com plugins premium e otimizado para alto desempenho. Basta fazer login e usar.

2. Ambiente de desenvolvimento

Aqui é onde tudo fica interessante. Ao invés de criar um ambiente localhost ou modificar o site principal, vamos trabalhar em um ambiente separado, um clone perfeito do site principal. Isso é perfeito para modificações ou refeitura completa de um site, sem afetar o site principal.

Além disso, o ambiente de desenvolvimento (também chamado de “staging area”) vai ser idêntico ao ambiente de produção. O que isso quer dizer? Se funciona no ambiente de testes, funciona em produção. Simples assim. E, com uma infraestrutura de alto desempenho, criar o site online é tão rápido quanto criar em localhost.

Como criar um ambiente de testes/desenvolvimento/staging: método convencional

Essa metodologia não é exatamente nova, é verdade. Entretanto, normalmente são necessárias várias etapas para criar um ambiente de testes que seja um clone do site que já está no ar. Geralmente vai ser preciso:

  • copiar todos os arquivos para uma nova pasta
  • criar um novo banco de dados
  • exportar o banco de dados do site principal
  • importar o banco de dados no site-teste
  • fazer as alterações de conexão do banco de dados no wp-config.php
  • rodar queries para encontrar e substituir as URLs antigas pelas novas no banco de dados de testes
  • fazer login e descobrir que ainda há alguns erros :/
  • quando terminar de desenvolver, fazer todo o processo inverso para aplicar as modificações ao site principal

Esse método funciona, mas é 100% manual. Traz as vantagens de desenvolver no mesmo ambiente usado em produção, mas toma um enorme tempo e cria problemas novos, ao invés de tornar o processo mais eficiente.

Como criar um ambiente de testes/desenvolvimento/staging: método super fácil

Existe um método ultra-simples para criar uma staging area – ou seja, uma área de desenvolvimento separada do site principal e que é um clone dele – sem perder todo esse tempo com tarefas manuais.

Como mencionei antes, em plataformas gerenciadas como a BlogLite isso já faz parte do conjunto de ferramentas que você tem à disposição. No caso, é tão simples quanto clicar 1 vez em um botão:

Ao clicar no botão, todas as tarefas descritas antes também são feitas, mas de modo totalmente automatizado. Em alguns minutos, você terá uma área de testes que é um clone perfeito do site original. Você inclusive vai fazer login nessa área de testes e estar completamente separado do site principal. Qualquer mudança feita aqui não se reflete no site público.

Isso quer dizer que você pode criar um site do zero, fazer modificações ou um redesign completo enquanto os visitantes nem desconfiam disso. Só você tem acesso a essa área de testes, via login.

Você pode trabalhar no site como faria em localhost – fazendo alterações dentro do painel da instalação staging, modificando arquivos remotamente usando um bom editor de códigos com SFTP, etc. Arquivos e banco de dados são totalmente independentes do site em produção.

É importante ressaltar de novo que uma das grandes vantagens disso é poder desenvolver em ambiente idêntico ao de produção, sempre. Isso significa que, quando chegar a hora de aplicar o trabalho feito no site principal, tudo vai funcionar perfeitamente.

3. Ambiente de produção

Terminada a fase de desenvolvimento – o seu cliente inclusive poderá ter acesso à área de staging para ver o trabalho final, mesmo que esteja a quilômetros de você, evitando reuniões presenciais desnecessárias (ao contrário do localhost) -, chegou a hora de colocar tudo no ar.

No método manual, você precisaria fazer todos aqueles passos novamente – copiar tudo para a pasta do site principal, exportar e importar banco de dados, alterar URLs internas, resolver erros, etc. Com o método de 1 clique, entretanto, nada disso é necessário.

Para aplicar as alterações, basta um clique no painel. Em questão de minutos, sem que você precise fazer nada, tudo o que você fez no ambiente de staging será aplicado ao site live e entrará no ar. E vai funcionar perfeitamente, porque estava funcionando no staging. Simples assim!

 

Considerações finais

Ter um fluxo de desenvolvimento inteligente e otimizado pode transformar o modo como você trabalha, para melhor.

Ao usar um ambiente de testes que replica exatamente o ambiente de produção, você elimina chances de erros, incompatibilidades e atrasos na hora de entregar o projeto. Além disso, como tudo pode ser feito com um clique, essa maior eficiência significa menos, e não mais trabalho pra você.

Isso economiza uma quantidade enorme de horas que você pode aplicar em prospectar clientes, entregar mais projetos, ou simplesmente trabalhar um pouco menos – você escolhe :)

Como você usa o ambiente de staging em seu dia a dia? Você tem algum fluxo próprio para entregar projetos? Conte-nos nos comentários!