Guía básica de configuración de W3 Total Cache en WordPress

Por | 2017-01-10T13:35:51+00:00 26/10/2015|WordPress|45 Comentarios

Ya hemos hablado en otras ocasiones del W3 Total Cache, más que un plugin de cache para WordPress, es una suite de optimización para WordPress compatible con la mayoría de tecnologías que nos pueden ayudar a conseguir mejores resultados en la velocidad de carga.

W3 Total Cache tiene muchas ventajas frente a otros plugins de cache, aunque evidentemente al tratarse de una suite y estar compuesto por muchos componentes, también tiene desventajas como por ejemplo la dificultad de su configuración que puede llegar a dejar nuestro sitio offline si tocamos donde no debemos.

configurar W3 Total Cache

W3 Total Cache tiene una versión Premium desde hace ya un par de años, pero a efectos prácticos no es necesario suscribirse a esta versión de pago a no ser que necesitemos una serie de funcionalidades especiales avanzadas que trae esta versión, al 99,99999% de los usuarios de WordPress les basta con la versión gratuita de W3 Total Cache e incluso les sobra.

W3 Total Cache está formado por las siguientes partes o módulos:

  • Page Cache: Se trata del módulo básico de W3 Total Cache, este módulo permite establecer un cache de página guardado en múltiples destinos como por ejemplo cache en disco, cache en Memcached o incluso cache en APC.
  • Minify: Se trata de un potente modulo para minificar y optimizar el código HTML, CSS y Javascript, el problema es que no es un módulo hecho para usuarios principiantes y a veces puede ser complicado de configurar.
  • Database Cache: El módulo de cache de base de datos como su nombre indica es un sistema de cache de consultas a la base de datos, el punto fuerte es que permite guardar el cache en RAM, es decir, en sistemas de cache de objetos como Memcached.
  • Object Cache: WordPress es un CMS desarrollado en PHP orientado a objetos (en la mayoría de los casos), por esa razón podemos configurar un cache de objetos en sistemas como Memcached o APC con W3 Total Cache.
  • Browser Cache: Se trata de un modulo que ayuda a configurar el cache del navegador, muy util para sitios web grandes y para mejorar el Google PageSpeed.
  • User Agent Groups: Se trata de un sistema de filtrado por user-agent, podemos configurar grupos de user-agents y servir un cache diferente para cada grupo.
  • Referrer Groups: Al igual que el de los user-agents, W3 Total Cache permite filtrar mediante referrers y servir cache por grupos.
  • CDN: Permite a W3 Total Cache integrarse con algunos sistemas de cache como por ejemplo CloudFlare o Amazon CloudFront.

Aparentemente para que W3 Total Cache tiene algunos módulos mas, pero son integraciones con otras herramientas, es decir, no son funcionalidades propias de W3 Total Cache, sino que son funcionalidades de servicios y herramientas externas.

 

 

General settings

En esta sección podemos activar la mayoría de los módulos que nos trae W3 Total Cache, aunque no podamos definir su comportamiento.

Desde aquí podemos activar el “Page Cache” de W3:

configurar W3 Total Cache

Todo lo que debemos hacer es marcar la casilla de verificación y elegir el método de guardado de cache, lo preferible es Memcached o APC, aunque si tu servidor no soporta estas opciones lo mejor es el cache en disco mediante las opciones “Disk: Basic” o “Disk: Enhanced”.
Normalmente los servidores de hosting compartido no tienen la posibilidad de utilizar Memcached o XCache, en un VPS o servidor dedicado incluso podríamos instalar el servicio que necesitemos.

También podemos activar el módulo de “Minify” aunque realmente no se puede definir su funcionamiento desde aquí.

configurar W3 Total Cache

En este caso, además de activar el “Minify” mediante la casilla de verificación, podemos configurar el modulo para utilizar distintos componentes para cualquiera de los tres tipos de minificación: HTML, CSS y Javascript.
Desde la propia sección “Minify” podremos definir el resto de la configuración de forma muy exacta.

En el caso del “Database Cache” volvemos a lo mismo que en el caso del “Page Cache”:

configurar W3 Total Cache

Tan solo debemos activar la casilla de verificación y elegir donde guardar el cache, en este caso, al igual que en el caso anterior, normalmente es mejor guardar el cache en Memcached o APC si existe la posibilidad, en caso contrario lo guardaremos en disco.

El “Object Cache” es exactamente igual en funcionamiento al “Database Cache”:

configurar W3 Total Cache

Tan solo debemos marcar la casilla de verificación para activar el “Object Cache” en nuestro sitio web y posteriormente debemos elegir donde se guardará el cache siguiendo el mismo razonamiento que en los dos casos anteriores, dándole prioridad a Memcached y APC y si no existe compatibilidad para nada más utilizar el cache en disco.

