Skip to content

Optimizar Caché en WordPress

Optimizacion web usando Caché

Si en la anterior entrada de esta serie aprendimos a optimizar imágenes en WordPress, esta semana vamos analizar cómo activar y optimizar caché en WordPress. El objetivo de esta semana es comprender por qué necesitamos un sistema de Caché en nuestra página WordPress, examinar las opciones más populares y aprender los casos en los que deberíamos desactivarla total o parcialmente.

Addendum – Rendimiento en tiempos del Covid-19

Debido al incremento de tráfico ocasionado por el aislamiento de personas en sus hogares, muchos proveedores de servicios de Internet se han visto obligados a recortar la calidad de su servicio. De momento, servicios como Netflix o Disney+ han disminuido la calidad de los videos que ofrecen en Europa para poder satisfacer la demanda de contenidos.

Aunque no se están produciendo cortes generalizados en los servicios, se está observando una reducción significativa de la velocidad de conexión a nivel europeo. Si esta tendencia continúa, a los motivos que ya mencionamos en la primera entrada tenemos que añadir lo siguiente: Tener una web lo más rápida y eficiente posible es una ventaja competitiva enorme en una Internet saturada. Y cuando hablamos de “saturada”, hablamos tanto de usuarios conectados como de nuevos competidores que se han visto obligados a hacer una transformación digital obligatoria.

Introducción – Páginas web estáticas vs dinámicas

Cuando la World Wide Web se creó a principios de los 1990, la visión original era la de un sistema de visualización de documentos. En concreto, de artículos científicos compuestos principalmente de texto, alguna imagen y con enlaces a otros artículos. Los videos de gatos y los memes vendrían después.

Sin embargo, la tecnología de base es la misma tanto para leer sesudos artículos científicos como para ver vídeos de gatos metiendo la cabeza en tarros. Para simplificar: Cuando visitas una web con tu navegador, estás descargando y abriendo un documento que se encuentra en un ordenador localizado a cientos, puede que miles de kilómetros de distancia. A ese documento que referencia imágenes, estilos, vídeos, música y otros documentos lo llamamos “Página Web”.

Páginas estáticas

Una página web estática es un sencillo documento en formato HTML almacenado en alguna carpeta de algún servidor. Cuando un usuario visita una página web estática con su navegador, descarga un documento y lo muestra casi de la misma manera que tú abres un documento de Word.

Ventajas

  • Velocidad – Una página web estática es la opción más veloz para publicar contenido web.
  • Escalabilidad – Una página web estática apenas consume recursos en el servidor donde está alojada, por lo que permite que muchos usuarios la visiten a la vez sin que se note lentitud.

Inconvenientes

  • Poca flexibilidad –  Para cambiar el contenido de una web, tenemos que editar directamente el contenido de una página HTML. 
  • Baja usabilidad – Aunque es relativamente sencillo de aprender, crear una página web estática en HTML puede volverse complicado si añadimos funcionalidad. En el caso de querer poner características como comentarios o formularios, ya resulta imposible y requiere de programación extra.

Páginas dinámicas

Las páginas webs dinámicas no están almacenadas en ningún sitio. Cuando visitas una web dinámica, un software como WordPress se encarga de “recrear dinámicamente” el documento HTML teniendo en cuenta datos como: las entradas de tu blog, la configuración de WordPress, los temas que tienes instalados, plugins, etc.

Al software que nos permite que permiten gestionar la publicación de contenidos dinámicos se le suele llamar en inglés Content Management Systems (CMS). El más popular ahora mismo es WordPress pero existen otros como Joomla o Drupal

Ventajas

  • Flexibilidad – Permite realizar publicar y editar contenido rápidamente, cambiar de temas, instalar plugins, etc.
  • Facilidad de uso – Podemos realizar todas estas tareas sin necesidad de muchos conocimientos técnicos.

Inconvenientes

  • Baja velocidad – Al tiempo de descarga de una web, hay que sumar el tiempo de “procesamiento”. Es decir, el tiempo que el software necesita para generar la página web a partir de la información que tiene almacenada.
  • Alto uso de recursos – Las páginas webs dinámicas consumen más recursos del servidor donde están alojadas. Si tenemos una web con mucho tráfico, empezará a fallar y tendremos que contratar un servidor con más capacidad para atender la demanda.

Una de las principales quejas que tenemos de WordPress es lo “lento” que puede llegar a ser en determinadas configuraciones: tienda online, multi-idioma, etc. Sin embargo, nadie quiere sacrificar la flexibilidad y facilidad de uso WordPress en cuanto le mencionas las alternativas. No podemos tener patatas gordas que pesen poco.

¿Sería posible tener un sistema casi tan rápido como una web estática y flexible como una dinámica?. Sí, hasta cierto punto.

Sistema de caché web

Antes hemos dicho que una página dinámica se crea “al vuelo” cada vez que alguien visita nuestra web. Pero la realidad es que salvo páginas con contenido muy dinámico, una página web cambia como mucho de contenidos 2 o 3 veces al día. ¿Y si almacenamos el resultado de “generar” una web dinámica en un archivo estático aparte, para el resto de visitas?.

