Plugin CrowdHandler per WordPress e incompatibilità con la cache
I nostri clienti installano il plugin CrowdHandler per gestire picchi di traffico elevati. Non sorprende che gli stessi clienti installino spesso plugin di caching per velocizzare i propri siti web. Purtroppo, può verificarsi un conflitto tra i due, e i plugin di caching e i servizi cloud possono interferire con la capacità di CrowdHandler di distribuire il carico e reindirizzare gli utenti al vostro sito in modo equo.
A meno che non si conosca molto bene il funzionamento del proprio sistema di caching, si consiglia di disattivare i plugin di caching e i servizi di caching su cloud quando si utilizza CrowdHandler. Alcuni utenti hanno segnalato problemi nell'utilizzo del nostro plugin per WordPress con:
- Kinsta
- NitroPack
- Cache LiteSpeed
- CloudFlare (quando è impostato per memorizzare nella cache le pagine, non solo le risorse)
Esistono numerosi plugin e servizi di caching disponibili per WordPress e altri, non elencati sopra, che potrebbero causare problemi. Sebbene CrowdHandler si comporti in modo corretto e imposti le intestazioni di cache corrette e conformi agli standard per facilitare l’operatività dei servizi di terze parti, queste non vengono sempre rispettate, poiché alcuni plugin cercano di massimizzare l’efficacia della cache ignorando gli standard.
I servizi basati su cloud potrebbero essere particolarmente soggetti a questo problema, poiché 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à tra plugin e servizi di terze parti. Se riscontri problemi legati al comportamento della cache e non riesci a risolverli disabilitando i plugin, valuta la possibilità di disabilitare il plugin di WordPress e di utilizzare invece il nostro codice JavaScript. Il codice JavaScript funziona bene con i sistemi di cache e la combinazione di pagine correttamente memorizzate nella cache e codice JavaScript può essere efficace nel ridurre il carico sui siti WordPress.
Qual è il problema?
Il nostro plugin per WordPress verifica il cookie dell’utente tramite l’API di CrowdHandler e, se necessario, reindirizza l’utente alla sala d’attesa. I plugin di caching possono memorizzare nella cache il cookie e/o il reindirizzamento. Ciò significa che gli utenti possono tornare sul sito dalla sala d’attesa ma essere reindirizzati nuovamente, poiché il plugin di caching ha memorizzato nella cache il cookie o il reindirizzamento di un altro utente. Di conseguenza, gli utenti verranno reindirizzati alla sala d’attesa più volte, con un’apparente casualità riguardo al fatto che l’utente riesca o meno ad accedere.
Posso verificare se il mio sito presenta questo problema?
Se pensi che il tuo sito stia riscontrando questo problema, o se vuoi verificare questa eventualità, c'è un semplice test che puoi eseguire in una finestra di terminale. Esegui:
curl -I https://yourdomain.com/some-protected-url
Dovresti vedere le intestazioni di CrowdHandler restituite dalla tua pagina, compreso il cookie di CrowdHandler. Se non vedi affatto le intestazioni, ma vedi invece un’intestazione del tipo “cache: hit”, ciò indica che stai visualizzando una pagina memorizzata nella cache e che il plugin CrowdHandler non viene richiamato. Se invece vedi le intestazioni e il cookie, ripeti rapidamente la richiesta. Se viene restituito lo stesso cookie (valore identico), significa che è stato memorizzato nella cache.
Cosa devo fare?
- Disattiva i plugin e i servizi di cache e ripeti il test. Se ogni volta viene generato un nuovo cookie, il problema è risolto. (Potrebbe volerci un po’ di tempo prima che le cache scadano e tu possa constatare la risoluzione del problema)
- Se non riesci a disabilitare i servizi di caching, passa al metodo di implementazione tramite JavaScript nel pannello di amministrazione di CrowdHandler, assicurati che il nostro JavaScript sia installato sul tuo sito e disabilita il plugin di WordPress. L’integrazione JavaScript imposta e recupera i cookie ed effettua i reindirizzamenti tramite JavaScript, e non è soggetta alla memorizzazione in cache di questi elementi. In questo caso, la memorizzazione in cache è vantaggiosa. Se i tuoi plugin di cache funzionano correttamente, le tue pagine di destinazione dovrebbero caricarsi rapidamente e il JavaScript trasferirà l’utente prima che interagisca con pagine non memorizzate nella cache, causando un carico elevato.
- Se CrowdHandler protegge solo gli URL non memorizzati nella cache, non sarà soggetto a questo problema; pertanto, potresti provare a limitare la copertura degli URL della tua sala d'attesa a quelli che non sono memorizzati nella cache.
- Se il livello di cache che causa il problema è Cloudflare, ti consigliamo di utilizzare il nostro Edge Worker di Cloudflare anziché il plugin di WordPress. Configura l'Edge Worker e disattiva il plugin di WordPress. Se stai utilizzando il nostro Edge Worker di Cloudflare con un backend WordPress, ti consigliamo di aprire un ticket di assistenza presso di noi, in modo che possiamo configurare le esclusioni degli URL di WordPress sul tuo account.