Uno de los factores que afectan muy directamente a la experiencia de usuario es la velocidad de navegación, medido en el tiempo que pasa desde el momento que un usuario solicita una página web hasta que ésta se muestra en su pantalla.
Normalmente, se asocia la velocidad de navegación con dos componentes principales: la potencia del servidor que aloja la página web y el ancho de banda de sus líneas de conexión.
Sin embargo, hay otro componente (por eso te hablaremos sobre los plugins de caché) que también influye directamente en la velocidad de navegación: el tiempo de generación de las páginas web (dinámicas); esto es, cuánto tiempo necesita el servidor para generar la página web que visita un usuario.
A primera vista, puede parecer que esté relacionado con la potencia del servidor (a mayor potencia, menor tiempo de generación) y, en parte, es así. Sin embargo, existe un mecanismo que consigue reducir este tiempo de generación, sin necesidad de aumentar la potencia del servidor.
Estamos hablando de las cachés, una herramienta que libera al servidor de generar continuamente gran parte de las páginas web que visitan los usuarios, de forma que la misma potencia de servidor podrá dar servicio más rápido a mayor número de usuarios.
En este artículo vamos a conocer mejor qué es y cómo funcionan las cachés, cómo podemos utilizarlas en WordPress y una selección de los mejores plugins de caché para WordPress.
¿Qué es una caché y para qué sirve?
Para comprender qué es una caché, en el contexto de las páginas y sitios web, primero debemos saber cómo funcionan los servidores web para entregar las páginas web cuando un usuario están navegando desde su navegador.
En líneas generales, este proceso es el siguiente:
- El usuario introduce la dirección web (URL) de la página que quiere visitar en su navegador web.
- El servidor web con esa dirección recibe esa petición y empieza a gestionarla.
- La generación de esa página web puede involucrar varios accesos al sistema de ficheros y a la base de datos, sobre todo si se utiliza un gestor de contenidos, como WordPress.
- Una vez que el servidor web tiene toda la información y contenido de la página solicitada, la genera y la devuelve al navegador del usuario.
- El usuario ve en su navegador la página web completa que ha solicitado, con todos sus recursos (imágenes, hojas CSS, scripts, etc.), sin ser consciente de toda la actividad que ha realizado el servidor web.
Como veis, conceptualmente es un proceso muy sencillo, basado en el modelo cliente-servidor, en que el navegador es el cliente y el servidor web es el servidor.
En esta secuencia, la relevancia de una caché aparece entre los puntos 2 y 4; es decir, cuando el servidor web recibe la petición del usuario, genera la página web correspondiente y se la entrega (junto con los recursos que necesite).
La tarea de generar la página web, con todos los accesos a disco y base de datos que suele necesitar, más la ejecución de diversas aplicaciones o ficheros de scripts de servidor, resulta muy costosa en consumo de recursos de servidor, tanto de memoria como de tiempo de procesador.
El problema aparece porque esta misma operación debe realizarse CADA VEZ que un usuario solicita esa página; es decir, si 1.000 usuarios navegan hasta ella, el servidor web deberá generarla también 1.000 veces... incluso aunque esa página web sea la misma para todos los usuarios.
Un total desperdicio de recursos del servidor, ¿verdad? Es en este punto donde la caché viene al rescate...
¿Cómo funciona una caché?
Para evitar ese desperdicio de recursos, las caché intervienen intercalándose en el proceso de navegación y generación de páginas web que vimos en el punto anterior, de la siguiente forma:
- El usuario introduce la dirección web (URL) de la página que quiere visitar en su navegador.
- El servidor web con esa dirección recibe esa petición y comprueba si la caché dispone de una copia, ya generada, de esa página web.
- Si existe esa página web, la caché comprueba si se ha modificado desde que se almacenó en una visita anterior:
En caso afirmativo, la caché la borra y el proceso continúa en el punto 4.
En caso de que no se hubiera modificado, la caché la entrega al servidor web que, a su vez, le devuelve al usuario y el proceso continúa en el punto 6. - Si no existe esa página web (o si se hubiera modificado), se procede con la generación habitual de esa página web, visto anteriormente. Terminado este proceso, se guarda una copia de la página en la caché.
- El servidor web dispone de toda la información y contenido de la página solicitada, así que la genera y la devuelve al navegador del usuario.
- El usuario ve en su navegador la página web completa que ha solicitado, con todos sus recursos (imágenes, hojas CSS, scripts, etc.), sin ser consciente de toda la actividad que ha realizado el servidor web.
Gracias a la caché, liberamos al servidor de generar una y otra vez la misma página web con cada visita, por lo que podrá atender muchas más peticiones de usuarios y con mayor rendimiento (en definitiva, velocidad de navegación).
Lectura recomendada:
Mejora la velocidad de tu Web con Magic Caché.
¿Cuánto aumenta el rendimiento con una caché en WordPress?
Sobre el papel, el concepto de caché tiene total lógica: si liberamos al servidor de realizar algunas tareas, podrá atender más peticiones de usuario y, operativamente, mostrará mejor rendimiento.
Ahora bien, aplicado a la práctica, ¿realmente obtenemos esa mejora de rendimiento con una caché en WordPress? Y, si es así, ¿cuánta es esa mejora?
Para comparar la diferencia de comportamiento con y sin caché, debemos medir el tiempo de respuesta del servidor para entregar una misma página web en ambos escenarios.
Disponemos de varias herramientas online que miden el tiempo de respuesta de un servidor web, al tiempo que analizan y detallan multitud de aspectos técnicos que intervienen durante la carga de una página web.
A continuación se muestran las herramientas más utilizadas para esta medición y análisis del rendimiento de una página web:
- Pagespeed Insights, proporcionada por Google, otorga un valor numérico, de 0 a 100, a una página web en función de su rendimiento, junto con un listado de incidencias y recomendaciones para optimizarla.
- Pingdom Website Speed Test, además de una valoración numérica, ofrece varias métricas durante la carga de una página web, como el tiempo de carga o el número de peticiones anexas a esa carga, y un detallado informe de evaluaciones técnicas para optimizarla.
- GTmetrix, también ofrece varias métricas, así como un detallado informe de los factores evaluados, ordenados en función del impacto que tenga en el posible retardo del tiempo de carga de una página web.
- WebPageTest, además de métricas y un detallado informe, repite varias las mediciones sobre una misma página web, para contrarrestar cualquier problema puntual del servidor o la conexión.
Usando GTmetrix, la portada del sitio web www.afernandezalonso.com, con un plugin de caché activado, muestra la siguiente respuesta:
Haz clic en la imagen para ampliarla
Después de desactivar la caché, esta misma página web muestra el siguiente comportamiento:
Haz clic en la imagen para ampliarla
Las imágenes hablan por sí solas: la ganancia entre utilizar caché y no utilizarla es bastante significativa en varias métricas y más de dos segundos en el tiempo total de carga. Definitivamente, instalar una caché en WordPress aporta una mejora sustancial en su rendimiento.
Ahora bien, esto no significa que sea suficiente con instalar un plugin de caché en WordPress: páginas web con exceso de recursos, imágenes no optimizadas o un mal mantenimiento de WordPress puede provocar un importante retraso en el tiempo de carga que ninguna caché puede solucionar.
Así, una caché debe formar parte de una estrategia de optimizaciones en WordPress que, muchas de ellas, revisan las propias herramientas de medición y recomiendan cómo resolverlas cuando detectan su ausencia.
5 Plugins de caché en WordPress
Ahora que sabemos qué es, cómo funciona y cómo impacta tener una caché en un sitio web, la siguiente pregunta que nos haríamos es cómo disponer de una caché en nuestra web en WordPress.
Disponemos de plugins para WordPress que habilitan una caché para el sitio web, interviniendo en el proceso de generación y almacenamiento de páginas web tal como se describió en la sección anterior.
Es decir, almacenan versiones estáticas de las páginas y, cuando llega una petición web para esa página, comprueban que esté al día con la página “original” (esto es, almacenada en la base de datos de WordPress) y, de ser así, la entregan al usuario.
Antes de ver una selección de los 5 mejores plugins de caché para WordPress, es importante hacer una consideración previa.
La instalación y activación de un plugin de caché en WordPress puede ser una tarea delicada, dependiendo de la complejidad del sitio web.
No debemos olvidar que un plugin de caché está “puenteando” el proceso de generación y entrega de páginas web de WordPress, para poder completar su función de cacheado.
Cualquier mínima discordancia en esta integración, ya sea por interferencia con otros plugins instalados en ese mismo WordPress o por una configuración inadecuada del plugin, puede dejar sin servicio nuestro sitio web.
No es habitual que tengamos problemas con uno u otro plugin de caché, pero siempre es conveniente hacer antes una copia de seguridad y tener un plan de contingencia preparado por si cometemos algún error durante su configuración.
Dicho esto, veamos a continuación los plugins de caché para WordPress...
WP Super Cache
WP Super Cache, desarrollado por el mismo equipo de WordPress, es uno de los plugins de caché más utilizados para WordPress, lo que asegura una integración al máximo nivel.
Lo que más puede sorprendernos de este plugin es la simplicidad de su panel de configuración: siete pestañas. Aunque, en realidad, la mayoría de las veces tendremos más que suficiente con dos ellas: la pestaña “Fácil”, para iniciar o parar el caché; y la pestaña “Contenido”, para comprobar las páginas web almacenadas en la caché.
El plugin permite configurar el caché con los tres métodos siguientes:
- Simple, el más recomendado porque no hace falta editar ningún fichero del sistema o de WordPress (.htaccess, PHP). Usuarios sin conocimientos técnicos debería optar siempre por esta opción.
- Experto, es el método más eficaz para entregar lo más rápidamente posible las páginas web en caché a los usuarios. Sin embargo, requiere conocimientos técnicos de WordPress y del servidor para modificar los ficheros de sistema.
- WP Super Caching. Sirve para almacenar en caché las páginas web de usuarios logados (esto es, que hayan iniciado una sesión en el sitio web). A este respecto, es muy flexible, pero no es tan rápido como los dos anteriores.
Con respecto a su precio... no puede ser más atractivo: gratuito. Y no por ello, menos potente que otros (de hecho, se codea con los mejores).
W3 Total Cache
Sin temor a exagerar, se puede afirmar que W3 Total Cache es uno de los plugins de caché para WordPress más avanzados. Esto no impide que empecemos a utilizarlo eficientemente nada más instalarlo, pero solo los usuarios más técnicos podrán sacar partido de sus múltiples opciones de configuración.
Lo primero que llama la atención en este plugin es que su apartado de Configuración dispone de hasta ¡¡16 páginas!! Esto puede asustar incluso a los usuarios más experimentados (de hecho, algunas opciones hay que manipularlas muy cuidadosamente).
Sin embargo, no es necesario revisar cada opción de configuración para hacer que funcione en nuestro sitio web. En general, salvo webs complejas, la configuración predeterminada ofrece un servicio de caché entre los más rápidos.
Así, cada página de configuración está dedicada a diferentes tipos de caché, como caché de páginas, caché de objetos, caché de bases de datos y caché del navegador.
Entre sus características más sobresalientes, permite la minimización y concatenación de los ficheros HTML, CSS y JavaScript, activación de la compresión GZIP, integración con CDN’s y soporte móvil AMP y certificados SSL.
W3 Total Cache dispone de versiones gratuitas y Premium, pero realmente solo los sitios web más grandes y complejos necesitarán utilizar las opciones de configuración adicionales de la versión Premium.
WP Rocket
WP Rocket ofrece una de las soluciones de caché más completas para WordPress, a costa de solo tener disponible la versión Premium (no hay versión gratuita).
Se puede arrancar el plugin desde el momento de su instalación y activación, con la configuración por defecto, sin tener que tocar las opciones de configuración avanzada, aunque sí que será necesario hacerlo para sacarle el máximo rendimiento.
Este plugin ofrece una variedad de mecanismos de caché y optimización de páginas, como la precarga de la caché (sin tener que esperar la primera visita de un usuario), optimización de la caché del navegador, compresión GZIP, así como concatenación y minimización de HTML, CSS y JavaScript.
Una característica muy útil para sitios web con mucho contenido gráfico (imágenes) es carga diferida de las imágenes (“Lazy Load”), de forma que las imágenes solo se carguen cuando el usuario se desplaza por la página hasta ella. Por tanto, solo se cargan las imágenes cuando son necesarias, mejorando sustancialmente el tiempo de descarga de la página web.
WP Fastest Cache
El plugin WP Fastest Cache no dispone de muchas opciones de configuración, lo que lo convierte en uno de los más fáciles de configurar para WordPress. De hecho, los propios desarrolladores lo denominan el “sistema de caché para WP más rápido y más sencillo”.
Además de crear los ficheros HTML de las páginas web (como el resto de plugins de caché), permite reducir aún el tamaño de las páginas web minimizando y concatenando los ficheros HTML, CSS y JavaScript, y deshabilitando los emojis en el sitio web.
A pesar de su aparente sencillez, incluye características avanzadas como soporte de servidores CDN, certificados SSL, cacheado de usuarios logueados y, como opción interesante para páginas muy dinámicas, la posibilidad de desactivar el cacheado de una página (page) o post utilizando un shortcode.
Dispone de una versión gratuita, mientras que la versión Premium se puede comprar directamente desde el panel de WordPress, e incluye características adicionales como optimización de imágenes, limpieza y compactación de la base de datos, o almacenamiento en caché móvil, entre otros.
Comet Cache
Una de las características más señalada de Comet Cache es la posibilidad de almacenar en caché las páginas de los usuarios registrados, lo cual resulta especialmente útil para sitios web que dispongan de esta opción, como los de comercio electrónico.
Además, interactúa con el servidor Apache para optimizar la caché del navegador, de forma que puede evitar una secuencia de peticiones de recursos (imágenes, hojas de estilo, scripts) que ya estuvieran disponibles en el navegador del usuario.
También proporciona soporte para los proveedores CDN, de forma que podemos disponer de ambos mecanismos (caché y CDN) perfectamente integrados para obtener el máximo rendimiento de la descarga de la pagina web.
Comet Cache también permite recrear dinámicamente el contenido de la caché (esto es, sin que se produzca la visita de un usuario). Para evitar afectar el funcionamiento del servidor, lo monitoriza y solo actualiza el contenido de la caché cuando éste no se encuentre ocupado (por ejemplo, atendiendo muchas peticiones de navegadores de usuario).
Aunque tiene opciones de configuración avanzadas, el plugin incluye una explicación detallada de cada opción, para que los usuarios menos técnicos puedan configurarlo con seguridad en su sitio web.
Por último, el plugin dispone de dos versiones, gratuita y PRO (de pago), donde la versión PRO contiene las opciones de configuración más potentes (y también más “peligrosas” para usuarios no experimentados).
Instalación y uso del plugin WP Super Cache
Aunque tengan el mismo propósito, cada plugin de caché para WordPress tiene sus propias características y métodos para gestionar, verificar y mantener actualizadas las páginas de un sitio web.
En líneas generales, la configuración por defecto de los plugins de caché ofrecen una solución muy buena, e incluso excelente, para la mayoría de los sitios web y, salvo que estemos muy seguros del impacto de un cambio en la configuración, no deberíamos modificarlo.
Además, la configuración avanzada de un plugin de caché no sigue una regla o norma fija; es decir, lo que funciona para un sitio web, puede que resulte perjudicial, aunque visualmente sean similares. Configuraciones avanzadas requieren conocer en profundidad tanto el plugin como el sitio web.
En este aspecto, el plugin WP Super Cache ofrece una magnífica solución de caché para WordPress con un panel de configuración sencillo y sin demasiados aspectos técnicos, que hará las delicias de los usuarios menos técnicos, pero lo suficientemente versátil para usuarios más avanzados.
En el siguiente vídeo vamos a revisar algunos aspectos de la configuración de este plugin que, en algunos casos, también existen en otros plugins (aunque posiblemente con otra denominación u otra política de uso), por lo que conocerlos nos será útil si decidimos utilizar otro plugin de caché:
Conclusiones
Utilizando una caché, conseguimos mejorar el rendimiento del servidor web sin necesidad de modificar ni optimizar su configuración; es decir, en el momento de instalar y activar la caché, el servidor mostrará una respuesta más rápida hacia los usuarios.
La caché se aprovecha de que la mayoría de las páginas web de un sitio web, aunque sean dinámicas y generadas a partir de bases de datos, no se modifican, o se modifican muy raramente, con el paso del tiempo.
Por tanto, la caché siempre almacena una copia estática (que no requiere accesos a las bases de datos) de las páginas web y, cuando un usuario la solicita, será esa copia la que el servidor le entregue.
Para asegurar que el usuario siempre tenga la última versión de la página web que visita, la caché comprueba periódicamente y durante la petición del usuario, que esa página no haya sido modificada en la base de datos. En tal caso, se generaría dinámicamente y se guardaría en caché una copia estática de la nueva versión.
WordPress, como gestor de contenidos, hace un uso extensivo de las bases de datos, por lo que el uso de caché proporcionan, prácticamente desde su instalación y con la configuración por defecto, una mejora sustancial del rendimiento general del servidor.
Para ello, disponemos de una amplia colección de plugins de caché para WordPress, analizados en este artículo, que, tanto para principiantes como para usuarios técnicos avanzados, ofrecen una solución adaptada a sus necesidades.