Artigo feito em colaboração com Filipe Cifali*
Acelerar seu site em WordPress certamente traz grandes benefícios. Além de ser uma experiência favorável para o usuário, pode ser um fator determinante para o posicionamento na página de buscas do Google. Por isso, aqui vão algumas dicas de como utilizar plugins de cache para aumentar a velocidade de entrega de conteúdo na sua página!
O que é cache e como ele pode trazer benefícios
Cache é uma cópia de um conteúdo que costuma ser gerado dinamicamente, servindo a requisições subsequentes de maneira mais rápida, evitando o reprocessamento desnecessário de conteúdo.
O objetivo do cache é reduzir o custo de acesso de sites. Existem técnicas que aumentam a performance de um site exercendo regras sobre os navegadores para tipos de arquivos diferentes, como de imagens, que raramente são alterados, podendo ter tempo de cache alto. Esse tipo de cache é armazenado no browser.
Já conteúdo dinâmico tem seu cache armazenado diretamente no servidor web, pois é necessário um controle de alterações mais eficaz.
O cache pode beneficiar o site reduzindo a demanda de recursos em cada acesso único e, em casos de cache client side, também pode reduzir o conteúdo entregue.
O tempo e a quantidade ideal de cache dependem de cada projeto, pois cada conteúdo pode ter um tipo diferente de cache conforme as regras de negócio do site.
Por que plug-ins de cache?
Um plug-in de cache é um fator muito importante em um blog de sucesso. Se você utiliza o WordPress, a cada visita esse CMS irá passar por um processo de montagem da página ligado pela conexão com o banco de dados e montagem do código HTML.
Quando um site recebe um tráfego pesado, uma carga significativa no servidor pode retardar o carregamento das páginas e até mesmo torná-lo indisponível. Se o cache estiver habilitado, apenas o primeiro visitante irá passar por esse processo. Depois, todos os demais internautas irão visitar páginas HTML que já estão prontas, e o processo será muito mais rápido.
Existem diversos plug-ins de cache que aceleram a sua página em WordPress. Neste artigo, vamos falar sobre três ferramentas que quando utilizadas em conjunto podem aumentar ainda mais a velocidade de sites em WP.
OPcode
O OPCode é uma extensão do PHP que foi gerada para aumentar a performance de execução de código ao ser processado no servidor. Após a abertura do plano, que era proprietário, a Zend introduziu-o ao PHP e tem mostrado suporte para o projeto.
Toda vez que um script é executado, a engine do PHP precisa compilar o código fonte em algo que a linguagem de máquina possa entender, resultando em um OPcode. Quando uma nova requisição é realizada, antes de o PHP compilar o código fonte, o software de cache intercepta e verifica se o OPcode do script já existe no cache. Caso não exista, o sistema de cache passa para o PHP Engine gerar o OPcode e o armazena no cache.
Nas requisições subsequentes para o mesmo script, o OPcode será obtido a partir do cache, e não será necessário ser compilado pelo Engine do PHP novamente. Esse processo economiza de forma considerável o processamento de CPU no servidor.
É claro que, se houver mudanças no código fonte em um script que já tenha o OPcode no cache, a mudança será identificada pelo sistema, que irá proceder com a devida atualização.
W3 Total Cache
Este plug-in melhora a experiência do usuário no seu site, aumentando o desempenho do servidor e reduzindo os tempos de download. Com ele, você tem uma infinidade de opções de otimização, como minimização de código fonte e integração com sua rede de distribuição de conteúdo (CDN).
Com o W3 Total Cache instalado, seu blog pode carregar 10 vezes mais rápido e economizar até 80% de largura de banda. O tempo de inatividade é reduzido e a qualidade é drasticamente melhorada.
Importante: Antes de instalar o W3 Total Cache, é necessário que você remova ou desinstale todos os plug-ins de cache que esteja usando (por exemplo, o WP Super Cache). Se você tiver algum plugin de cache correndo, é natural que tenha problemas na ativação.
Varnish
Varnish é um servidor HTTP usado como proxy de cache para conteúdo web. Ele atua de forma transparente, independentemente de linguagens de programação e bancos de dados, pois age diretamente na camada HTTP, utilizando somente cache de conteúdo já gerado.
Basicamente, quando um cliente acessa um site que possui um Varnish, ele acessa o Varnish, que confere se já possui cache do conteúdo acessado. Se tiver, entrega o conteúdo imediatamente. Caso contrário, busca o conteúdo no servidor original (que fará o processamento), armazena-o em cache e entrega o retorno ao usuário inicial.
Após esse armazenamento, o fluxo é repetido em novos acessos, com a vantagem de que o cache fica armazenado na memória RAM do servidor, aumentando a velocidade de entrega de conteúdo.
O Varnish pode aumentar a velocidade de 300 a 1.000 vezes, principalmente de elementos estáticos, e diminuir bastante a utilização de memória, deixando para o Apache somente a execução de conteúdo dinâmico, como scripts PHP e CGI.
A implantação do Varnish não requer mudanças na programação do site. Caso ele rode no mesmo servidor que o Apache, existe a necessidade de ajuste das portas de comunicação e uso de um IP adicional. Também pode ser utilizado para balancear a carga entre dois ou mais servidores web.
As técnicas de cache são usadas para melhorar o desempenho do site, ao preservar recursos do servidor, permitindo que ele possa entregar o conteúdo a mais usuários. Planejar e oferecer acesso rápido aos usuários do seu site é um dos passos essenciais para o sucesso da sua página!
———
* Filipe Cifali é portoalegrense, analista de infraestrutura de webhosting na KingHost e trabalha há 5 anos com o mercado de hospedagem de sites. Especializado em Linux, cursa Sistemas de Informação na Faculdade Salesiana Dom Bosco, possui certificação da Sisnema para Administração de ambientes Linux. Cofundador do PyTchê, grupo de usuários Python do Rio Grande do Sul, apoiador de Open Source e compartilhador de idéias nas horas vagas. @FilipeCifali
***
Artigo publicado na Revista iMasters. Você pode assinar a Revista e receber as edições impressas em casa, saiba mais.