¿Es Nelio A/B Testing compatible con los plugins de caché?

¡Por supuesto! Nelio A/B Testing funcionará correctamente incluso si WordPress está detrás de un sistema de caché o una CDN. Si quieres saber cómo, sigue leyendo.

¿Cómo funciona una cache o CDN?

El funcionamiento de una cache es bastante sencillo. WordPress es un sistema gestor de contenidos dinámico y, como tal, se ejecuta cada vez que recibe una petición para, así, poder generar la página que le están pidiendo. Esto quiere decir que toda petición entrante tardará un poquito en ser atendida y consumirá recursos del servidor. Una cache es un sistema que se mete entre WordPress y el cliente y que pretende solucionar esto: la primera vez que se recibe una cierta petición, todo funciona con normalidad (es decir, WordPress se ejecuta y genera la respuesta). Lo que hace la cache es guardar una copia de esa respuesta para que, a partir de ese momento, poder responder a todas las peticiones iguales a la primera con la copia que se ha guardado, sin necesidad de pasar por WordPress.

Una CDN es más de lo mismo, pero un poco más complejo. Una CDN (o red de distribución de contenido) mantiene también copias de la página, pero en este caso mantiene múltiples copias en diferentes servidores distribuidos por todo el globo. De esta forma, cuando un usuario pide una cierta página, la CDN puede devolver la versión que tiene almacenada y lo puede hacer desde el servidor que esté mas cerca del usuario, reduciendo así el tiempo de transferencia.

A pesar de la eficacia de esta solución, implementarla supone algunos retos. Date cuenta que cada vez que cambies cualquier cosa en tu web, las copias que estuvieran en una cache o CDN quedan automáticamente anticuadas. Si a un usuario le estamos sirviendo la versión que tenemos en cache, le estaríamos dando contenido antiguo. Para solucionar esto, las caches y CDN implementan diferentes soluciones: limitan el tiempo en el que una página puede estar en cache y, cuando caduca, vuelven a pedirla al servidor; van preguntando con cierta periodicidad al servidor si hay una versión nueva para, así, actualiza su copia; o, al revés, se actualizan cuando el servidor les avisa de que su contenido está desactualizado y hay cosas que cachear.

Entonces, ¿cómo encaja todo esto con los tests A/B?

El desafío de las cachés

Los mecanismos de caché son un verdadero reto para los tests A/B. Cuando tu sitio web está detrás de una caché, es posible que todos tus visitantes terminen viendo la misma variante (original), haciendo que los tests A/B sean imposibles.

Algunos plugins de tests A/B para WordPress simplemente no son compatibles con las cachés y debes elegir entre el rendimiento y la optimización de la conversión. Nelio A/B Testing, en cambio, no solo es compatible con cachés, sino que incluso los utiliza.

¿Cómo se integra Nelio A/B Testing con las caches?

Cuando tienes una página bajo test en tu web, nuestro plugin le añade un pequeño script en línea para que conste que «esta página está siendo testeada con estas variaciones y con estos objetivos». De esta forma, cuando un visitante recibe la página, Nelio A/B Testing sabe todo lo que tiene que saber sobre el test y puede asignarle una variación al usuario y mostrarle el contenido que toca. Esto lo consigue añadiendo un pequeño parámetro en la URL:

  1. https://ejemplo.com/una-pagina/?nab=0
  2. https://ejemplo.com/una-pagina/?nab=1
  3. https://ejemplo.com/una-pagina/?nab=2

el cual indica qué variación (la original si nab=0 o una versión alternativa si nab=1 o nab=2) tiene que cargarse. Este parámetro consigue que cada variación tenga su propia URL y, por lo tanto, permite que tu cache guarde una copia de cada variación bajo su propia URL, con lo que el test A/B aprovecha al máximo tu cache y CDN.

Este parámetro de test se añade en el navegador del visitante por JavaScript. Puedes leer más información sobre el proceso de test.

¿Cómo mantenerlo todo en sincronía?

Después de iniciar o detener un test, se deberían invalidar los contenidos de la cache y CDN para asegurarnos de que no se está sirviendo contenido desactualizado (ya sea, que un test que ya no existe sigue en marcha o que un test que se ha iniciado no esté disponible). Nelio A/B Testing se integra con los principales plugins de cache de WordPress e incluye varios hooks para, automáticamente, limpiar sus caches cuando se inicia o detiene un test, pero es posible que debas hacerlo a mano.