Come risolvere i problemi causati da plugin di cache e ottimizzazione
In Questo Documento
Tempo di lettura: 4 minuti | Difficoltà: Principiante
Panoramica
I plugin di caching e le cache del web host velocizzano il tuo sito salvando una copia di ogni pagina e servendo tale copia ai visitatori successivi. I plugin di ottimizzazione vanno oltre e minificano, combinano o ritardano il JavaScript del tuo sito. Entrambi sono utili per le prestazioni, ma possono interferire con i moduli di pagamento se sono configurati in modo troppo aggressivo.
Dalla versione 4.17.5 di WP Simple Pay, i moduli di pagamento funzionano su pagine completamente memorizzate nella cache. Ogni modulo carica le proprie impostazioni e un nuovo token di sicurezza dal tuo sito all'apertura della pagina, quindi la copia memorizzata nella cache della pagina non contiene più nulla che possa scadere. Non è più necessario escludere le pagine del modulo di pagamento dal caching.
Questa guida copre le due cose che richiedono ancora attenzione: mantenere le pagine di conferma del pagamento fuori dalla cache e mantenere gli script di WP Simple Pay fuori dalle ottimizzazioni JavaScript.
Prerequisiti
- WP Simple Pay 4.17.5 o versioni successive. Nelle versioni precedenti, le pagine del modulo di pagamento devono essere escluse dal caching o memorizzate nella cache per non più di 12 ore.
- Accesso alle impostazioni del tuo plugin di caching o ottimizzazione, o al team di supporto del tuo web host se la cache viene eseguita sul server.
Caching
Pagine del modulo di pagamento
Su WP Simple Pay 4.17.5 e versioni successive, le pagine che contengono un modulo di pagamento possono essere memorizzate nella cache come qualsiasi altra pagina. Quando un visitatore apre la pagina, ogni modulo recupera i propri dati dall'API REST del tuo sito. Il pulsante di pagamento rimane disabilitato finché il modulo non è pronto, quindi un clic anticipato non può inviare un modulo incompleto.
Se hai escluso le tue pagine del modulo di pagamento dal caching in una versione precedente, puoi lasciare l'esclusione o rimuoverla. Entrambe le opzioni funzionano.
Appena aggiornato? Svuota la cache del tuo sito una volta dopo l'aggiornamento alla versione 4.17.5. Le pagine memorizzate nella cache prima dell'aggiornamento contengono ancora il vecchio codice del modulo finché non vengono aggiornate.
Pagine di Conferma Pagamento
Mantieni le tue pagine di successo e fallimento del pagamento escluse dal caching. Queste pagine mostrano i dettagli di un pagamento specifico, quindi ogni cliente deve ricevere una pagina generata di fresco.
Con alcuni web host, la cache viene eseguita sul server e non può essere modificata da WordPress. In tal caso, contatta il tuo host e chiedi loro di escludere gli URL delle tue pagine di conferma dal caching.
Configura plugin specifici
- WP Rocket
- SiteGround Optimizer
- WP-Optimize
- WP Fastest Cache
- WP Super Cache
- W3 Total Cache
- LiteSpeed Cache
Ottimizzazione JavaScript
I problemi JavaScript causati dai plugin di ottimizzazione derivano solitamente da queste funzionalità:
- Minify
Rimuove caratteri non necessari dal codice, come spazi bianchi, per produrre un file più piccolo. - Combine
Unisca file JavaScript separati in uno solo per ridurre il numero di richieste al server. - Load Deferred/Asynchronously
Ritarda il caricamento o l'esecuzione dei file JavaScript in modo che la pagina non debba attendere.
Escludi i seguenti file da ogni impostazione di ottimizzazione JavaScript, qualunque plugin tu utilizzi:
js.stripe.com/v3/
simpay-public-shared.js
simpay-public-upe.js
accounting.min.js
simpay-public-pro-upe.js
Cosa deve lasciare inalterato l'ottimizzazione
I moduli di pagamento necessitano di un piccolo set di impostazioni del sito prima di poter essere caricati: l'indirizzo REST API del tuo sito, il formato della tua valuta e il messaggio mostrato quando un modulo non può essere caricato. WP Simple Pay stampa queste impostazioni in due punti:
- All'interno dell'HTML di ciascun modulo di pagamento, nell'attributo
data-simpay-generaldel modulo. Questa copia fa parte del modulo stesso, quindi viene memorizzata nella cache insieme alla pagina. - In un piccolo script alla fine della pagina,
<script id="simpay-shared-js-extra">, che definiscespGeneral.
Dalla versione 4.17.6 di WP Simple Pay, un modulo viene caricato finché una delle due copie è presente nella pagina. Alcuni plugin di ottimizzazione rimuovono o ritardano piccoli script inline come il secondo, e il modulo ora utilizza la propria copia quando ciò accade.
Per mantenere funzionanti i moduli di pagamento, assicurati che il tuo plugin di ottimizzazione non:
- Rimuova gli attributi HTML dal tag
<form>del modulo di pagamento, in particolaredata-simpay-form-idedata-simpay-general. - Rimuova sia l'attributo
data-simpay-generalsia lo scriptsimpay-shared-js-extra. Se entrambi vengono rimossi, il modulo non può essere caricato.
Configura plugin specifici
Risoluzione dei problemi
“Questo modulo di pagamento non è stato possibile caricarlo”
Se i visitatori vedono Questo modulo di pagamento non è stato possibile caricarlo. Si prega di aggiornare la pagina e riprovare. sotto il pulsante di pagamento, il modulo non è riuscito a recuperare i suoi dati dal tuo sito. Questo è solitamente causato da qualcosa che blocca l'API REST del tuo sito:
- Un plugin di sicurezza o firewall, o una regola del server come ModSecurity, sta bloccando le richieste a
/wp-json/. Vedi Come risolvere il problema 'Nessun percorso trovato corrispondente all'URL e al metodo di richiesta'. - Il visitatore ha raggiunto il limite di richieste. Vedi Come gestire il messaggio 'Spiacenti, hai effettuato troppe richieste'.
- Il modulo di pagamento non è pubblicato. I moduli vengono caricati nel front-end solo quando sono pubblicati.
Errori di token di sicurezza
Errori come Controllo di sicurezza coupon fallito o Nonce cookie non valido erano in passato causati da pagine memorizzate nella cache che contenevano token di sicurezza scaduti. Dalla versione 4.17.5, i moduli recuperano un nuovo token ogni volta che vengono caricati, e i token scaduti nelle richieste degli ospiti vengono recuperati automaticamente. Se continui a vedere questi errori dopo l'aggiornamento, svuota la cache del tuo sito. Vedi Come risolvere l'errore 'Controllo di sicurezza coupon fallito' per maggiori dettagli.
Domande frequenti
Ho ancora bisogno di escludere le pagine dei moduli di pagamento dalla cache?
No, non su WP Simple Pay 4.17.5 o versioni successive. Devi ancora escludere le tue pagine di conferma del pagamento.
Ho codice personalizzato che legge window.spGeneral. Funziona ancora?
Sì. Quando lo script del footer è presente, window.spGeneral viene impostato da esso, come prima. Quando un plugin di ottimizzazione ha rimosso tale script, WP Simple Pay imposta window.spGeneral dall'attributo data-simpay-general del modulo di pagamento non appena i suoi script vengono caricati, in modo che il tuo codice veda gli stessi valori.
Ho codice personalizzato che legge window.simplePayForms. Funziona ancora?
Sì. L'oggetto è ancora disponibile e l'immissione di ciascun modulo viene aggiunta man mano che i dati di quel modulo arrivano. Se il tuo codice viene eseguito non appena la pagina viene caricata, potrebbe essere necessario attendere il completamento del caricamento del modulo.
Cosa fare dopo?
- Come configurare le impostazioni di WP Rocket – Impostazioni passo passo per WP Rocket
- Come impostare le pagine di successo e fallimento del pagamento – Scegli le pagine su cui atterrano i clienti dopo aver pagato
- Come testare conflitti tra temi e plugin – Scopri se un altro plugin sta causando il problema
Hai ancora domande? Siamo qui per aiutarti!
Ultima modifica: