A qualidade do alojamento de um site é fundamental para o sucesso desse site. Ninguém gosta de sites lentos que ficam offline quando mais precisamos dele. Por outro lado, um serviço de qualidade é caro e nem sempre o responsável pelo site pode suportar as despesas.

Neste artigo vou sugerir algumas coisas que vão ajuda-lo a reduzir custos com a hospedagem ou pelo menos evitar upgrades aos serviços que tem contratado.

Alojamento

Quero começar por dizer que não sou um "expert" na área, mas ganhei experiência na área da otimização a alguns meses atrás numa altura em que vários problemas pessoais me obrigaram a cortar nos gastos. Na altura uma das principais despesas era a hospedagem, a factura no fim do mês rondava os 200 euros no total (era cliente de 3 empresas diferentes). Como não tinha alternativa, fui obrigado a aprender a otimizar melhor os meus sites para atingir 3 objetivos: poupar dinheiro, usar apenas uma empresa e manter o mesmo nível de qualidade.

Todas as sugestões que vou fazer são baseadas na minha experiência, elas podem não servir para todos os sites. Antes de fazer alguma alteração, analise os prós e contras da mudança.

Otimização dos Sites

Eu sou um grande fã do WordPress e uso-o em quase todos os meus projetos porque serve para quase tudo (desde blogs, passando por lojas até fóruns). A primeira coisa que fiz foi otimizar os meus sites, desde a base de dados (banco de dados) até ao próprio tema. Algumas coisas que podem ser otimizadas:

Base de Dados:

Limpe a base de dados com um plugin com o WP-Optimize. É muitos casos é possível poupar vários megabytes de espaço e quanto mais pequena a base de dados for, melhor.

Plugins:

Usava, sem querer, plugins que podiam fazer a mesma coisa. Por exemplo, se você usar o WordPress SEO, não tem que usar outro plugin para criar um menu de navegação (breadcrumb) e outro para gerar as tags para as redes sociais. Este plugin já faz isso tudo, não é necessário adicionar mais "lixo" a instalação do WordPress.

Se usar algum plugin para fazer a contagem do número de visualizações dos posts, posts mais vistos ou do número de usuários online, considere deixar de usa-los. São plugins que normalmente consomem muitos recursos, um problema muito grande principalmente quando está numa hospedagem partilhada ou tem picos de visitantes online.

Não se esqueça também de usar os plugins mais populares (já estão bem testados) em vez dos menos populares e evitar aqueles que estão desatualizados (por razões de segurança).

Tema:

Abra o seu site, veja e remova tudo o que está a mais. Comece primeiro pelo mais importante: aquilo que é gerado automaticamente (widgets, funcionalidades, informação, etc).

No meu caso, usava um plugin em 3 sites que permitia classificar as postagens. Na lateral dos sites tinha um widget "top" das postagens mais bem classificadas e depois de fazer uma pequena analise reparei que esse widget deixava as páginas mais lentas e consumia muitos recursos por carregar muita informação da base de dados. É verdade que o widget não consumia muitos recursos por usuário, o problema aparecia quando o site recebia 1000 ou 2000 usuários ao mesmo tempo vindos do Facebook.

Aproveite também para otimizar os ficheiros do tema (imagens, javascript, css, etc). Em 2010 escrevi um artigo sobre a otimização das imagens e ficheiros de um tema ou site.

Cache (Importante):

O WordPress usa a base de dados para guardar a informação do seu site. Os posts, configurações, widgets, etc, ficam nessa base de dados e tem que juntar essa informação sempre que alguém abre uma página. Se você tiver apenas uma pessoa no seu site, não tem problema, mas imagine que recebe 20, 100 ou 1000 pessoas de uma só vez. O WordPress vai ter que criar as páginas para todas essas pessoas ao mesmo tempo... e o mais provável é que esgote os recursos do sistema.

A solução é usar um plugin que faça cache das páginas. Em poucas palavras, o que o plugin de cache faz é guardar as páginas já criadas e mostrar elas sempre que alguém abre uma página. No caso de estar a receber tráfego de uma rede social, apenas a primeira visita vai ver uma página "nova", criada naquele momento. Todas as outras pessoas vão ver a página que já está guardada, ou seja, o WordPress só teve que criar essa página uma vez.

Usar um plugin de cache é quase obrigatório. É possível reduzir muito o consumo de recursos fazendo isto. O único problema é que como os usuários estão a ver páginas criadas a algum tempo atrás, o conteúdo pode não estar totalmente atualizado (comentários, alterações no post, etc). A solução é definir que a cache seja limpa a cada X minutos (ou horas/dias) ou sempre que uma alteração seja feita.

Recomendo o plugin W3 Total Cache. É um plugin complexo, mas só tem que ativar as opções "Page Cache" (guardando para o disco - Disk) e a opção "Browser Cache". Se preferir um plugin mais simples, use o WP Super Cache.

Otimização do Alojamento

Esta parte é apenas para quem tem controle sobre a hospedagem ou está numa VPS ou servidor dedicado. Se está num serviço de hospedagem partilhada é praticamente impossível fazer alguma coisa.

Depois de ter feito a otimização dos sites, virei-me para o alojamento, escolhi uma empresa (a PTServidor) e falei com eles para saber o que podiam fazer para melhorar a performance da VPS que tinha contratado. Depois de várias conversas e testes, sugiram que eu passasse de uma VPS "tradicional" (usando o Apache, cPanel, etc) para uma nova VPS com NGINX no lugar do Apache, sem painel de administração e com outro tipo de cache (APC). Devo de dizer que fiquei um pouco "assustado" com a ideia porque não tinha experiência nenhuma usando comandos e o terminal do meu computador, mas aceitei e a verdade é que não estou arrependido.

No final fiquei com uma VPS com os mesmos recursos, mais barata e muito bem otimizada ao ponto de conseguir receber 3 ou 4 vezes mais visitas que a VPS antiga.

Como é óbvio só consegui isto porque escolhi uma empresa com um suporte que realmente ajuda os clientes. O meu plano inclui a manutenção da VPS, por isso só tenho que me preocupar com os sites, o resto é tratado por eles.

A minha sugestão é que você escolha uma empresa com um bom apoio ao cliente, numa língua que você domine (por exemplo, evite empresas dos EUA se não sabe falar inglês) e que tenha um bom feedback na internet. Depois fale com eles e tente encontrar uma boa solução. Ao escolher lembre-se sempre que é preciso pagar se quiser receber qualidade.

Serviços Externos

Nos últimos tempos vários serviços externos de otimização foram criados. O Cloudflare (ler: O que é o Cloudflare e Como Usar o Cloudflare) é uma dessas empresas e oferece otimização do site, poupanças no tráfego/recursos, segurança e proteção contra ataques.

O Cloudflare não é um serviço perfeito, as vezes tem problemas, mas para mim tem sido muito útil. Uso o serviço principalmente para fazer cache das imagens e fazer também cache das páginas nos momentos em que tenho muito tráfego. Para ter uma ideia, só em tráfego consigo poupar cerca de 4 ou 5 terabytes todos os meses:

Cloudflare Savings

Embora fosse possível usar o serviço gratuito, optei por fazer o upgrade para o plano "Pro" em 3 sites. Pago 30 dólares por mês, por opção própria, como "contribuição" para o serviço que prestam.

Para quem usa WordPress, existe uma alternativa apenas para as imagens: a opção "Photon" do plugin Jetpack (criado pela empresa por trás do WordPress). Esta funcionalidade "hospeda" as imagens do seu site no servidores do WordPress.com enquanto o plugin está ativo, resultando em poupanças no tráfego do site.

Outro serviço externo que utilizo é a MaxCDN. É um serviço pago e caro, mas a algum tempo atrás aproveitei uma promoção e comprei vários terabytes de tráfego. Como a velocidade da MaxCDN é fantástica, uso o serviço para o CSS e JS dos sites. São ficheiros importantes e leves, não necessitam de uma CDN, mas como já tinha gasto o dinheiro, continuo a aproveitar. Os meus sites acabam por ter uma velocidade de carregamento fantástica.

Para terminar, deixo uma última recomendação que não pode ser usada em conjunto com os 3 serviços que falei (Cloudflare, Jetpack e MaxCDN): Google PageSpeed Service. É um serviço da Google, em estado Beta (já testei e é bom) e gratuito enquanto está em testes. A performance é boa porque usa a rede de servidores da Google e é capaz de otimizar html, css, js e imagens mas pode ser dificil de configurar para os menos experientes. Se quiser testar, preencha o formulário no site deles e talvez tenha a sorte de ser convidado para o programa.

Resultado Final e Conclusões

Depois de tanta otimização e alteração, consegui atingir os meus objetivos. Mantive a qualidade dos sites em termos de velocidade e uptime e consegui poupar muito dinheiro. Veja a comparação:

Antes:

  • Despesa de 200 euros por mês;
  • 3 empresas/serviços de hospedagem;
  • Problemas com os "picos de tráfego";
  • Consumo elevado de tráfego e lentidão em algumas horas do dia;

Depois:

  • Despesa de 60 euros por mês para a hospedagem (menos 150 euros) e 30 dólares opcionais para o Cloudflare;
  • 1 empresa de hospedagem com suporte permanente em português;
  • Consigo ter 3 ou 4 mil pessoas online sem problemas;
  • Redução de mais de 4 terabytes de tráfego por mês;

Durante um ano consigo:

  • Poupar cerca de 1800 euros;
  • Poupar cerca de 50 terabytes de tráfego;
  • Dedicar o meu tempo a coisas mais importantes;

Neste momento, este é o esquema por trás de quase todos os meus sites:

Esquema Alojamento

Concluindo, para mim a experiência foi muito positiva. Custou, deu trabalho, mas no final valeu a pena.

Espero que este artigo seja útil!