El caso del “Browser Cache” es algo diferente, ya que tan solo podremos activarlo y desactivarlo:

configurar W3 Total Cache

Si existen problemas de codificación en la compresión GZIP o Deflate es recomendable desactivar esta casilla de verificación ya que es mejor activar la compresión GZIP manualmente en el archivo .htaccess del sitio web o revisar que no estemos utilizando un proxy inverso Nginx que pueda estar causando una doble compresión con el correspondiente error de codificación.

La parte de CDN de W3 Total Cache es otro de sus puntos fuertes, ya que es compatible con muchos servicios de cache.
En este caso para activar el CDN correspondiente debemos marcar la casilla de verificación y acto seguido elegir el servicio de CDN que vamos a usar:

configurar W3 Total Cache

De esta forma W3 Total Cache adaptara la configuración al CDN que vamos a utilizar, mostrando las opciones de autentificación en el servicio externo mediante API o mostrando las herramientas de sincronización con los servidores del CDN.

 

Page Cache de W3 Total Cache

La sección “Page Cache” de W3 Total Cache permite definir ciertos aspectos del funcionamiento de W3 Total Cache, quizás la flexibilidad que tiene esta parte del plugin es lo que hace que W3 Total Cache sea una solución tan potente y útil en la mayoría de los casos.

configurar W3 Total Cache

Como ves en la imagen anterior podemos definir lo que se cachea y lo que no se cachea de forma que podemos adaptar el funcionamiento del plugin a nuestras necesidades sin ningún tipo de problema.
Podemos elegir si se cachea o no se cachean las páginas que se cargan con HTTPS o incluso podemos hacer que “Page Cache” cachee los 404 del sitio web.

Por otro lado, también podemos hacer que W3 Total Cache pre-cachee contenido cada cierto tiempo siguiendo el sitemap.xml de forma que siempre este una copia cacheada disponible para servir a los visitantes del sitio web:

configurar W3 Total Cache

Para mí se trata de una de las funcionalidades más interesantes de W3 Total Cache, ya que guarda el cache en el destino que quieras (Memcached por ejemplo).

El módulo de “Page Cache” de W3 Total Cache es mucho más completo y tiene muchas más opciones que podemos definir como por ejemplo las políticas de purga del cache existente o las exclusiones, pero eso ya es cosa de un manual avanzado ya que esto es una guía básica de W3 Total Cache y sus opciones más importantes.

 

Minify de W3 Total Cache

La sección de “Minify” es un mundo, tiene muchísimas posibilidades de configuración y desde aquí se puede configurar al 100% para que los archivos en base texto se sirvan optimizados a los visitantes: HTML, CSS y Javascript.

No voy a comentar nada de esta sección debido a que su configuración varia completamente si usamos un theme u otro para WordPress, yo normalmente lo que hago es desactivar este módulo de W3 Total Cache y realizar la minificación, combinado y compresión utilizando Autoptimize o cualquier otro plugin especializado.

Como he dicho, sería muy difícil definir una combinación valida o al menos compatible con la mayoría de themes de este módulo, excepto desactivar todas las optimizaciones del módulo claro.

 

Database Cache de W3 Total Cache

El módulo de “Database Cache” tiene poca configuración que hacerle, ya que una vez activado lo único que podemos configurar (y debemos configurar) son los TTL de los diferentes tipos de acciones que tiene que hacer y las exclusiones para hacer que el modulo “Database Cache” sea compatible con plugins que realizan un uso intensivo de la base de datos en tiempo real como por ejemplo WooCommerce o Jigoshop.

configurar W3 Total Cache

La configuración avanzada de este módulo de W3 Total Cache requiere conocimientos avanzados sobre el tema, aunque hay ciertas configuraciones o prefijos de consultas que son comunes y que podemos añadir sin necesidad de analizar nosotros mismos el funcionamiento del plugin.

Como puedes ver en la imagen anterior, también podríamos configurar exclusiones en base a páginas, pero no son tan potentes como las definidas en base a prefijos.

Lo ideal es guardar el cache de base de datos en Memcached o en APC, ya que cargar consultas cacheadas desde un cache en RAM puede ser una de las mejores opciones a la hora de agilizar la carga y disminuir el consumo de recursos en la carga de los sitios web.

 

Object Cache de W3 Total Cache

El “Object Cache” de W3 Total Cache tiene un funcionamiento muy similar desde el punto de vista del usuario que configura W3 al que tiene el “Database Cache”.

Para entender lo que hace un cache de objetos es necesario entender que con PHP puede desarrollarse de forma orientada a objetos y que WordPress está desarrollado de esta forma.

