Caché de WordPress: qué se puede almacenar en caché y cómo lo hacemos
Publicado: 2017-04-28Quieres que tu sitio web vaya rápido. Una tecnología que contribuye a la velocidad del sitio es el almacenamiento en caché. El almacenamiento en caché es un conjunto de técnicas de software y hardware que almacenan datos para que estén disponibles rápidamente para futuras solicitudes. En este artículo, explicaremos qué es el caché de WordPress, cómo se puede implementar en muchos niveles diferentes y cómo nos encargamos de todo por usted para que no tenga que preocuparse por eso.
¿Qué es el almacenamiento en caché?
En informática, existe algo llamado "caché", mediante el cual se utiliza un componente de software o hardware para almacenar temporalmente valores y recuperarlos más rápido en el futuro. Valores como consultas MySQL o código de bytes PHP compilado, así como datos duplicados, como HTML e imágenes. Casi todo, de verdad.

Al hacer copias de los datos y colocarlos en el componente de "almacenamiento en caché", obtenemos una ventaja de rendimiento significativa. Sus visitantes pueden recuperar contenido almacenado en caché mucho más rápido que no almacenado en caché. Los visitantes pueden recuperar el contenido almacenado en caché más rápido que el contenido no almacenado en caché. Los componentes de almacenamiento en caché suelen ser memoria, pero pueden ser cualquier cosa que sea más rápida que el almacenamiento convencional. Pero, ¿cuánta mejora de rendimiento puede obtener?
Todo depende de la cantidad de datos que pueda almacenar en caché, pero en términos generales, las mejoras de rendimiento en la magnitud de un segundo completo no son infrecuentes.
¿Qué se puede almacenar en caché?
Hay varios niveles, dependiendo de qué tan lejos quiera llegar en la optimización de su sitio web usando el almacenamiento en caché.
Salida HTML
La primera forma es almacenar en caché la propia página HTML. Hay muchos complementos de caché de WordPress como WP Rocket y W3 Total Cache que hacen eso y mucho más. Estos complementos almacenan en caché el resultado de la salida HTML, lo que ahorra tiempo para futuras solicitudes. Además, cada complemento le brinda un mecanismo de invalidación de caché para que pueda servir contenido no almacenado en caché cuando lo desee.
Otra técnica, es “minificar” HTML, es decir, hacerlo más pequeño. Esto le da un par de kilobytes por página, pero se acumula con el tiempo.
Necesitará acceso al Tablero o una forma de instalar complementos en WordPress para poder hacerlo.
Referencia:
- Cohete WP
- Complemento W3 Total Cache para WordPress
OpCache de PHP
OpCaching es una técnica mediante la cual PHP toma los archivos PHP de origen y los compila en una forma intermedia, llamada código de bytes. Bytecode es como el código de máquina de una computadora, pero se refiere al código de máquina que es ejecutado por una “máquina virtual” (en este caso, PHP) en lugar de una real. Dado que es un código de máquina y reside en la memoria, se puede ejecutar mucho más rápido que tener el intérprete de PHP analizando un comando a la vez y ejecutándolo.
El almacenamiento en caché, a ese nivel, almacena estos datos de código de bytes en la memoria, para que su aplicación pueda ejecutarse más rápido.
Debe tener acceso al archivo de configuración de PHP para habilitar PHP OpCache.
Referencia: OpCache
Caché de objetos PHP
Este es el almacenamiento en caché que se realiza en el nivel OOP del lenguaje. PHP es un lenguaje orientado a objetos, lo que significa que utiliza el concepto de "objetos" para describir la lógica, los datos y las ideas. A medida que se ejecuta su aplicación, estos objetos se crean y destruyen constantemente (dinámicamente, por un subsistema llamado recolector de elementos no utilizados). El proceso de creación e inicialización de estos objetos lleva tiempo. Entonces, el almacenamiento en caché de objetos resuelve esto almacenando en caché los propios objetos.

Esto se implementa a través de complementos como Memcached y varios para Redis. Redis es un potente almacén de estructura de datos en memoria que se puede utilizar como base de datos. Memcached es un sistema distribuido de almacenamiento en caché de objetos. Ambos son excelentes opciones para hacer almacenamiento en caché a ese nivel.
Deberá tener acceso a la configuración de PHP para habilitar el almacenamiento en caché de PHP Object. También necesitará acceso a una instancia de Redis o Memcached.
Referencia
- Complementos Redis WordPress
- Complemento de WordPress Memcached
- Documentación Redis
- Wiki Memcached
Almacenamiento en caché de consultas de MySQL
Esta es la misma idea pero se aplica a nivel de base de datos. La base de datos devuelve un conjunto de datos de acuerdo a la consulta que se ingresó. Si puede almacenar en caché los resultados de estas consultas, la próxima vez que alguien use esa consulta obtendrá los datos mucho más rápido porque residirán en la memoria caché.
Para eso, necesitará tener acceso al servidor de la base de datos.
Referencia: caché de consultas de MySQL 8.0
Para que todos estos se configuren y mantengan correctamente, se requieren muchas cosas. Conocimientos técnicos, tiempo e incluso dinero, si te falta experiencia. Pero podemos ayudar con todo eso.
Cómo solucionamos todo con el almacenamiento en caché multicapa de Pressidium.
La respuesta es simple. Hemos implementado el almacenamiento en caché en todas partes: en todas las capas de WordPress.
Para la salida HTML, implementamos dos capas de almacenamiento en caché, caliente y tibio . Estas capas son parte de nuestro motor de caché adaptable. Nuestro motor también puede perfilar su sitio y hacer cumplir las reglas de almacenamiento en caché más eficientes. Pero entraremos en más detalles sobre esto en otro artículo. Por lo tanto, la memoria caché activa son datos que residen en la memoria y se puede acceder a ellos rápidamente. Warm Cache son datos que residen en discos SSD de última generación. Esto aumenta las proporciones generales de aciertos de caché y hace que su sitio funcione significativamente mejor que el almacenamiento convencional.
Para nuestros clientes empresariales, hemos creado un sistema de almacenamiento en caché de objetos utilizando el excelente almacén de estructura de datos en memoria Redis. Finalmente, el almacenamiento en caché de MySQL Query. Esto está habilitado de forma predeterminada y nuestro DevOps lo supervisa constantemente. MySQL Query Caching puede brindarle información valiosa sobre el rendimiento de su sitio web.
Es importante tener en cuenta que todos estos se implementan en el backend de nuestra plataforma y no a través de algún complemento de caché de WordPress. Esto significa que a) usamos servidores externos para el almacenamiento, por lo que no sobrecargamos los recursos de su servidor web yb) almacenamos datos en la memoria a la que es más rápido acceder que el disco.
Sean cuales sean sus necesidades de almacenamiento en caché y su presupuesto, podemos satisfacerlas.