El cache de Cloudflare y WordPress

Por defecto, Cloudflare cachea automaticamente los archivos estaticos de un sitio web: imagenes, CSS, JavaScript, fuentes y otros recursos que no cambian frecuentemente. Sin embargo, Cloudflare no cachea las paginas HTML dinamicas de WordPress por defecto, ya que no puede saber si el contenido es el mismo para todos los usuarios o si varía segun la sesion.

Con la configuracion correcta de reglas de pagina (Page Rules) o Cache Rules en Cloudflare, es posible indicarle al CDN que cachee tambien el HTML de WordPress para usuarios no autenticados, lo que puede reducir dramaticamente la carga del servidor y mejorar los tiempos de respuesta.

Configurar cache de HTML con Page Rules

  1. Acceder al panel de Cloudflare y seleccionar el dominio.
  2. Ir a Rules > Page Rules.
  3. Crear una regla para excluir del cache las paginas dinamicas de WordPress primero (mas especifico primero):
URL: tudominio.com/wp-admin/*
Configuracion: Cache Level = Bypass

URL: tudominio.com/wp-login.php
Configuracion: Cache Level = Bypass

Cache Rules modernas (alternativa a Page Rules)

Las Cache Rules son el sucesor de las Page Rules en Cloudflare con mayor flexibilidad. Ir a Caching > Cache Rules y crear reglas para controlar que se cachea y que no:

URL o condicionAccion de cache
Ruta empieza con /wp-adminBypass cache (no cachear)
URI es /wp-login.phpBypass cache
Cookie contiene wordpress_logged_inBypass cache (usuario autenticado)
Cookie contiene woocommerce_items_in_cartBypass cache (carrito activo)
Resto del sitioCache todo (Cache Everything)

Purgar el cache de Cloudflare

Cuando se publica contenido nuevo en WordPress, el cache de Cloudflare debe vaciarse para que los visitantes vean la version actualizada:

  • Desde el panel de Cloudflare: Ir a Caching > Configuration > Purge Cache. Se puede purgar todo el cache o URLs especificas.
  • Con el plugin de WordPress: El plugin oficial de Cloudflare para WordPress puede configurarse para purgar automaticamente el cache cuando se publica o actualiza contenido.
  • Via API de Cloudflare: Para integraciones automatizadas, usar la API REST de Cloudflare para purgar el cache programaticamente.

Cabeceras de cache en la respuesta

Para verificar si una pagina esta siendo servida desde el cache de Cloudflare, revisar la cabecera CF-Cache-Status en la respuesta HTTP:

curl -I https://tudominio.com | grep -i "cf-cache"

Los valores posibles son: HIT (servida desde cache), MISS (no estaba en cache, se busco en el servidor), BYPASS (regla indica no cachear), EXPIRED (estaba en cache pero vencio).

Was this answer helpful? 0 Users Found This Useful (0 Votes)