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

Categoría:  WordPress, WPO, WPO para WordPress
Fecha: 26/10/2015
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.

Índice del artículo
  • General settings
  • Page Cache de W3 Total Cache
  • Minify de W3 Total Cache
  • Database Cache de W3 Total Cache
  • Object Cache de W3 Total Cache
  • Browser Cache de W3 Total Cache
  • CDN De W3 Total Cache 
  • Conclusiones sobre W3 Total Cache


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:



    • Akamai.

    • Amazon CloudFront.

    • AT&T.

    • Contendo de Akamai.

    • EdgeCast.

    • MaxCDN.

    • MaxCDN Enterprise.

    • CloudFlare

    • Rackspace Cloud Files.





  • Amazon S3.

  • Microsoft Azure Storage.


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.
Álvaro Fontela
Álvaro Fontela

Alvaro Fontela es consultor WordPress especializado en WPO y rendimiento web, además de co-fundador y CEO de Raiola Networks.

Artículos relacionados

Si te ha gustado este post, aquí tienes otros que pueden ser de tu interés. ¡No dejes de aprender!

Tenemos 23 comentarios en Guía básica de configuración de W3 Total Cache en Wordpress

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Avatar del autor del comentario

eze

07/02/2016 a las 05:47

"También podemos activar el módulo de “Minify” aunque realmente no se puede definir su funcionamiento desde aquí." yo creo que son un poco confusas las indicaciones como el ejemplo que di arriba..."podemos"? lo activo o no lo activo?

Responder
Avatar del autor del comentario

Alvaro Fontela

07/02/2016 a las 22:58

El Minify depende muchísimos del theme, no hay un método exacto para configurarlo, ya que en unos themes unas opciones nos destrozaran el theme y en otro theme funcionaran bien, por lo que es algo que se debe hacer con cuidado, es decir, podemos activarlo, pero debemos estar atento a los errores que causa, esta guía, al ser básica, no explica nada del minify.

Un saludo.

Responder
Avatar del autor del comentario

Daniel Buchner

15/06/2016 a las 17:04

Alvaro, cuando te refieres a usar Memcached o APC, ¿qué es lo que se puede usar con los hosting compartidos de Raiola Networks?, ¿tienen habilitada algunas de estas configuraciones? Te lo pregunto porque estoy en busca de nuevo proveedor de hosting y me interesan los servicios de Uds. Quiero optimizar mi sitio web utilizando W3 Total cache combinado con Cloudfront ya que actuamente tengo Wp Rocket pero no me ha funcionado bien o a lo mejor no está del todo bien configurado. Gracias de antemano. Saludos.

Responder
Avatar del autor del comentario

Alvaro Fontela

26/06/2016 a las 02:25

Hola Daniel, con los hostings compartidos nuestros puedes usar Memcached, pero antes debes activar la extensión PHP desde el panel, algo que puedes hacer en un par de clicks.

Un saludo.

Responder
Avatar del autor del comentario

Isabel Hernández

27/05/2016 a las 15:03

Buenas tardes, por recomendación del soporte técnico he instalado este plugin. Se trata de una web con woo comerce, a la cual tuve que desactIvar la opción de "Minify" porque no funcionaba con Safari.

El problema que ocurre ahora es que cuando incluyo un nuevo producto no me aparece en los dispositivos móviles, en la versión PC si.

¿Sabéis si esto puede ser debido a este plugin?

Gracias

Responder
Avatar del autor del comentario

Alvaro Fontela

27/05/2016 a las 15:57

Hola Isabel, eso es porque tienes que vaciar cache desde el plugin pulsando el boton "Empty all caches".

Un saludo.

Responder
Avatar del autor del comentario

Isabel Hernández

27/05/2016 a las 17:44

Gracias Alvaro! Ya funciona. Entiendo pues que debo hacer esa operación cada vez que realice un cambio de producto o de diseño en la web verdad?.

Responder
Avatar del autor del comentario

Alvaro Fontela

27/05/2016 a las 18:23

Si, lo recomendable es que si, para no esperar a que lo limpie automaticamente.

Un saludo.

Responder
Avatar del autor del comentario

Isabel Hernández

27/05/2016 a las 22:16

Alvaro, la pérdida de calidad que he sufrido en las imágenes de los productos es notable, puede ser debido a que este plugin reduzca las imágenes para que la web cargue más rápido? Si es asi tendría que buscar otra alternativa de cache, porque la pérdida de calidad es importante.

De nuevo muchas gracias

Responder
Avatar del autor del comentario

Eloy Rodriguez

02/02/2017 a las 18:51

Buenas tardes, osea lo que tengo que hacer que cada vez que suba una entrada a mi blog, imagen o algún cambio en el diseño tengo que pulsar el botón "Purge from cache" o "Purge All cache" ??

Muchas Gracias ;)

Responder
Avatar del autor del comentario

Alvaro Fontela

08/02/2017 a las 15:43

Hola Eloy, teoricamente si no hay ningún problema, el cache se purga solo, al menos si las circunstancias son las normales.

Un saludo.

Responder
Avatar del autor del comentario

Marta

11/07/2017 a las 11:34

Buenos días,

Hay alguna manera de configurar un borrado de caché automático diario con este plugin? Trabajo con publicidad en numerosos sites y hay veces que, al hacer cambios, no se reflejan de forma real.

Gracias!

