I nostri clienti installano il plugin CrowdHandler per sopportare il traffico intenso. Non sorprende che gli stessi clienti installino spesso plugin di caching per velocizzare i loro siti web. Purtroppo può esserci un conflitto tra le due cose e i plugin di caching e i servizi cloud possono interferire con la capacità di CrowdHandler di scaricare e riportare gli utenti sul sito in modo corretto.

A meno che non si conoscano molto bene le dinamiche del proprio sistema di caching, si consiglia di disabilitare i plugin di caching e i servizi di cloud caching quando si utilizza CrowdHandler. Gli utenti hanno segnalato problemi nell'utilizzo del nostro plugin per WordPress con:

  • Kinsta
  • NitroPack
  • Cache LiteSpeed
  • CloudFlare (se impostato per la cache delle pagine, non solo degli asset)

Esistono molti plugin e servizi di caching disponibili per WordPress e altri, non elencati sopra, potrebbero causare problemi. Sebbene CrowdHandler agisca da "buon cittadino" e imposti le intestazioni di cache corrette basate sugli standard per aiutare i servizi di terze parti, queste non sono sempre rispettate, poiché alcuni plugin cercano di massimizzare il comportamento della cache scavalcando gli standard.

I servizi basati sul cloud possono essere particolarmente suscettibili a questo problema, perché il comportamento della cache è implementato al di fuori di WordPress e non può essere sovrascritto dal nostro plugin.

Nota: non siamo in grado di risolvere i problemi di configurazione causati da incompatibilità di plugin e servizi di terze parti. Se il comportamento del caching ha un impatto negativo e non si riesce a risolvere i problemi di caching disabilitando i plugin, si consiglia di disabilitare il plugin di WordPress e di utilizzare invece il nostro JavaScript. Il JavaScript funziona bene con i sistemi di caching e la combinazione di pagine ben memorizzate nella cache e di JavaScript può essere efficace per ridurre il carico sui siti Wordpress.

Qual è il problema?

Il nostro plugin Wordpress controlla il cookie dell'utente con l'API CrowdHandler e reindirizza l'utente alla sala d'attesa se deve aspettare. I plugin di caching possono memorizzare nella cache il cookie e/o il reindirizzamento. Ciò significa che gli utenti possono tornare al sito dalla sala d'attesa ma essere rimandati indietro, perché il plugin di caching ha memorizzato il cookie o il reindirizzamento di un altro utente. In questo modo, gli utenti vengono inviati alla sala d'attesa più volte, con un'apparente casualità nel decidere se l'utente riesce a passare o meno.

Posso confermare se il mio sito ha questo problema?

Se pensate che il vostro sito abbia questo problema o volete verificare questa possibilità, potete eseguire un semplice test in una finestra di terminale.
Run:

curl -I https://yourdomain.com/some-protected-url

Si dovrebbero vedere le intestazioni di CrowdHandler restituite dalla pagina, compreso il cookie crowdhandler. Se non si vedono affatto le intestazioni, ma si vede un qualche tipo di intestazione cache: hit, ciò indica che si sta visualizzando una pagina memorizzata nella cache e che il plugin CrowdHandler non viene invocato. Se si vedono le intestazioni e il cookie, ripetere rapidamente la richiesta. Se viene restituito lo stesso cookie (valore identico), si tratta di una pagina memorizzata nella cache.

Cosa devo fare?

  1. Disattivare i plugin e i servizi di caching e ripetere il test. Se si inizia a vedere un nuovo cookie ogni volta, il problema è risolto. (potrebbe essere necessario un po' di tempo perché la cache scada prima di vedere la soluzione).
  2. Se non si riesce a disabilitare i servizi di caching, cambiare il metodo di implementazione in JavaScript nel pannello di amministrazione di CrowdHandler, assicurarsi che il nostro JavaScript sia installato sul sito e disabilitare il plugin WordPress. L'integrazione JavaScript imposta e recupera i cookie e i reindirizzamenti in JavaScript e non è soggetta alla memorizzazione nella cache. In questo caso, il caching è positivo. Se i plugin di caching funzionano bene, le pagine di destinazione dovrebbero essere veloci e il JavaScript scaricherà l'utente prima che interagisca con le pagine non memorizzate nella cache, causando un carico elevato.
  3. Se CrowdHandler protegge solo gli URL non memorizzati nella cache, non sarà soggetto a questo problema, quindi si potrebbe provare a ridurre la copertura degli URL della sala d'attesa agli URL non memorizzati nella cache.
  4. Se il livello di cache che causa il problema è Cloudflare, probabilmente si dovrebbe usare il nostro edge worker Cloudflare invece del plugin Wordpress. Impostate l'edge worker e disabilitate il plugin Wordpress. Se state utilizzando il nostro Cloudflare edge worker, con un backend Wordpress, vi consigliamo di aprire un ticket di supporto con noi, in modo da poter installare le esclusioni degli url di Wordpress sul vostro account.