Eso exactamente es una caché web: Es un sistema que crea una una página estática a partir de la primera visita a una página dinámica para el primer visitante de tu web, y envía una web estática al resto de visitantes. De modo que el primer visitante de una página sufrirá un pequeño retraso extra,  pero el resto de visitas a esa página serán mucho más rápidos.

Cuando visitamos una página dinámica y se almacena su copia estática en el servidor, solemos decir que la copia “está en caché” o “se ha cacheado”.  Al contrario, si visitamos una página sin copia, decimos que “no estaba en caché” o “sin cachear”.

Si modificamos el contenido del CMS o tras pasar un tiempo, las páginas en caché se marcan como “caducadas”, se borran y se regeneran de nuevo. De modo que a ojos del Usuario y el Administrador, sigue pareciendo que visitas un blog totalmente dinámico.

Ventajas

  • Velocidad – El acceso a páginas en caché es casi tan rápido como acceder a una página estática. Es “casi” porque cada vez que accedemos a un recurso cacheado, tenemos que comprobar si hay que regenerarlo.
  • Flexibilidad – Mantenemos la misma flexibilidad que al utilizar un software de creación de páginas dinámicas: editor gráfico, temas, plugins, etc.

Inconvenientes

  • Velocidad de páginas sin cachear – El acceso a contenido dinámico sin cachear es más lento, ya que además de generar una página tenemos que guardarla en alguna carpeta del servidor.
  • Dificultad en la gestión – Gestionar un sistema de caché puede resultar complicado en webs muy dinámicas como tiendas online con muchos productos o páginas con noticias muy frecuentes.
  • Incompatibilidades – Algunas funcionalidades o plugins pueden fallar o ser complicadas de integrar con sistemas de caché.
  • Retrasos – Dependiendo de la configuración del sistema de caché, un cambio en una Página o Entrada puede tardar un tiempo en aparecer.

¿Caché en WordPress? – «There’s a plugin for that»

Una de las mejores características que tiene WordPress es su ecosistema de plugins y temas que te permiten convertir un simple blog en una tienda online, un sistema de reservas turísticas, o la web de una inmobiliaria conectada con su ERP. Y, por supuesto, tenemos una amplia gama de plugins para caché a elegir.

De todos los plugins de caché disponibles, podemos destacar 3:

  • WP Supercache –  La opción gratuita más sencilla para los que no tienen demasiados conocimientos técnicos. Ideal para blogs y páginas cuyo contenido no suele cambiar más más de una vez a la semana. Requiere una pequeña puesta en marcha inicial, pero cualquiera lo puede hacer siguiendo las instrucciones.
  • W3 Total Cache La opción gratuita más configurable. Si tienes una web más dinámica y suficientes conocimientos sobre servidores, puedes reducir hasta en un 70% el tiempo de acceso a tu web. Sin embargo, es un plugin muy complicado de configurar y si no sabes lo que estás haciendo puedes incluso ralentizar más tu web o dejarla “offline”. Tiene una opción de pago todavía más configurable y compleja.
  • WP RocketLa opción de pago más sencilla de configurar y con las mismas opciones de optimización que W3 Total Cache. Si prefieres pagar y olvidarte de configurar, este es tu plugin.

Conclusión: ¿Debería poner una caché en mi WordPress?

En general: Sí. De hecho, resulta incomprensible que WordPress no incorpore un sistema de caché pre-configurado para un Blog o Landing Page sencilla. Internet sería mucho más rápido gracias a ello, ya que WordPress es el CMS más usado con mucha diferencia y muchas instalaciones no lo llevan. La ganancia de rendimiento y la bajada de costes de mantenimiento del servidor compensan con creces las molestias ocasionales producidas.

Sin embargo hay excepciones a esta regla:

  • Tu proveedor de hosting bloquea plugins de caché – Hay proveedores de hosting WordPress que incluyen un servicio de caché avanzado como Varnish, pagando un precio extra al mes por este servicio. Debido a esto, no aceptan instalar ciertos plugins de caché ya que afecta directamente a su línea de negocio.
  • Tienes una web muy dinámica –  Para webs con contenido que cambia cada 5 minutos o cambia dependiendo del país de visita, o con muchos banners, es mejor hacer un análisis técnico antes de integrar un sistema de caché y realizar muchas pruebas de rendimiento. Necesitan de una configuración muy afinada y una monitorización constante.
  • Tienes una tienda online – En tiendas online, asegúrate que la caché está desactivada para la página del “Carrito” y de “Finalizar Compra”. Sistemas como Woocommerce tienen esto en cuenta y funcionan perfectamente con todos los plugins de caché que he mencionado.

¿Te animas a poner una caché y llevar la velocidad de tu WordPress al límite?. Recuerda que puedes contactar con nosotros si tienes cualquier duda técnica. Y por supuesto, todas nuestras webs vienen con la caché configurada y afinada 😉.

Abrir chat
1
¿Te echamos un cable?
¡Hola! Somos WABI 🙌
Cuéntanos...