Como turbinar o WordPress com a Cloudflare

Como configurar a Cloudflare como CDN para todo o conteúdo de um site. Conheça todos os prós e contras, vantagens e desvantagens.

Este post foi atualizado pela última vez há mais de 3 meses.

Você já sabe o que é CDN e por que ela é importante para o seu site e também já sabe que, em linhas gerais, a Cloudflare vale a pena, principalmente por ter um serviço gratuito que oferece várias ferramentas excelentes.

Agora vamos falar de um uso mais avançado da Cloudflare, que fará com que seu site seja acelerado ao máximo e com um cache extremamente agressivo, usando a CDN para servir seu conteúdo inteiramente.

Como funciona o cache da CloudFlare

Para entender como funciona a Cloudflare, observe o esquema abaixo, bastante simplificado.

O primeiro acesso a um determinado recurso usando a Cloudflare como CDN envolve quatro passos:

  1. O visitante faz a requisição para a Cloudflare, mas ele nem sabe, e nem lhe faz diferença alguma, que é a Cloudflare quem vai atendê-lo;
  2. A Cloudflare repassa a requisição para o servidor;
  3. O servidor processa a requisição, instanciando todos os softwares necessários e entrega o resultado processado para a Cloudflare;
  4. A Cloudflare salva uma cópia do que o servidor enviou (no que chama de “Edge Cache”), e entrega o recurso que o visitante requisitou.

Já a partir do segundo acesso não há os passos dois e três. O visitante requisita à Cloudflare, e esta entrega o resultado que está no cache, imediatamente, sem a necessidade de repassar a requisição ao servidor. Na verdade esse é o esquema de funcionamento de qualquer cache.

Porém, só tem um detalhe: a Cloudflare por padrão só faz cache de objetos estáticos (imagens, scripts, folhas de estilo, etc). Nenhum conteúdo potencialmente dinâmico é armazenado nos caches da Cloudflare. Por exemplo, o HTML do seu site não é armazenado na Cloudflare, razão pela qual mesmo usando a CDN é necessário ter um bom sistema de cache configurado no WordPress.

Forçando o cache de páginas na CloudFlare

Entretanto, é muito simples forçar o cache de páginas (HTML) na Cloudflare, de forma a tirar 100% de proveito da CDN na aceleração de seu site. Para isso, basta criar uma “Page Rule” (regra de página) para instruir o Edge Cache a armazenar também o conteúdo potencialmente dinâmico.

Veja um exemplo prático:

A imagem acima mostra três regras que são necessárias para que o WordPress seja servido com segurança a partir do Edge Cache da Cloudflare. Voltaremos a ela mais à frente.

Vantagens de usar o Edge Cache para servir o site inteiro

As vantagens de se utilizar o Edge Cache no site inteiro, em vez de apenas nas imagens e folhas de estilo, dizem respeito à infraestrutura gigante da Cloudflare que fica ao seu dispor gratuitamente.

É semelhante, com relação a cache, ao que o Google faz com as páginas AMP, ou ao que faz o Facebook com os Instant Articles. O todo o conteúdo de uma determinada página é servido inteiramente pela infraestrutura deles, sem que o servidor tome conhecimento das requisições.

Por isso, as vantagens são:

  • Menor latência: a Cloudflare tem datacenters em diversas partes do mundo, inclusive em São Paulo. Isso significa que um domínio servido através do Edge Cache poderá implicar alguns milissegundos a menos de espera para os visitantes e para o Googlebot;
  • Menos carga na máquina: toda e qualquer página servida pelo domínio estará no Edge Cache, significando que haverá menos requisições chegando ao servidor, menos necessidade de instanciar o WordPress e menos acesso a banco de dados;
  • “Imunidade” a quedas: qualquer página existente no Edge Cache estará imune a quedas no servidor, pois a Cloudflare sequer tentará uma conexão ao servidor;
  • Mais velocidade: o Edge Cache entrega aos visitantes conteúdo previamente processado, sem necessidade de qualquer tipo de interação com o servidor, implicando em páginas servidas mais rapidamente.

Desvantagens do Edge Cache para o site inteiro

Porém, em se tratando de WordPress, há algumas desvantagens de se usar o Edge Cache para servir o site inteiro.

  • Agendamento de posts: como o Edge Cache só será esvaziado quando houver uma operação explícita de limpeza na Cloudflare, ou quando o cache expirar (recomendamos sete dias de validade), o agendamento de posts do WordPress vai parar de funcionar;
  • Barra do WordPress: não será mais possível usar a barra do WordPress ao navegar pelo blog como usuário autenticado, a não ser que você opte pelo plano Business da Cloudflare, que custa 200 Dólares mensais por domínio. Mas dá suporte a “page rules” baseadas em cookies;
  • Ajustes e desenvolvimento: fica extremamente complicado de fazer ajustes nos sites, uma vez que todas as modificações demandam uma limpeza de cache na Cloudflare;
  • Pre-visualização de rascunhos: as prévias só são visíveis para os usuários autenticados no site, assim como a barra do WordPress, logo, as prévias não funcionarão corretamente;
  • Comentários: os comentários nativos do WordPress não estarão visíveis até que ocorra uma limpeza de cache na Cloudflare;
  • Temas “mobile”: se o seu site ainda não for responsivo, dependendo da implementação de temas separados para dispositivos de tela pequena e de tela grande, o Edge Cache poderá ser de bem pouca utilidade para você;
  • Sites de membros (“membership sites”): estes não poderão tirar proveito do Edge Cache, suas funcionalidades dependem totalmente da autenticação no WordPress, e o cache da Cloudflare, quando configurado da maneira proposta nesta página, ignora totalmente o cookie de autenticação.

Como implementar o Edge Cache no WordPress da maneira mais confortável

Naturalmente, a maneira mais confortável de tirar proveito desta ferramenta, sem precisar sofrer com instalação e configuração, é pedindo ao suporte técnico que faça a configuração correta do seu WordPress.

Segue abaixo, a título de informação, o que deve ser feito para amenizar o impacto do uso do Edge Cache com o WordPress.

Ativação da wp-cron por um “cronjob” real do Linux

Em primeiro lugar, nosso suporte procederá a desativação da wp-cron e a substituição desta por um cronjob real do Linux. Com isso os agendamentos do WordPress continuarão funcionando normalmente, assim como quaisquer outros eventos que dependam da wp-cron para funcionar.

Agendamento da limpeza do Edge Cache

É normal que os autores agendem seus posts para publicação automática em horários específicos. Por exemplo, nós, sempre agendamos os nossos para as 10h da manhã.

Por isso, nosso suporte vai conversar com você e, com base na sua rotina de agendamentos de posts, vai criar um respectivo agendamento de limpeza do Edge Cache.

Instalação do plugin WordPress Supersonic

Por fim, nosso suporte também vai fazer a instalação e a configuração do Supersonic, permitindo alguns truques para facilitar sua vida. Por exemplo, as prévias de rascunhos estarão disponíveis e o Edge Cache vai ser limpo no momento da publicação dos posts.

Mas o agendamento ainda depende do cronjob externo, conforme mencionado acima. Porém, será possível visualizar algumas estatísticas do Cloudflare sem precisar sair do blog.

Quanto custa tudo isso?

Não custa nada acelerar seu WordPress utilizando o Edge Cache da Cloudflare.

A abordagem que propomos utiliza apenas três regras de páginas da Cloudflare, exatamente a quantidade que está disponível no plano gratuito. Entretanto, caso seja necessário adquirir mais regras de página, o custo é de cinco dólares por domínio, para cinco regras adicionais.

Por fim, o trabalho de configuração do cache é uma cortesia que a PortoFácil oferece aos seus clientes.

Quero ser cliente da PortoFácil! Entre em contato

Leia também

Textos que têm a ver com este assunto:
TUTORIAL: como resolver erros e problemas no WordPress

Tutorial de como resolver os principais erros e problemas relacionados ao WordPress. Confira nosso passo a passo detalhado de soluções!

Novidades do WordPress 6.7.1

Conheça todas as novidades do WordPress, incluindo melhorias e aprimoramentos em segurança, desempenho e acessibilidade.

Como migrar site de qualquer plataforma para WordPress

Tutorial completo de como migrar site de qualquer plataforma (Drupal, Wix, Tumblr, Blogger, Blogspot, Joomla e Magento) para o WordPress.