Responder
Avatar del autor del comentario

Alvaro Fontela

11/09/2017 a las 01:25

Si, W3 Total Cache es uno de los plugins que mas flexibilidad ofrecen a la hora de configurar políticas de vaciado de cache, se configuran en la sección de cache de pagina.

Un saludo.

Responder
Avatar del autor del comentario

Juan Carlos Lopez Castillo

19/11/2017 a las 08:39

Buen dia Alvaro, estoy tratando d configurar la sección de Never minify the following JS files:, para que el jquery me quede aparte y así poder colocar los otros bloques con atributo defer, pero no logro separar la cadena minify del archivo de jquery , hay alguna forma de hacerlo, gracias

Responder
Avatar del autor del comentario

Héctor Luaces

06/04/2018 a las 15:09

Hola, Juan Carlos.

Si no lo has conseguido ya, te digo como es.

1- Accede a "Performance -> Minify" dentro de WordPress.
2- Localiza la opción "Never minify the following JS files:".
3- Introduce la ruta relativa de jQuery, que es: "wp-includes/js/jquery/jquery.js".
4- Guarda los cambios y borra la caché. Con esto estará listo.

Cualquier otra cosa nos dices.

Un saludo.

Responder
Avatar del autor del comentario

José Manuel

02/09/2018 a las 14:59

Muy buenas, gracias por las indicaciones.
Tengo la duda aquí para los CDN, ya hice la configuración con CloudFlare, y dices que es compatible con Total Cache pero en las opciones de CDN Tipo salen muchas pero no sale Cloud Flare lo cual me extraña.
Aparece MaxCDN, Mirror genérico, Amazon.... pero no cloudflare.
Un Saludo

Responder
Avatar del autor del comentario

Héctor Luaces

03/09/2018 a las 10:12

Hola, José:

no aparece porque realmente CloudFlare no es una CDN al uso, si no más bien un proxy inverso.

Por eso mismo, puedes elegir la opción "Generic" en W3 total caché.

Adicionalmente, recuerda que tienes una extensión de W3 (en la opción del mismo nombre).

¡Un saludo!

Responder
Avatar del autor del comentario

Virginia Pirlusa Martínez Derr

02/10/2018 a las 22:05

Hola Álvaro, tengo una duda, yo usaba W3 total cache pero era muy complejo para lo que yo quería y finalmente lo desinstalé. No hay problema si borro del .htaccess esto que me ha quedado?
Es lo siguiente:

# BEGIN W3TC CDN

Header set Access-Control-Allow-Origin "*"

# END W3TC CDN

Responder
Avatar del autor del comentario

Héctor Luaces

08/10/2018 a las 08:20

Hola, Virginia:

no hay problema, puedes quitarlo sin problemas. ¡Haz una copia del fichero por si acaso!

Un saludo.

Responder
Avatar del autor del comentario

Jorge

03/01/2019 a las 20:35

Hola. Buenísimo artículo. Tengo un problema, en ordenador genial, pero en la versión móvil se ve la web en blanco, vamos que no se ve nada. ¿Sabéis por qué puede ser? Gracias :)

Responder
Avatar del autor del comentario

Héctor Luaces

04/01/2019 a las 11:03

Hola, Jorge:

¿te pasa lo mismo tras borrar la caché? (toda la cache: CDN, W3, etc.).

En ocasiones, tras tener "recién configurado" el sitio, es posible que la caché necesite ser regenerada.

Si no soluciona el problema habría que ver el caso. Confírmame si quieres el dominio y le echo un vistazo rápido por ver qué pasa con esa pantalla en blanco.

Un saludo.

Responder
Avatar del autor del comentario

Rodo Vilar

26/09/2019 a las 23:52

Hola Alvaro, hice una prueba con este plugin y cuando configuré en Ajustes Generales, y activé Cache de Base de Datos, la página web dejó de funcionar mostrando un error 503 si mal no recuerdo, luego de desactivar esta opción, todo volvió a la normalidad, ¿A que se debe este inconveniente de no poder activar la cache de base de datos en opción Disco?, ya que no me permite en Memcached.

Te comento esto porque la web sigue igual a pesar de haber instalado este plugin, y sin embargo existe la posibilidad de que activando esta oción, todo podría mejorar. Puede que sea el hosting que no me permita configurar este apartado en Memcached?

Saludos y muy buen contenido técnico!

Responder
Avatar del autor del comentario

Héctor Luaces

11/10/2019 a las 11:35

Hola, Rodo:

el por qué del error pueden ser muchas cosas, pero lo primero a revisar es que tengas bien configurada la opción de "guardar en disco" (usa "Basic" si "Enhanced no funciona") y, en el caso de que el problema persista, asegúrate de que se genera el archivo "wp-content/db.cache.php" y de que éste es el del plugin W3TC y no de otro.

En el caso de que el problema persista, te recomiendo tratarlo con tu proveedor.

Respecto a memcached: si tienes un hosting compartido no vas a poder usar memcached, ya que es un sistema inseguro por naturaleza y en un entorno multi usuario podría incurrir en fugas de información muy graves.

Si quieres usarlo tendrás que usar un servidor dedicado o VPS. No obstante, puedes configurar el plugin para usar APCu, que también es basado en memoria y seguramente tu proveedor lo permita (aunque seguramente tendrás poca memoria reservada para este uso).

¡Un saludo!

Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *