Con más de 1 millón de instalaciones activas, W3 Total Cache es uno de los plugins de cacheo y optimización más populares en el repositorio de WordPress. A diferencia de otros plugins de optimización de WordPress que ofrecen una interfaz relativamente más simple y racionalizada, W3 Total Cache da un control completo sobre la configuración de cacheo de tu sitio WordPress.

La granularidad de la configuración del W3TC lo convierte en un plugin ideal para usuarios avanzados y desarrolladores que quieren tener el máximo control sobre sus sitios de WordPress. En este artículo, daremos una mirada en profundidad a la configuración del W3 Total Cache, y te daremos nuestra configuración recomendada para mejorar el rendimiento de tu sitio de WordPress.

Si eres un usuario de Kinsta, no necesitarás configurar ciertos ajustes en W3 Total Cache porque nuestra pila de hospedaje ya tiene muchas optimizaciones incorporadas.

Por ejemplo, como parte de nuestra integración con Cloudflare, Edge Caching guarda la caché de tu sitio/página de Kinsta en cualquiera de los 260+ centros de datos de la red global de Cloudflare.

Edge Caching se incluye de forma gratuita con todos los planes de Kinsta, no requiere un plugin independiente y reduce el tiempo necesario para servir el HTML de WordPress en caché en una media de más del 50%.

¿Cómo instalar W3 Total Cache?

Si no tienes W3 Total Cache instalado en tu sitio, puedes instalarlo directamente en tu panel de control de WordPress. Sólo tienes que buscar «W3 Total Cache» en la página «Add Plugins» e instalarlo.

Instalar W3 Total Cache.
Instalar W3 Total Cache.

También hay una versión Pro de W3 Total Cache, que se puede comprar en sitio web de BoldGrid. La versión Pro viene con algunas características adicionales como la caché de la API de REST, lacaché de Google Maps y extensiones adicionales. En este artículo, usaremos la versión gratuita del repositorio de plugins de WordPress.

¿Dónde se almacenan los ajustes de la caché total del W3?

Después de instalar W3 Total Cache, verás una pestaña de «Rendimiento» en la barra lateral de tu panel de administración de WordPress. Al hacer clic en la pestaña «Rendimiento» se mostrarán varios submenús como «Configuración general», «Caché de páginas», «Minimizar» y más.

Configuración de la barra lateral de W3 Total Cache.
Configuración de la barra lateral de W3 Total Cache.

También puedes acceder a la configuración de W3 Total Cache usando la pestaña «Performance» en la barra de herramientas de administración de WordPress.

Configuración de la barra de herramientas de administración de W3 Total Cache.
Configuración de la barra de herramientas de administración de W3 Total Cache.

¿Cómo purgar la caché total del W3?

Antes de entrar en la configuración de W3 Total Cache, repasemos rápidamente cómo purgar o limpiar tu caché. Si pasas el cursor por encima de la pestaña «Rendimiento» en la barra de herramientas del administrador, verás dos opciones de purgar.

  1. Purga todas las cachés – purga todas las cachés la vez.
  2. Purgar módulos – purgar un caché individual (por ejemplo, activos miniados, caché de páginas, caché de objetos, etc.).
Purga W3 Total Cache.
Purga W3 Total Cache.

Configuración general de la caché total del W3

Vamos a sumergirnos en el menú «Ajustes generales» de W3 Total Cache para configurar algunos ajustes básicos.

Caché de página

De forma predeterminada, cada solicitud a tu sitio de WordPress se realiza en tiempo real. Para ciertos tipos de sitios como tiendas de comercio electrónicoforos de discusión, la renderización dinámica es ideal. Sin embargo, para los blogs, los sitios de noticias y otros sitios que no requieren contenido dinámico, agregar una capa de almacenamiento en caché de páginas puede mejorar el rendimiento y reducir la carga del servidor.

Habilitar el caché de páginas en W3TC.
Habilitar la caché de páginas en W3TC.

Si tu sitio está alojado en Kinsta, no tienes que preocuparte por la caché de páginas. Tenemos una configuración de alto rendimiento a nivel de servidor que automáticamente almacena en caché las páginas de tu sitio en archivos HTML estáticos. Si tu host no ofrece el servicio de cacheo de páginas, puede habilitar la cacheo de páginas en el plugin W3 Total Cache.

Minimizar

Minimizar tus activos HTML, CSS y JavaScript puede reducir el tamaño total de las páginas de tu sitio eliminando los espacios en blanco innecesarios. Para la mayoría de los sitios de WordPress, habilitar la función «Minimizar» de W3 Total Cache y seleccionar la opción «Automático» para el «Modo Minimizar» estará bien.

Minimizar los activos HTML, CSS y JavaScript en W3TC.
Minimizar los activos HTML, CSS y JavaScript en W3TC.

En algunos casos, la minificación de activos puede hacer que se rompa el código CSS o JavaScript, lo que a menudo resulta en errores visibles en el frontend. Si notas problemas inusuales en tu sitio después de la minificación de activos, te recomendamos que trabajes con un desarrollador para identificar los activos que causan problemas. Después de eso, puedes utilizar la función «Minificar» en el modo manual, que te permite evitar la minificación de archivos CSS y JavaScript específicos.

Opcode Cache

WordPress es un CMS dinámico, lo que significa que los trabajadores de PHP están constantemente ejecutando código en segundo plano. La caché de Opcode ayuda a acelerar tu sitio almacenando el código PHP compilado, lo que hace que las solicitudes posteriores que requieren el mismo código sean más rápidas.

Habilitar la caché de opcode en W3TC.
Habilitar la caché de opcode en W3TC.

Si tu sitio está alojado en Kinsta, no tienes que preocuparse por habilitar una capa de caché de opcode en W3 Total Cache. Habilitamos OPcache, una caché opcode, en todos los entornos en vivo. OPcache se deshabilita en los entornos en vivo para asegurar que el código PHP compilado no se cachee y no interfiera con el desarrollo y depuración del sitio.

Si tu host no ofrece opcode cache, recomendamos habilitarlo en W3 Total Cache. Ten en cuenta que la función de caché opcode sólo está disponible en la versión Pro de W3TC.

Caché de la base de datos

La base de datos del W3TC almacena los resultados de las consultas a la base de datos MySQL. Aunque esta característica parece útil, recomendamos mantenerla desactivada y usar un caché de objetos en su lugar.

Caché de la base de datos en W3 Total Cache.
Caché de la base de datos en W3 Total Cache.

Hemos encontrado que en algunos casos, la característica de caché de la base de datos puede resultar en un alto uso de la CPU. Esto significa que la cantidad de CPU ahorrada al almacenar los resultados de la consulta de la base de datos podría terminar siendo compensada por el aumento de CPU requerido para esta característica.

Caché de objetos

En el contexto de WordPress, una caché de objetos almacena los resultados de las consultas completadas a la base de datos. WordPress en realidad tiene una caché de objetos incorporado, pero sólo retiene datos para una carga de una sola página. Esto permite una representación más eficiente de la página porque asegura que una carga de página no tendrá que desperdiciar recursos de la CPU ejecutando consultas idénticas a la base de datos.

Mientras que la caché de objetos predeterminada de WordPress es indudablemente beneficiosa para el rendimiento, una caché de objetos que retiene datos a través de las cargas de las páginas es aún mejor! La característica «Object Cache» de W3TC agrega un script de cacheo personalizado en tu directorio de wp/content, y cambia el comportamiento del cacheo de objetos de WordPress para retener datos de manera persistente (a través de múltiples cargas de páginas).

Recomendamos habilitar la función de caché de objetos de W3TC en tu sitio de WordPress para acelerar las solicitudes que utilizan consultas de bases de datos si tu sitio no está alojado en Kinsta.

Caché de objetos W3 Total Cache.
Caché de objetos W3 Total Cache.

Si tu sitio está alojado en Kinsta, ofrecemos una capa de caché de objetos de alto rendimiento impulsada por nuestro complemento Redis. Redis es un almacén de estructura de datos en memoria de código abierto que se utiliza a menudo para aplicaciones de bases de datos y mensajería.

Dado que Redis almacena datos en la memoria RAM, permite a WordPress acceder a los datos almacenados en la caché de objetos persistentes, lo que es mucho más rápido que las configuraciones tradicionales de caché de objetos.

Caché del navegador

El almacenamiento en caché del navegador puede acelerar considerablemente tu sitio de WordPress al almacenar localmente activos estáticos como CSS, JavaScript, imágenes y fuentes. El almacenamiento en caché del navegador utiliza un período de caducidad para determinar el tiempo de almacenamiento de los activos. En la web moderna, la mayoría de los desarrolladores especifican un período de caducidad de 1 año para los activos estáticos.

Habilitar el almacenamiento en caché del navegador en W3 Total Cache.
Habilitar el almacenamiento en caché del navegador en W3 Total Cache.

Para los sitios alojados en Kinsta, aplicamos un período de caché de 1 año para los archivos estáticos. Esto se puede verificar comprobando el encabezado de cache-control para un archivo estático alojado en Kinsta. Si tu host web no impone un «tiempo de caducidad lejano» para el cacheo del navegador, puedes habilitar la función «Browser Cache» en W3 Total Cache y configurar el período de caducidad.

CDN (Content Delivery Network)

Si estás usando una CDN, o red de entrega de contenido, para descargar archivos estáticos a los centros de datos de todo el mundo, puede configurar W3 Total Cache para reescribir las URLs de «theme files, archivos adjuntos de la biblioteca multimedia, CSS, JS» y más con el nombre de host de tu CDN.

Ajustes de CDN en W3 Total Cache.
Ajustes de CDN en W3 Total Cache.

Si tu sitio está alojado en Kinsta, te recomendamos que utilices Kinsta CDN, nuestra red de entrega de contenido de alto rendimiento impulsada por Cloudflare. Cuando se habilita el CDN de Kinsta, las URL de los archivos estáticos se reescriben automáticamente para ser servidos desde el CDN de Kinsta.

También tienes acceso a otras características integradas, incluyendo la función de minificación de código que permite a los clientes de Kinsta habilitar la minificación automática de CSS y JavaScript directamente en el tablero de MyKinsta con un solo clic.

Si prefieres utilizar otro proveedor de CDN o si tu sitio no está alojado en Kinsta, puedes habilitar la función «CDN» en W3 Total Cache y añadir la URL de tu CDN.

Reverse Proxy

Un proxy inverso se sitúa entre tu servidor web y WordPress, y puede utilizarse para realizar diversas manipulaciones basadas en la lógica en las solicitudes entrantes. W3TC soporta Varnish, que es un popular «acelerador HTTP» para almacenar y servir datos con el objetivo de reducir la carga del backend.

Para poder usar  Varnish, el paquete de Varnish debe ser instalado primero por tu host. Si eres cliente de Kinsta, no actives la opción de proxy inverso ya que nuestra infraestructura no está diseñada para trabajar con Varnish.

Experiencia del usuario

La optimización de la «Experiencia de Usuario» de W3TC te permite habilitar lazy loading , deshabilitar los emojis y desactivar el script wp-embed.js. Recomendamos habilitar lazy loading en tu sitio de WordPress para acelerar la carga de las páginas. Si no estás usando lazy loading nativa del navegador o la basada en plugins, recomendamos usar W3 Total Cache para la carga lenta.

Ajustes de la experiencia del usuario en el W3TC.
Ajustes de la experiencia del usuario en el W3TC.

En el mundo de hoy, la mayoría de los sistemas operativos tienen incorporado el soporte para emojis. Por lo tanto, tal vez quieras deshabilitar el script de emoji incluido en WordPress si no eres un usuario de emoji pesado. Usar W3TC para eliminar wp-emoji-release.min.js te ayudará a afeitar una petición HTTP y eliminar ~10KB de las cargas de tu página.

Del mismo modo, si no incrustas los posts de WordPress, puedes deshabilitar el wp-embed.js con W3 Total Cache. Desactivar este script no afectará la funcionalidad de oEmbed para incrustar videos de YouTube, flujos de SoundCloud, etc.

Miscelánea

W3 Total Cache tiene algunos ajustes misceláneos que también puedes configurar. Si quieres mostrar un widget de Google Page Speed en WordPress, puedes introducir la clave de la API de Page Speed. También hay una opción para mostrar la clasificación de Page Speed en la barra de menú de cada página de tu sitio de WordPress.

Varios ajustes en W3 Total Cache.
Varios ajustes en W3 Total Cache.

Para los demás ajustes como «ruta de archivos de configuración del servidor NGINX«, «habilitar el bloqueo de archivos», «optimizar la página de mejora del disco y minificar el almacenamiento en caché del disco para NFS», recomendamos dejarlos en tu configuración predeterminada a menos que tengas una razón específica para cambiarlos.

Debug

Si estás resolviendo un problema en tu sitio, W3 Total Cache tiene un práctico menú de «Depuración» que te permite desactivar capas de almacenamiento en caché específicas y configuraciones de optimización. Por ejemplo, si notas un fallo visual en tu sitio, puedes activar el modo de depuración para la opción «Minimizar», que insertará comentarios HTML en el código fuente de tu página para ayudarte a solucionar el problema.

Modo de depuración en W3 Total Cache.
Modo de depuración en W3 Total Cache.

Dado que la función de modo de depuración supone una carga adicional para los recursos del servidor, recomendamos que sólo se utilice en un entorno de staging o en horas de poco tráfico. Además, ¡asegúrate de desactivar el modo de depuración cuando termines de solucionar los problemas!

Configuración de importación/exportación

Una vez que hayas terminado de configurar tus ajustes, puedes utilizar la función «Importar/Exportar» del W3TC para crear una copia de seguridad de tu configuración. W3 Total Cache tiene muchos ajustes, así ser capaz de exportar una copia de seguridad completa es genial para la tranquilidad. Además, te permite replicar fácilmente tu configuración personalizada de W3TC en varios sitios sin tener que configurar nada manualmente.

Importar y exportar la configuración del W3TC.
Importar y exportar la configuración del W3TC.

Configuración de caché total del W3 – Caché de páginas

Vamos a sumergirnos en los ajustes de «Caché de páginas» de W3 Total Cache. Recuerda que si tu sitio está alojado en Kinsta, no tienes que preocuparte por la caché de páginas, así que no dudes en saltarte esta sección.

  • Página principal de la caché – Para la mayoría de los sitios, la página principal es típicamente la que recibe más tráfico. Por lo tanto, recomendamos habilitar esta configuración.
  • Cache Feeds – WordPress genera varios feeds RSS, que permiten que aplicaciones y servicios externos como Feedburner muestren el contenido de tu sitio. Aunque el RSS no es tan popular hoy en día como solía ser, todavía recomendamos habilitar esta configuración.
  • Caché SSL (peticiones HTTPS) – Si tu servidor web no fuerza el uso de HTTPS para todas las peticiones entrantes, habilitar esta configuración puede tener un impacto positivo en el rendimiento. Si ya está forzando HTTPS a nivel de servidor web, no es necesario habilitarlo.
  • URIs de caché con variables de cadena de consulta – Una cadena de consulta es un parámetro que se añade al final de la URL (por ejemplo, /?version=123). Las cadenas de consulta se utilizan a menudo para solicitar y mostrar datos específicos de la base de datos de WordPress. En general, el propósito de una cadena de consulta es solicitar una versión única de una página, por lo que recomendamos mantenerla desactivada a menos que tengas cadenas de consulta específicas que quieras almacenar en la caché.
  • Páginas Cache 404 (No encontradas) – Por defecto, W3TC mantiene esta opción desactivada. La razón de esto es probablemente debido al comportamiento de la caché si está usando el método de caché de páginas «Disk Enhanced». Con esa opción seleccionada, las páginas 404 devuelven un código de respuesta de 200. Lo ideal sería que las páginas 404 devolvieran códigos de respuesta 404, por lo que recomendamos probar esta opción con tu configuración de caché para ver si es compatible.
  • No Cachear las páginas para los usuarios conectados – Recomendamos habilitar esta opción. Los usuarios conectados suelen trabajar en la actualización de las páginas. Con el almacenamiento en caché activado, los usuarios tendrían que vaciar la caché constantemente para poder ver las actualizaciones de las páginas.
  • No Cachear Páginas para Ciertos Roles de Usuario – Esta opción te permite evitar el cacheo para ciertos roles de usuario de WordPress. Si la opción «no cachear páginas para usuarios conectados» ya está activada, esta opción no tendrá ningún efecto en el comportamiento de la caché.

Aliases

La función «Alias» de W3 Total Cache te permite almacenar en caché contenido idéntico de WordPres que está disponible en diferentes dominios. No recomendamos habilitar esta función. Si tu sitio de WordPress es accesible en diferentes dominios (por ejemplo, domain.com y www.domain.com), es mejor establecer una regla de redireccionamiento 301 para reenviar las solicitudes a tu dominio principal para evitar penalizaciones por duplicado de Google y otros motores de búsqueda.

Precarga de la caché

La función «Cargar previamente la memoria caché» se arrastra a través del mapa de tu sitio y realiza solicitudes a las páginas de tu sitio para cargar previamente la memoria caché de la página. Para la mayoría de los sitios, recomendamos desactivar la carga previa de la caché porque puede provocar picos de recursos del servidor que compensen los posibles beneficios de rendimiento.

Si deseas habilitar la precarga de la caché, W3TC te permite especificar una URL de mapa de sitio, un intervalo de actualización y páginas por intervalo. Asegúrate de no establecer el «intervalo de actualización» y las «páginas por interno» demasiado alto para reducir la posibilidad de picos en la CPU.

Política de purgar

La «Política de purgar» del W3TC le permite especificar las páginas y los feeds que deseas purgar automáticamente después de que se publiquen o editen los mensajes. Para la mayoría de los sitios, los ajustes predeterminados (página de inicio, página de publicaciones y feeds de blog) deberían ser suficientes. Si deseas añadir páginas adicionales a la política de purgar, hay varias opciones que puede configurar.

REST API

La API REST incluida en WordPress te permite consultar datos con formato JSON. El API de REST es usado por una variedad de plugins, y es crucial para las configuraciones de WordPress sin cabeza. Dependiendo de tu caso de uso exacto del API de REST, el almacenamiento en caché de los resultados de la consulta puede ser una buena idea. El cacheo de la API REST entra en la categoría «si lo necesitas, lo sabrás», por lo que si no estás seguro de si habilitar o no el cacheo de la API REST, te recomendamos dejarlo en «No Cachear».

Avanzado

En las opciones de caché de la página «Avanzado» del W3TC, puedes personalizar una variedad de configuraciones, incluyendo «cadenas de consulta aceptadas», «agentes de usuario rechazados», configuraciones de desviación de caché granular y más. Por ejemplo, si necesitas configurar tu caché total del W3 para que nunca almacene en caché los mensajes de una determinada categoría o etiqueta, podrá hacerlo en las opciones «Avanzadas».

Dado que estos ajustes pueden ser muy específicos de un sitio, no hay «ajustes recomendados» que podamos proporcionar. Dicho esto, si deseas personalizar un aspecto muy específico del comportamiento de almacenamiento en caché de la página de tu sitio, definitivamente dale un vistazo a las opciones avanzadas.

Configuración de la caché total del W3 – Minify

A continuación, repasemos la configuración de «Minimizar» de W3 Total Cache.

  • Reescribir estructura de URL – Este ajuste afecta a la estructura de URL de los activos minificados. Recomendamos mantenerla activada para que tus URLs se vean «bonitas».
  • Deshabilitar la minificación para los usuarios conectados – Si estás realizando alguna solución de problemas o depuración, puede resultar útil deshabilitar la minificación para los usuarios conectados. De lo contrario, recomendamos mantener esta opción desactivada.

HTML & XML

En la sección «HTML & XML», puede configurar los ajustes de minificación de HTML.

  • Minificación de CSS en línea – Recomendamos habilitar esta opción para eliminar los espacios en blanco en el CSS en línea.
  • Minificación JS en línea – Recomendamos habilitar esta opción para eliminar los espacios en blanco en JavaScript en línea. En algunos casos, la minificación JS puede resultar en un error de código. Si al habilitar esta opción se rompe la funcionalidad de su sitio, deshabilítela.
  • No minar los alimentos – Recomendamos mantener esta opción desactivada. Los feeds sólo son utilizados por lectores de RSS y otros servicios similares, por lo que no es necesario minificar los feeds.
  • Eliminación de saltos de línea: esta opción está desactivada de forma predeterminada y no recomendamos habilitarla para garantizar que tu sitio se muestre correctamente.

JS

En la sección «JS», puede configurar los ajustes de minificación de JavaScript.

  • Operaciones en áreas – Esta opción te permite seleccionar el «tipo de embebido» para el JavaScript minificado. Para los archivos JS antes de </head> y después de <body>, puedes elegir entre «bloquear», «no bloquear», «no bloquear usando async» y «no bloquear usando diferir». Mientras que los métodos de carga sin bloqueo típicamente resultan en un mejor rendimiento, no siempre son 100% compatibles con todo el código JavaScript. Además, «async» y «deferir» tienen casos de uso muy diferentes. Por lo tanto, recomendamos usar el método de «bloqueo» por defecto, a menos que sea consciente de las peculiaridades del Javascript no bloqueante.
  • Minimizar o combinar sólo – Puedes elegir entre dos modos de optimización para JavaScript. Cuando se selecciona «Minimizar», sus archivos JS se combinarán y se minarán. Si seleccionas «Combinar sólo», entonces el archivo JS combinado resultante no será minificado. Si tienes problemas relacionados con la minificación y no quieres depurar para averiguar qué script está causando el problema, seleccionar la opción «Combinar sólo» puede solucionar el error.
  • HTTP/2 Push – Si tu servidor soporta HTTP/2 Server Push, habilitar esta opción puede ayudarte a reducir el tiempo de carga de la página. HTTP/2 Server Push empuja los archivos a los visitantes antes de que sean solicitados. Recomendamos hacer las pruebas adecuadas antes de habilitar esta opción en un entorno de producción, ya que el Server Push se utiliza a menudo de forma incorrecta. Server Push no es ideal para archivos JavaScript de gran tamaño, y querrás asegurarte de que los beneficios superan la carga de los archivos JS directamente desde la caché del navegador del visitante.

CSS

En la sección «CSS», puede configurar los ajustes de minificación de CSS.

 

  • Sólo Combinar – A diferencia de los archivos de JavaScript, el CSS no suele sufrir problemas relacionados con la minificación. Por lo tanto, no recomendamos habilitar «Sólo Combinar».
  • Eliminación de comentarios preservados – Esta configuración elimina los comentarios de los archivos CSS. Recomendamos habilitar esta opción para reducir el tamaño del archivo tanto como sea posible.
  • Eliminación de saltos de línea – Este ajuste elimina los saltos de línea de los archivos CSS. Recomendamos habilitar también esta opción. Si notas algún problema de visualización después de habilitar «Eliminación de saltos de línea», desactívalo.

Avanzado

La sección «Avanzado» contiene algunos ajustes adicionales para personalizar el comportamiento de la minificación.

  • Actualizar los archivos externos cada – W3TC te permite especificar la cantidad de tiempo entre las actualizaciones de los archivos CSS y JS. Con la configuración predeterminada de 86400 segundos, tus activos serán descargados y minados cada 24 horas. Si tu sitio no cambia con frecuencia, no dudes en establecer un período de tiempo más largo.
  • Intervalo de recolección de basura – Este ajuste de período de tiempo especifica la frecuencia con la que se eliminan los datos de la caché que han caducado. El ajuste predeterminado es 24 horas. Si su sitio tiene poco espacio de almacenamiento, recomendamos bajar el «Intervalo de recolección de basura».

 

El resto de la sección «Avanzado» incluye campos de entrada que permiten especificar archivos de activos que nunca deben ser minados. También hay un campo «Agentes de usuario rechazados» que permite servir archivos no minificados a ciertos agentes de usuario. Por último, puede agregar archivos de activos externos para incluirlos en el proceso de minificación de W3 Total Cache.

Configuración de la caché total del W3 – Caché de objetos

Lo siguiente en la lista es la configuración de la «Caché de objetos» del W3TC. Para la mayoría de los sitios, la configuración por defecto funcionará bien, pero repasémosla de todas formas.

 

  • Tiempo de vida predeterminado de los objetos de lacaché – El tiempo de caducidad de los objetos de la caché que no se han modificado. Un período de tiempo más largo resulta en un caché de objetos más grande. Si te preocupa la capacidad de almacenamiento de tu servidor, te recomendamos que mantengas el valor predeterminado o que lo reduzca.
  • Intervalo de recogida de basura – Este ajuste especifica la frecuencia con la que los datos de la memoria caché caducados son desechados. El valor por defecto de 3.600 segundos (1 hora) debería estar bien para la mayoría de los sitios.
  • Grupos Globales – Esta configuración te permite configurar grupos de almacenamiento en caché compartidos entre sitios en una sola red de sitios múltiples. Recomendamos dejar esta configuración en su estado predeterminado a menos que tenga una razón específica para cambiarla.
  • Grupos no persistentes – Este ajuste le permite seleccionar los grupos de objetos que no se deben almacenar nunca. De nuevo, recomendamos seguir con la configuración predeterminada.
  • Habilitar el almacenamiento en caché para las solicitudes de wp-admin – Esta opción está deshabilitada de forma predeterminada, y no recomendamos habilitarla porque puede causar efectos secundarios. Además, los visitantes de la mayoría de los sitios de WordPress nunca interactúan con el panel de control de wp-admin.

Configuración de la caché total del W3 – Caché del navegador

La mayoría de los hosts de WordPress, incluyendo a Kinsta, ya implementan cabeceras de caché de navegador adecuadas a nivel de servidor web. Si tu host no lo hace, o si quieres personalizar más el comportamiento de cacheo del navegador, puedes hacerlo con W3 Total Cache.

En la configuración del «Browser Cache», los ajustes predeterminados para las secciones «General», «CSS & JS», y «HTML & XML» y «Media y otros archivos» son adecuados para la mayoría de los sitios de WordPress. Dado que hay tantos ajustes en esta página, recomendamos consultar con un desarrollador antes de hacer cualquier cambio en el comportamiento de almacenamiento en caché del navegador. Dicho esto, a continuación se presentan algunos ajustes clave para prestar atención con respecto al almacenamiento en caché del navegador.

  • Expires Headers Lifetime – Configurar un largo «expires headers life» es importante para un eficiente cacheo del navegador. En Kinsta, imponemos un año de vida útil para los activos estáticos como CSS, JS, imágenes y fuentes. Si estás usando W3TC para configurar el cacheo del navegador, asegúrate de establecer este valor en 31536000 (1 año).
  • Política de control de caché – Para asegurar que tus activos estáticos son almacenados en caché por los navegadores, asegúrese de que la «política de control de caché» está establecida en «public, max_age=EXPIRES SECONDS».
  • Habilitar la compresión HTTP (gzip) – La compresión GZIP reduce drásticamente el tamaño del archivo de las páginas HTML y los activos antes de que se envíen a los visitantes, así que asegúrese de habilitar esta opción si la configuración del servidor de tu host soporta GZIP. Si tu sitio está alojado en Kinsta, no hay necesidad de habilitar la compresión GZIP en el W3TC porque ya está habilitada como parte de nuestra configuración predeterminada.
  • Eliminar las cadenas de consulta de los recursos estáticos – Una cadena de consulta es una cadena adicional que se añade al final de una ruta URL para especificar los parámetros de la solicitud o forzar a un servidor web a entregar un nuevo activo. Las cadenas de consulta comienzan con un ?, y la mayoría de los servidores web están configurados para evitar la caché de las solicitudes con cadenas de consulta. La eliminación de las cadenas de consulta de las solicitudes de páginas es útil para reducir la carga del servidor, ya que estas solicitudes utilizan PHP para renderizar las páginas. No recomendamos eliminar las cadenas de consulta de los recursos estáticos en W3 Total Cache porque ayudan a asegurar que la última versión de los archivos CSS y JS se entregue a sus visitantes.

La página de configuración del «Browser Cache» también contiene una variedad de configuraciones relacionadas con los encabezados de seguridad como la Política de Seguridad de Contenido (CSP) y la Protección X-XSS. Siempre recomendamos trabajar con un desarrollador calificado para revisar estas configuraciones, ya que las configuraciones incorrectas pueden afectar directamente la experiencia del usuario de su sitio. Por ejemplo, si se habilita el encabezado HSTS sin un certificado SSL y una configuración HTTPS adecuados, su sitio puede resultar inaccesible.

Configuración de la caché total del W3 – Grupos de agentes de usuario

La función «Grupos de agentes de usuario» de W3 Total Cache es muy potente si necesitas redirigir el tráfico en función del tipo de dispositivo de un usuario. Por ejemplo, puedes configurar tu sitio para que se muestre con un tema diferente si un usuario visita tu sitio desde un teléfono móvil. Del mismo modo, puede redirigir a los usuarios a un sitio completamente diferente si su sitio móvil vive en un subdominio único.

En la era del diseño de páginas web sensibles, no vemos demasiados casos de uso para esta característica en particular. Hoy en día, la mejor práctica es hacer que tu sitio responda desde el principio en lugar de depender de múltiples temas o de un subdominio sólo para móviles.

Configuración de la caché total del W3 – Grupos de referencia

Un remitente HTTP es un encabezado HTTP opcional que proporciona información sobre el origen de una solicitud. Por ejemplo, si un visitante hace clic en tu sitio desde un listado de la Búsqueda de Google, el referente HTTP sería google.com.

En W3 Total Cache, puedes definir un comportamiento de caché personalizado basado en el referenciador HTTP de una solicitud con «Grupos de Referenciadores». Por ejemplo, puedes crear un grupo de referencia que consista en motores de búsqueda y personalizar el comportamiento de almacenamiento en caché sólo para las solicitudes de esos dominios.

De manera similar a los «Grupos de agentes de usuarios» mencionados anteriormente, también puede redirigir las solicitudes a un dominio diferente con la función «Grupos de referencia». La mayoría de los sitios de WordPress no necesitarán configurar grupos de referencia, así que no recomendamos configurar ninguno.

Configuración de caché total del W3 – Grupos de cookies

El último grupo de cacheo que apoya W3 Total Cache es «Grupos de Galletas». Esta característica te permite crear cubos de cacheo únicos y comportamientos basados en las cookies de una solicitud. Similar a los «Grupos de agentes de usuario» y «Grupos de referencia», la mayoría de los sitios no necesitarán establecer una configuración de caché personalizada basada en cookies. Si tu sitio requiere un almacenamiento en caché basado en cookies, le recomendamos que trabaje con un desarrollador para configurarlo correctamente.

Configuración de la caché total del W3 – CDN

Ahora, pasemos a la configuración del CDN de W3 Total Cache.

  • Archivos adjuntos del host – Habilítalo para servir los activos de tu biblioteca multimedia de WordPress desde tu CDN.
  • Host wp-includes/ Files – Habilita esto para servir archivos en la carpeta wp-includes de tu CDN.
  • Archivos de temas del host – Habilita esto para servir tus archivos de temas de tu CDN.
  • Hospedar archivos CSS y JS minificados – Habilita esto para servir los archivos CSS y JS minificados del W3TC desde tu CDN.
  • Aloja archivos personalizados – Si tienes archivos que no están en tu biblioteca multimedia o en tu carpeta de temas, puedes agregar las rutas de archivo en W3TC para servirlos desde tu CDN.
  • Agregar encabezado canónico – Una etiqueta rel="canonical" ayuda a los motores de búsqueda a identificar la fuente o URL original. Dado que las CDN suelen utilizar un dominio diferente, al agregar una etiqueta canónica se notifica a los motores de búsqueda la ubicación del activo original. Dicho esto, está bien mantener esta configuración desactivada porque los motores de búsqueda modernos son lo suficientemente inteligentes como para identificar las CDN sin afectar a las clasificaciones de SEO de tu sitio.

Avanzado

  • Sólo purgar el CDN manualmente – Recomendamos mantener esta opción desactivada para que W3TC pueda manejar las purgas de la caché automáticamente.
  • Deshabilitar CDN en las páginas SSL – Mantener esta configuración desactivada. Si estás usando un CDN, es mejor tenerlo activo tanto en las páginas HTTP como en las HTTPS.
  • Usar los enlaces CDN para la biblioteca multimedia en las páginas de administración – No recomendamos habilitar esta opción porque reescribirá las direcciones URL de tu biblioteca multimedia.
  • Agregar encabezado CORS – Mantén esta configuración activada para permitir que tus activos CDN se muestren en otros dominios.
  • Deshabilitar CDN para los siguientes roles – Esta opción permite deshabilitar CDN para ciertos roles de usuario de WordPress. En la mayoría de los casos, es mejor mantener esta opción desactivada.
  • wp-includes File Types to Upload – Este campo especifica los formatos de archivo en el wp-includes que serán servidos desde tu CDN. La lista predeterminada de formatos de archivo debería ser adecuada para la mayoría de los sitios. Si tienes archivos personalizados en tu carpeta wp-includes, no dude en agregar formatos adicionales según sea necesario.
  • Tipos de archivo de temas para cargar – Este campo especifica los formatos de archivo en la carpeta de temas de WordPress que se servirán desde el CDN. La lista predeterminada contiene todos los formatos populares de activos, imágenes y fuentes. No dudes en añadir formatos adicionales si es necesario.
  • Lista de archivos personalizados – Si has habilitado «Host de archivos personalizados», puedes añadir una lista de archivos en este campo para servir desde tu CDN.
  • Agentes de usuario rechazados – Este campo te permite especificar los agentes de usuario que no serán activos servidos de tu CDN. Recomendamos mantener este campo vacío para asegurarse de que tu CDN se utiliza correctamente.
  • Archivos rechazados – Este campo te permite especificar los archivos que no deben ser servidos desde tu CDN. Si un servicio que está utilizando requiere que los activos se sirvan desde tu dominio raíz, puede agregar la ruta del archivo al campo «Archivos rechazados».

Configuración de la caché total del W3 – Experiencia del usuario

A continuación, vamos a personalizar la configuración de la «Experiencia del usuario», o lazy loading, en W3 Total Cache.

  • Procesar etiquetas de imágenes HTML – Habilitar esto para asegurar que las imágenes se cargan con lazy loading.
  • Procesar imágenes de fondo – Si estás usando «fondo» para mostrar una imagen en CSS, habilitar esta opción permitirá que esas imágenes sean cargadas de forma lazy loading.
  • Excluir palabras – En este campo, puede especificar el texto para evitar lazy loading. Por ejemplo, si agregas "no-lazy-load" a este campo, una imagen mostrada con <img src="image.jpg"> no se cargará por lentitud.
  • Método de inserción del guión – Este ajuste permite personalizar el método de carga del guión de lazy loading. El método async predeterminado es la mejor opción para la mayoría de los sitios. Si tu sitio sólo consiste en una única página de destino, el método inline puede utilizarse para reducir el número de solicitudes HTTP para cargar la página.

Extensiones disponibles para W3 Total Cache

El W3 Total Cache ofrece varias extensiones para integrarse con servicios de terceros. W3TC actualmente tiene extensiones para los siguientes servicios.

Si utilizas alguno de estos servicios en tu sitio, te recomendamos que configures la extensión correspondiente para garantizar la compatibilidad adecuada con W3 Total Cache. En esta sección, echaremos un vistazo a la extensión Cloudflare para W3 Total Cache.

¿Cómo configurar W3 Total Cache con la extensión Cloudflare?

Para integrar Cloudflare con W3 Total Cache, necesitarás dos datos de tu panel Cloudflare: el correo electrónico de la cuenta y la clave de la API. El correo electrónico de la cuenta es la dirección de correo electrónico que utilizas para acceder a Cloudflare. Veamos cómo configurar una clave de la API de Cloudflare.

En el tablero de Cloudflare, haz clic en la pestaña «Visión general». A continuación, desplázate hacia abajo y haz clic en «Get Your API Token» en la barra lateral derecha.

Vea su clave de API global de Cloudflare.
Vea su clave de API global de Cloudflare.

Desplázate hacia abajo y haz clic en Ver junto a «Clave de API global» para obtener tu clave de API de Cloudflare. Ten cuidado de no compartir esta clave de la API en ningún lugar fuera de W3 Total Cache porque puede ser utilizada para controlar tu cuenta de Cloudflare.

Vea su clave de API global de Cloudflare.
Ve tu clave de API global de Cloudflare.

A continuación, activa la extensión Cloudflare en la página «Extensiones» de W3 Total Cache y haz clic en «Configuración». En la sección «Credenciales», haz clic en el botón «Autorizar«.

Authorize Cloudflare in W3 Total Cache.
Autorizar Cloudflare en W3 Total Cache.

En la siguiente ventana emergente, introduce el correo electrónico de tu cuenta de Cloudflare y la clave de la API. Si recibes un mensaje de error, comprueba que tu dirección de correo electrónico y la clave de la API sean correctas. Después de que las credenciales sean autorizadas, deberías ver configuraciones adicionales de Cloudflare en la página.

Ajustes de Cloudflare en W3 Total Cache.
Ajustes de Cloudflare en W3 Total Cache.

Repasemos los ajustes de Cloudflare en W3 Total Cache.

  • Intervalo de estadísticas del widget – Esto especifica el período de tiempo cubierto por el widget Cloudflare del W3TC. El ajuste por defecto es de 30 minutos. Si deseas ver un período de tiempo más largo, siéntase libre de aumentarlo.
  • Tiempo de caché – Esto especifica la cantidad de tiempo que los datos de los widgets de Cloudflare se almacenan en caché. Si no planeas usar mucho el widget, te recomendamos que aumentes este número para reducir el número de peticiones a Cloudflare desde tu sitio.
  • Cacheo de páginas – Si has configurado Cloudflare para cachear páginas HTML para tu sitio de WordPress, habilita esta opción para borrar automáticamente la caché de Cloudflare después de las modificaciones y actualizaciones de los mensajes.

Cloudflare Caching

Esta sección te permite personalizar la configuración de almacenamiento en caché de Cloudflare.

  • Modo de Desarrollo – Mantén esta opción desactivada a menos que necesites poner a Cloudflare en Modo de Desarrollo. Cuando Cloudflare está en Modo de Desarrollo, edge caching, minificación y optimización de imágenes están desactivados durante tres horas. Esto te permite ver las actualizaciones de los archivos CSS y JS inmediatamente y es útil para la solución de problemas.
  • Nivel de caché – Para la mayoría de los sitios, recomendamos usar el nivel de caché «Estándar», que sirve un recurso diferente cada vez que la cadena de consulta cambia. Si estás 100% seguro de que tu sitio de WordPress no utiliza cadenas de consulta para servir contenido dinámico, también puedes utilizar la opción «Ignorar cadena de consulta».
  • Cache TTL del navegador – Recomendamos configurar la cache TTL del navegador Cloudflare a 31536000 segundos, lo que equivale a 1 año.
  • Desafío TTL – Cloudflare ofrece una variedad de servicios relacionados con la seguridad, y los desafíos de los visitantes es uno de ellos. Si Cloudflare detecta un usuario malicioso o un comportamiento extraño, servirá un mensaje de desafío en forma de un Captcha. El ajuste «Challenge TTL» especifica el tiempo que un usuario tendrá acceso a su sitio después de completar un desafío. Con el ajuste predeterminado de 3600 segundos, un visitante que haya sido objeto de un desafío podrá utilizar su sitio durante 1 hora antes de otro desafío.
  • Edge Cache TTL – Este ajuste controla durante cuánto tiempo se almacenarán en caché los activos en los servidores edge de Cloudflare. Recomendamos configurar esto al valor máximo de 31536000 segundos, o 1 año.

Procesamiento de contenido Cloudflare

Vamos a sumergirnos en los ajustes de procesamiento de contenidos de Cloudflare en W3 Total Cache.

  • Rocket Loader  – Rocket Loader de Cloudflare acelera la carga de JavaScript para tu sitio de WordPress. Recomendamos habilitar Rocket Loader si tu sitio tiene mucho JS.
  • Minimizar JS/CSS/HTML – Si ya has habilitado la minificación para HTML, CSS, y JavaScript en W3 Total Cache, siéntete libre de mantener estas opciones en la configuración de la extensión Cloudflare desactivada, ya que no hay necesidad de minificar los activos que ya han sido minificados.
  • Excluir del lado del servidor (SSE) – Esta opción te permite ocultar información sensible de los visitantes sospechosos (considerados por Cloudflare). Las exclusiones del lado del servidor son útiles para ocultar información como la dirección de correo electrónico, números de teléfono y otra información personal en tu sitio. Para usar SSE, habilítalo y envuelve la información sensible en las <!--sse--><!--/sse--> tu código HTML o plantilla de tema PHP.
  • Ofuscación de correo electrónico – Cuando esta opción está activada, Cloudflare ofuscará automáticamente las direcciones de correo electrónico en tu sitio de WordPress con JavaScript. Aunque la ofuscación no va a eliminar completamente el spam de correo electrónico, recomendamos habilitar esta opción porque disuade a los robots básicos de raspar las direcciones de correo electrónico de tu sitio.

Procesamiento de imágenes Cloudflare

Repasemos los ajustes de procesamiento de imágenes de Cloudflare.

  • Protección de Hotlink – Activar la protección de hotlink evitará que otros sitios incrusten tus imágenes. Si se encuentra con límites de ancho de banda debido a incrustaciones externas no autorizadas, activar la «Protección Hotlink» puede ayudarle a reducir el uso del ancho de banda.
  • Mirage (Sólo para profesionales) – Mirage optimiza la entrega de imágenes a dispositivos y redes de bajo ancho de banda. Esta característica sólo está disponible en el plan Cloudflare Pro y superior.
  • Polaco (Sólo Pro) – El polaco optimiza las imágenes de su sitio, y puede ser configurado para servir las imágenes WEBP a los navegadores soportados. Esta característica sólo está disponible en el plan Cloudflare Pro y superior.

Protección Cloudflare

La característica principal de Cloudflare es un sofisticado cortafuegos que puede ayudar a protegerte contra los ataques DDoS y los actores maliciosos. Repasemos las configuraciones de seguridad de Cloudflare.

  • Nivel de seguridad – Este ajuste controla la sensibilidad del cortafuegos y las reglas de seguridad de Cloudflare. Recomendamos ajustar el «Nivel de Seguridad» a «Medio» para la mayoría de los sitios.
  • Comprobación de la integridad del navegador – Esta característica busca el mal comportamiento y los agentes de usuario sospechosos. Si detecta un usuario potencialmente malicioso o un spammer, Cloudflare automáticamente servirá un desafío. Recomendamos habilitar esta característica.
  • Siempre en línea – Esta opción servirá para las páginas HTML estáticas de tu sitio si tu origen se cae. Recomendamos habilitarla si has configurado Cloudflare para almacenar HTML en caché.
  • Web Application Firewall – El WAF de Cloudflare, o cortafuegos de aplicaciones web, escaneará el tráfico entrante y filtrará el «tráfico ilegítimo» para que no llegue a tu sitio. Recomendamos habilitar esta función.
  • Protección avanzada de DDoS – Esta característica está activada de forma predeterminada, y no puede ser desactivada mientras el proxy de Cloudflare esté activo. La protección DDoS ayuda a proteger tu sitio de los ataques de «denegación de servicio distribuido».
  • Subida máxima – Esto establece el tamaño máximo permitido de los archivos para subirlos a tu sitio. Debes asegurarte de que este ajuste sea igual o mayor que el tamaño de archivo que subas en WordPress.

Cloudflare SSL

Por último, querrás asegurarte de que tu configuración de Cloudflare SSL está correctamente configurada. Repasemos la configuración correcta en esta sección.

  • SSL – Si tu sitio está alojado en Kinsta, te recomendamos que utilices la opción de SSL «Completo» o «Completo (estricto)». La opción «Flexible» no es compatible con nuestra infraestructura. La opción «Completa» requiere un SSL de una autoridad de certificación válida, mientras que la opción «Completa» también admite SSL autofirmado. La opción «Flexible» no requiere un certificado SSL en el servidor de origen – no recomendamos esta opción porque es la más insegura.
  • Sólo TLS 1.2 TLS, o Seguridad de la Capa de Transporte, es un protocolo seguro para transferir datos a través de una red. Algunas normas de cumplimiento de la PCI requieren que se elimine el soporte para TLS 1.1 y siguientes. Si eso es un requisito para tu sitio, usted puedes habilitar la configuración de «TLS 1.2 Only» en Cloudflare para establecer la versión mínima de TLS a 1.2.

Lectura recomendada: Cómo Configurar el APO de Cloudflare para WordPress.

Configuración de W3 Total Cache WooCommerce

WooCommerce es la plataforma de comercio electrónico más popular para los sitios de WordPress. Si utilizas W3 Total Cache con tu tienda impulsada por WooCommerce, querrás asegurarte de que la configuración es correcta para evitar el almacenamiento en caché de los detalles de los clientes.

Evitar las cookies de WooCommerce

Para evitar el almacenamiento en caché de páginas que tienen cookies específicas de WooCommerce, ve a la configuración de «Caché de páginas» de W3TC, baja a «Cookies rechazadas» y añade los cuatro elementos siguientes.

  • woocommerce_items_in_cart
  • woocommerce_cart_hash
  • wp_woocommerce_session_
  • wordpress_logged_in
Evita las cookies de WooCommerce en W3 Total Cache.
Evita las cookies de WooCommerce en W3 Total Cache.

Para estar seguros, también recomendamos evitar las URLs específicas de WooCommerce como la página del carrito, la página de pago y la página de la cuenta. Para evitar que estas páginas se almacenen en la memoria caché, ve a la configuración de «Caché de páginas» de W3TC, y agrega los URLs a la sección «Nunca almacene en caché las siguientes páginas».

Evita las páginas de WooCommerce de W3 Total Cache.
Evita las páginas de WooCommerce de W3 Total Cache.

¿Cómo restablecer todos los ajustes en la caché total del W3?

En algunos casos, es posible que tengas que volver a empezar con la configuración del W3TC. A continuación, te indicamos cómo revertir la configuración predeterminada del W3 Total Cache. Ve al menú «Configuración general» del W3TC, baja a la sección «Importar/Exportar configuración» y haz clic en Restaurar configuración predeterminada.

Restablecer la configuración predeterminada de W3 Total Cache.
Restablecer la configuración predeterminada de W3 Total Cache.

Resumen

Como puedes ver, el plugin de W3 Total Cache está repleto de características y ajustes. Desde el almacenamiento en caché de páginas, a la minoración de activos, a la integración de Cloudflare, W3TC tiene todo lo que necesitas para aumentar el rendimiento de tu sitio de WordPress!

En este artículo, revisamos nuestro plugin de configuración recomendado para el W3TC. ¿Tienes un plugin de optimización de WordPress favorito? Haznoslo saber en los comentarios de abajo!

Brian Li

Brian has been a WordPress user for over 10 years, and enjoys sharing his knowledge with the community. In his free time, Brian enjoys playing the piano and exploring Tokyo with his camera. Connect with Brian on his website at brianli.com.