configurar W3 Total Cache

Normalmente lo que hago yo con la configuración que puedes ver en la imagen anterior es configurar los TTL a 3600 segundos ambos y el resto lo dejo por defecto ya que esto no suele dar muchos problemas de compatibilidad, aunque en algunos casos ya nos hemos encontrado con problemas con algunos themes.

 

Browser Cache de W3 Total Cache

Antes de nada, vuelvo a decir lo que dije arriba, cuando me encuentro con problemas de doble compresión o problemas de codificación en las páginas servidas al cliente normalmente desactivo este módulo o directamente desactivo la casilla que está marcada en la siguiente imagen:

configurar W3 Total Cache

Si desactivamos la casilla “Enable HTTP (gzip) compression” conseguiremos que no se haga compresión GZIP desde W3 Total Cache, lo que nos ofrece la posibilidad de configurar nosotros posteriormente la compresión GZIP o Deflate desde el .htaccess.
En caso de que usemos un proxy inverso Varnish o Nginx, o un servidor web Nginx, puede ser necesario realizar la activación modificando los archivos de configuración del servidor web o del proxy inverso según corresponda.

El cache del navegador “es un mundo”, pero en la mayoría de los casos para que nuestro sitio web no falle de forma catastrófica tras tocar las opciones del “Browser Cache” es necesario tener conocimientos sobre el tema y al menos saber lo que se hace.

 

CDN De W3 Total Cache 

El módulo de CDN de W3 Total Cache es uno de los más potentes que nos podemos encontrar, de hecho, es compatible con muchos sistemas de CDN de Internet y adapta la configuración dependiendo de cuál queremos usar.

W3 Total Cache es compatible con los siguientes CDN:

En los servicios anteriormente nombrados hay distintos tipos de CDN, tanto CDN estilo mirror que se colocan como proxy inverso (por ejemplo CloudFlare) o CDN que simplemente cargan estáticos desde un mirror o subdominio, por ejemplo Amazon S3.
Otros servicios como Amazon CloudFront pueden funcionar casi de las dos maneras y pueden adaptarse perfectamente a las necesidades de cualquier sitio web en cualquier tipo de implementación.

W3 Total Cache tiene otra ventaja, y es que permite la creación de CDN propio mediante servidores externos que carguen a través de subdominios, por ejemplo, y permite la sincronización del origen con el servidor CDN mediante una herramienta integrada que se puede conectar por FTP y sincronizar automáticamente los contenidos sin que nosotros tengamos que tocarle a nada.

Realmente no podemos explicar en esta guía la configuración de CDN con W3 Total Cache para cada servicio, más que nada porque en cada caso o servicio es diferente, pero ya no es la primera vez que hablamos de configurar W3 Total Cache con Amazon CloudFront o la configuración avanzada de CloudFlare siguiendo un manual.

Normalmente todos los servicios de CDN que se integran con W3 Total Cache permiten configurar exclusiones y otras configuraciones:

configurar W3 Total Cache

Con este tipo de configuración podemos adaptar el funcionamiento del CDN a casos específicos como por ejemplo un foro o una tienda online WooCommerce.

 

Conclusiones sobre W3 Total Cache

W3 Total Cache es el plugin de cache para WordPress más potente que me he encontrado en mi experiencia con WordPress, pero también hay que tener en cuenta que no en todos los casos es necesario tener instalado W3 Total Cache, en algunos casos basta con tener cualquier otro plugin de cache instalado como, por ejemplo, WP Rocket o cualquier otro tipo de opción de las que hemos analizado anteriormente en este blog.

También debemos tener en cuenta que en algunas ocasiones elementos como el Object Cache de W3 Total Cache pueden causar problemas con algunos themes de WordPress, incluso el DB Cache puede dar algún problema con algunos plugins y puede ser requerida una configuración especial como en el caso de WooCommerce o Jigoshop.

Si estás buscando a alguien para optimizar tu sitio web WordPress puedes contactar con nosotros sin compromiso y te informaremos de las opciones disponibles, si estás buscando que tus sitios web carguen rápido puedes revisar nuestros servidores VPS optimizados que ofrecen rendimiento.

 

[Total: 11 Promedio: 3.9]

About the autor:

Mi nombre es Alvaro Fontela, soy consultor Wordpress y blogger activo desde hace años. Co-Fundador de Raiola Networks, escribiendo sobre Wordpress en este blog día tras día.

Utilizamos cookies propias y de terceros para obtener información estadística, mostrar publicidad personalizada a través del análisis de tu navegación, así como para interactuar en redes sociales. Si continúas navegando, consideramos que aceptas nuestra Política de cookies. ACEPTAR

Aviso de cookies