Você sabe quando chegou “lá”: depois de muito trabalho, tentativa e erro, seu site ou blog começou a receber cada vez mais visitantes e passou ao seleto clube dos 100k – os que recebem mais de 100 mil visitantes por mês.
Daí em diante, muita coisa muda: seu faturamento com publicidade aumenta, suas vendas ficam mais frequentes, o formulário de contato fica mais movimentado… e o WordPress começa a ficar lento. Terrivelmente lento.
Antes que a irritação seja mais forte que a sua paciência, saiba que existe uma solução para isso. E é isso o que vamos tratar no artigo de hoje. Então pegue um café, esqueça o Analytics por alguns minutos e me acompanhe nessa jornada.
Existe um mito difícil de vencer…
Você já ouviu isso: “o WordPress não escala”; “o WordPress não é bom para alto tráfego”. São sentenças frequentes… e incorretas.
O seu amigo com um site em HTML feito “na unha” pode comemorar por não ter de lidar com problemas de crescimento de tráfego, mas essa alegria não é maior do que a de ter um WordPress inteiro à sua disposição. E, mesmo que a plataforma mais usada no mundo apresente as suas dificuldades à primeira vista, os benefícios são sempre maiores do que as desvantagens.
Sim, o WordPress escala. Sim, o WordPress pode e é usado por sites com centenas de milhões de visitantes por mês – é exatamente o que a Automattic faz com o WordPress.com. É perfeitamente possível, só que você vai precisar adotar estratégias específicas para esse patamar de tráfego.
Os princípios do WordPress para alto tráfego
Ao preparar o WordPress para receber grande tráfego (ou melhorar o desempenho de uma instalação que já esteja nessa situação), é preciso lidar com as seguintes frentes:
- Infraestrutura de hospedagem
- Tema
- Plugins
- Banco de dados
- Estruturas auxiliares
- Cache de página
- Cache dinâmico
- Segurança
- Modo de usar o site
Cada uma dessas frentes tem um papel importante em casos assim. Juntas, compõe tudo o que pode ser feito para tornar o WordPress eficiente mesmo sob tráfego intenso.
As 3 leis fundamentais do WordPress de alto tráfego
Todas essas frentes são regidas por 3 leis fundamentais:
- Infraestrutura é o 20/80 do alto tráfego
- Tudo o que você faz, por menor que seja, tem consequências drásticas (para bem ou para mal)
- Não se pode usar um WordPress de alto tráfego do mesmo modo que um site comum
Se você entender as 3 leis do alto tráfego, vai estar à frente da maioria dos proprietários de sites que crescem e acabam definhando porque não souberam lidar com isso. Domine este conteúdo e torne seu site à prova de futuro.
Primeira Lei: infraestrutura é o 20/80 do alto tráfego
Não é à toa que essa é a primeira lei, e é muito intuitivo que seja. É fácil imaginar como diferentes serviços de hospedagem produzem diferentes resultados para um mesmo site. Hospedagens comuns (como as compartilhadas, ou todas as baseadas em cPanel, por exemplo) produzem resultados ruins e inconsistentes. Servidores dedicados e VPSs melhoram o cenário, mas são só mais hardware em face de problemas antigos.
Hospedagens gerenciadas e especializadas, no entanto, são o pico da montanha, o Graal, o nível de serviço mais cobiçado por quem trabalha com WordPress e não quer ter de se tornar um administrador de sistemas só para manter o site funcionando corretamente.
Estar nesse nível de serviço significa que há uma equipe especializada em WordPress, à disposição, para ajudar seu site a crescer sem engasgos. Significa também ter acesso a uma hospedagem substancialmente mais rápida e estável que serviços comuns.
É por isso que podemos dizer que a infraestrutura é o 20/80 do alto desempenho. Se você está familiarizado com o Princípio de Pareto, já sabe do que estamos falando: quer dizer, neste caso, que 80% do bom resultado vem de apenas 20% das ações que você tomar diante do problema.
Diante de tantas tarefas e otimizações que precisam ser feitas para que seu WordPress cresça de forma tranquila, a que tem mais resultado individual é usar uma hospedagem especializada em WordPress (nós temos planos que atendem a isso especificamente, inclusive). É migrar e pronto: 80% do problema desaparece – em alguns casos, ainda mais, porque uma hospedagem realmente especializada deve ser capaz de ajudar em todas as tarefas que vamos descrever aqui.
Além disso, o suporte especializado desse tipo de serviço é o diferencial que um projeto desse tipo precisa para garantir que continue crescendo e receba a assessoria necessária para chegar lá.
Considerando isso e o impacto que tem no seu projeto, é fácil entender por que infraestrutura faz parte da primeira lei: você precisa acertar aqui. Todo o resto depende dessa parte ser bem feita.
Segunda Lei: tudo o que você faz tem consequências drásticas
A segunda lei do WordPress de alto tráfego pode ser aprendida por via de princípio ou de descoberta. A maioria chega a ela pela segunda, através de surpresas desagradáveis.
O que essa lei condensa é o princípio de que pequenas ações podem ter consequências drásticas tanto para bem, quanto para mal – um tipo de Efeito Borboleta do mundo WordPress.
Exemplo: seu site recebe 10 mil visitantes por dia e você quer implementar o Google Analytics nele (por quê esperou tanto?). Há duas opções: inserir o código do Analytics no header do tema ou usar uma das centenas de plugins que fazem isso dinamicamente.
Se você coloca o código manualmente, não interfere no funcionamento do site. Se opta por um plugin para facilitar a vida, no entanto, adiciona uma carga desnecessária ao site, inclusive em termos de segurança. Em um site pequeno isso não faz diferença. Já no caso do exemplo, você multiplica o problema por 10 mil todo dia e descobre que o novo plugin deixa o site mais lento pra todo mundo.
Uma pequena ação com resultados dramáticos. Por isso, quando falamos de alto tráfego, certas escolhas são a diferença entre sucesso e fracasso. A mais óbvia já foi tratada antes (hospedagem). O que a maioria demora para considerar, entretanto:
- Será que o tema que eu uso tem um código realmente eficiente? Ele funcionou bem para o site até um certo momento, mas agora tudo está muito lento. É a hora em que você descobre que o tema tem um contador de visualizações embutido que chama o admin-ajax.php toda vez que alguém visita qualquer página do site e escreve isso no banco de dados para contabilizar as visitas por post. De novo: multiplique isso por 10 mil visitantes por dia e você terá um problema real.
- Será que aqueles 3 plugins não podem ser substituídos por apenas 1 que cumpra todas as funções? Isso não é incomum.
- A propósito, será que vários dos seus plugins não poderiam ser substituídos por código customizado – ou mesmo ser abandonados por falta de justificativa verdadeira?
Essa é apenas a ponta do iceberg. No território do alto tráfego, o jogo precisa ser diferente. Tudo o que você faz é multiplicado: plugins ineficientes se tornam muito aparentes, funções muito dinâmicas são capazes de derrubar o servidor, etc.
Outro exemplo conhecido é o dos comentários. Como essa é uma função bastante dinâmica, que envia o conteúdo de um formulário para o banco de dados e invalida o cache daquela página, convém que seja feita por um serviço externo, e não pelo próprio WordPress. É possível fazer isso usando serviços como o Disqus, por exemplo, e terceirizar os comentários. Isso mantém a discussão acontecendo no seu site ou blog, mas sem qualquer impacto para o servidor.
E, de novo, quando você tem um post popular, muito tráfego no mesmo dia e todo mundo querendo comentar… é a diferença entre site no ar ou fora de serviço – que é a mesma diferença entre a celebridade e o naufrágio do site que deu tanto trabalho até ali.
A regra, então, é pensar duas, três, dez vezes antes de implementar qualquer função nova ou alterar qualquer aspecto estrutural do site.
Ah, é claro: a segunda lei também vale para os efeitos positivos. Por exemplo: usar cache de página e otimizar scripts são tarefas que não raro envolvem a instalação de um plugin, mas o resultado disso é a melhoria drástica no tempo de carregamento no site todo. A pequena mudança (ativar um plugin especializado) traz benefícios drásticos e globais.
Terceira Lei: não trate um WordPress de alto tráfego como um site comum
Se você chegou até aqui e leu com atenção, já concorda que um site WordPress de alto tráfego é um “animal” em sua própria categoria. As regras ficam diferentes nesse estágio.
Já cobrimos o papel da infraestrutura e do código nesse cenário. Agora, é hora de falar sobre você.
Sim, o usuário (o administrador, especificamente) tem um papel central na longevidade de um site que recebe muitos visitantes. Vou demonstrar como.
Imagine o seguinte cenário: você tem um site de notícias (muito comum entre nossos clientes de alto tráfego, a propósito) e publica várias vezes por dia. Quando isso é feito, o WordPress invalida o cache da página inicial e constrói o cache da nova notícia a cada visita.
A notícia recém-publicada fica viral (excelente!) e começa a receber milhares de visitantes simultaneamente. Tudo ok até aqui. Agora, você quer atualizar a mesma notícia para incluir um fato novo. O problema é que você se acostumou, a cada publicação, a apagar os caches do site todo manualmente porque acha que dá trabalho demais usar a opção de apagar apenas o cache da página que modificou.
O resultado é que todo o cache do site é invalidado, e centenas de páginas que estão sendo acessadas começam a consultar o banco de dados e recriar o cache para serem exibidas para as milhares de pessoas que estão simultaneamente acessando o site.
O servidor fica sobrecarregado, a notícia que era viral agora começa a retornar erro e, de repente, tudo está fora do ar. Por um erro estratégico, você perdeu tráfego valioso que deveria se converter em rendimentos com publicidade.
Um erro que poderia ter sido evitado facilmente! Esse é um exemplo fácil de entender de como o modo com que usamos o WordPress faz diferença quando estamos diante de um site muito visitado. Há uma variedade toda de situações parecidas que poderiam ser citadas – por exemplo, há pessoas que ficam ansiosas por atualizarem temas e plugins no instante em que ficam disponíveis no painel. Em um site movimentado, isso evidentemente precisa ser feito de forma programada para ter o menor impacto possível. Todo mundo já se viu diante de uma atualização que “travou” e deixou o site em modo de manutenção por tempo indefinido. Isso, em horário de maior visitação, é a receita para a tragédia.
É importante relembrar que esses são problemas reais e que começam a aparecer justamente em sites mais visitados. Para a realidade de sites pequenos, nada disso tem consequências sérias o suficiente. Usar mal um WordPress de alto tráfego, no entanto, significa violar a terceira e também a segunda lei de que falamos antes.
Por fim, ainda dentro da ideia de que você não pode tratar um site assim como algo comum: mudanças de temas, testes com novos plugins, novas funções, etc, jamais devem ser feitos no site principal. É para isso que serve a staging area da sua hospedagem. Teste em ambiente seguro, e só depois aplique ao site em produção.
Navegando no jogo do alto tráfego
Neste ponto, espero que você já possa navegar um pouco melhor nas regras do jogo de alto tráfego. Ter muitos visitantes é sempre uma boa notícia, mas fica ainda melhor se você souber como lidar com isso e não se tornar vítima do crescimento descontrolado do seu site.
É preciso entender como lidar com essa situação – e não ter dúvidas de que ela tem, sim, solução – e partir para a ação. Siga as 3 leis descritas neste artigo e colha os bons frutos de ter um site bem-sucedido!
*artigo extraido do BlogLite