Nuestros clientes instalan el plugin CrowdHandler para soportar un tráfico intenso. Como era de esperar, los mismos clientes suelen instalar plugins de almacenamiento en caché para acelerar sus sitios web. Por desgracia, puede haber un conflicto entre ambos, y los plugins de caché y los servicios en la nube pueden interferir con la capacidad de CrowdHandler para descargar y devolver a los usuarios a su sitio de forma justa.
A menos que entienda muy bien la dinámica de su sistema de almacenamiento en caché, le recomendamos que desactive los plugins de almacenamiento en caché y los servicios de almacenamiento en caché en la nube cuando utilice CrowdHandler. Los usuarios han reportado problemas usando nuestro plugin de WordPress con:
- Kinsta
- NitroPack
- Caché LiteSpeed
- CloudFlare (cuando se configura para almacenar en caché páginas, no sólo activos)
Hay muchos plugins y servicios de caché disponibles para WordPress y otros, no enumerados anteriormente, podrían causar problemas. Aunque CrowdHandler actúa como un "buen ciudadano" y establece las cabeceras de caché correctas basadas en estándares para ayudar a los servicios de terceros, estas no siempre se respetan, ya que algunos plugins buscan maximizar el comportamiento de la caché anulando los estándares.
Los servicios basados en la nube pueden ser particularmente susceptibles a este problema, porque el comportamiento de almacenamiento en caché se implementa fuera de WordPress, y no puede ser anulado por nuestro plugin.
Nota: No podemos solucionar problemas de configuración causados por incompatibilidades de plugins y servicios de terceros. Si el comportamiento de almacenamiento en caché le afecta negativamente y no puede resolver los problemas de almacenamiento en caché desactivando los plugins, considere la posibilidad de desactivar el plugin de WordPress y utilizar nuestro JavaScript en su lugar. El JavaScript funciona bien con los sistemas de almacenamiento en caché, y la combinación de páginas bien almacenadas en caché y JavaScript puede ser eficaz para reducir la carga en los sitios Wordpress.
¿Cuál es el problema?
Nuestro plugin de Wordpress comprueba la cookie del usuario con la API CrowdHandler y redirige al usuario a la sala de espera si necesita esperar. Los plugins de caché pueden almacenar en caché la cookie y/o la redirección. Esto significa que los usuarios pueden volver al sitio desde la sala de espera pero ser enviados de vuelta, porque el plugin de caché ha almacenado en caché la cookie o la redirección de otro usuario. Esto hará que los usuarios sean enviados a la sala de espera múltiples veces, y con una aparente aleatoriedad en relación a si el usuario pasa o no.
¿Puedo confirmar si mi sitio tiene este problema?
Si cree que su sitio experimenta este problema, o desea comprobar esta posibilidad, existe una sencilla prueba que puede ejecutar en una ventana de terminal.
Run:
curl -I https://yourdomain.com/some-protected-url
Debería ver los encabezados CrowdHandler de su página, incluyendo la cookie crowdhandler. Si no ves los encabezados, pero ves algún tipo de caché: hit header, esto indica que estás viendo una página en caché, y el plugin CrowdHandler no está siendo invocado. Si ve las cabeceras y la cookie, repita la solicitud rápidamente. Si vuelve la misma cookie (valor idéntico), se está almacenando en caché.
¿Qué debo hacer?
- Desactiva los plugins y servicios de caché y repite la prueba. Si empiezas a ver una nueva cookie cada vez, el problema está resuelto. (Es posible que la caché tarde algún tiempo en expirar antes de que vea la solución).
- Si no puede desactivar los servicios de almacenamiento en caché, cambie el método de implementación a JavaScript en el panel de administración de CrowdHandler, asegúrese de que nuestro JavaScript está instalado en su sitio y desactive el plugin de WordPress. La integración de JavaScript establece y recupera cookies y redirecciones en JavaScript, y no es susceptible de que se almacenen en caché. En este caso, el almacenamiento en caché es bueno. Si sus plugins de almacenamiento en caché están funcionando bien, sus páginas de destino deben servir rápido y el JavaScript descargará al usuario antes de que interactúen con páginas no almacenadas en caché, causando una alta carga.
- Si CrowdHandler está protegiendo sólo URLs no cacheadas entonces no será susceptible a este problema, por lo que podría intentar reducir la cobertura de URLs de su sala de espera a URLs que no estén cacheadas.
- Si la capa de almacenamiento en caché que causa el problema es Cloudflare, probablemente debería estar utilizando nuestro Cloudflare edge worker en lugar del plugin de Wordpress. Configure el edge worker, y deshabilite el plugin de Wordpress. Si está utilizando nuestro edge worker de Cloudflare, con un backend de Wordpress, le recomendamos que nos envíe un ticket de soporte para que podamos instalar exclusiones de url de wordpress en su cuenta.