# LiteSpeed Cache okozta hibák

> A LiteSpeed Cache oldalgyorsítótára és szkriptoptimalizálása miatti űrlaphibák felismerése és megoldása.

A LiteSpeed Cache alapértelmezett nyilvános gyorsítótár-élettartama egy hét. Ez elég hosszú ahhoz, hogy túlélje egy AJAX-os űrlap vagy fájlfeltöltés biztonsági tokenjét. Az Edge Side Includes (ESI) funkció képes ezeket a tokeneket frissíteni úgy, hogy az oldal nem marad gyorsítótár nélkül, de hogy elérhető-e, az attól függ, melyik LiteSpeed-kiszolgálót futtatja a tárhelyed.

## Tünetek

- A feltételes logika vagy más JavaScriptes funkció nem csinál semmit, hibaüzenet nélkül.
- A mezők hibásan jelennek meg, vagy az érvényesítési üzenetek és a visszaigazolás stílus nélkül látszanak.
- Az űrlap nem küldhető be, vagy beküldési hibát jelez.
- Beküldés után üres képernyő jelenik meg.
- Az űrlapadatok feldolgozása hibás.
- A **Mentés és folytatás** váratlanul viselkedik.
- A Conversational Forms vagy más kiegészítő működése megszakad.
- A fájlfeltöltés 403-as hibát vagy „session expired” üzenetet ad, miközben az űrlap többi része működik.
- Az űrlap bejelentkezve működik, de a gyorsítótárazott oldalt kapó nyilvános látogatóknak nem.

A tokenhibák csak akkor jelentkeznek, ha az oldal már egy ideje a gyorsítótárban van. A gyorsítótár ürítése új oldalt és új tokeneket hoz létre, így az űrlap azonnal újra működik, de nagyjából egy nap múlva ismét elromlik. Ha egy űrlapról azt jelzik, hogy szakaszosan hibázik, olyan oldalon teszteld, amely már egy ideje a gyorsítótárban van, ne egy frissen ürítetten.

## Mi okozza

### Alapértelmezett nyilvános gyorsítótár-élettartam

Az alapérték egy hét, a WordPress biztonsági tokenjei viszont 12 és 24 órán belül lejárnak. A több napja gyorsítótárazott oldal lejárt tokeneket szolgál ki, ami elrontja az AJAX-os beküldést, a fájlfeltöltést és a bejelentkezést igénylő űrlapokat.

Hol találod: **LiteSpeed Cache › Cache › TTL › Default Public Cache TTL**.

A fájlfeltöltő mezők saját kérést és tokent használnak, ezért akkor is hibázhatnak 403-mal vagy „session expired” üzenettel, ha az űrlap többi része hibátlanul elküldhető.

### JavaScript Defer és Delay

Ezek a beállítások addig visszatartják a szkripteket, amíg az oldal betöltődik, vagy a látogató valamit csinál. A Gravity Forms szkriptjeinek futniuk kell a feltételes logikához, a többoldalas lapozáshoz és a beküldéshez, ezért a visszatartás ezeket elronthatja.

Hol találod: **LiteSpeed Cache › Page Optimization**.

### Guest Mode

A Guest Mode a látogató első kérésére gyorsítótárazott másolatot ad, az ESI-t figyelmen kívül hagyja, és csak utána tölti be a helyes változatot. Az első másolatban lévő űrlap gyorsítótárazott tokeneket hordoz.

Hol találod: **LiteSpeed Cache › General › General Settings**.

### Generate UCSS

A Generate UCSS eltávolítja azokat a CSS-szabályokat, amelyeket az oldalon feleslegesnek ítél. Az érvényesítési üzenetek és a visszaigazolás stílusa nincs benne az oldal HTML-jében, ezért kiszedheti őket.

Hol találod: **LiteSpeed Cache › Page Optimization**.

## A hiba megerősítése

1. Keresd meg a **Default Public Cache TTL** értéket a LiteSpeed Cache › Cache › TTL alatt. Az alapérték egy hét. Ha egy napnál hosszabb, túlélheti az AJAX és a fájlfeltöltés tokenjeit, és ezzel kell kezdened.
2. Olyan oldalon tesztelj, amely egy ideje gyorsítótárban van, ne frissen ürítetten. A frissen generált oldal mindig működik.
3. Privát ablakban, első látogatóként tesztelj. A Guest Mode kifejezetten a látogató első kérésére vonatkozik, ezért a második betöltés másképp viselkedhet.
4. Ha a gond stílussal vagy szkriptekkel van, nem tokenekkel, kapcsold ki ideiglenesen egyesével a Page Optimization beállításait (JavaScript defer, JavaScript delay, Generate UCSS), és minden után próbáld újra az űrlapot.
5. Ha úgy tűnik, hogy beküldések tűnnek el, nyisd meg az **Űrlapok → Bejegyzések** oldalt, és nézd meg a **Spam** nézetet. A bejegyzés jegyzetei megnevezik a szűrőt, amely megjelölte.

## A hiba elhárítása

1. Rövidítsd le a gyorsítótár élettartamát, hogy a gyorsítótárazott oldalak a biztonsági tokenjeik előtt lejárjanak, vagy zárd ki az űrlapoldalakat teljesen a gyorsítótárból. A kizárás a legmegbízhatóbb azoknál az oldalaknál, amelyek egyetlen célja az űrlap megjelenítése. Mindkettő a LiteSpeed Cache › Cache alatt van.
2. Zárd ki a Gravity Forms szkriptjeit és a jQuery-t minden JavaScript-optimalizálásból (defer, delay, combine), a Gravity Forms stíluslapjait pedig minden CSS-optimalizálásból (például Generate UCSS). A beállítások a LiteSpeed Cache › Page Optimization alatt vannak.
3. Kapcsold ki a Guest Mode-ot, és próbáld újra, mielőtt bármi mást hibáztatnál.
4. Ha az űrlapot tartalmazó oldalakat gyorsítótárban akarod tartani, az ESI minden kérésnél frissítheti a tokeneket, miközben az oldal többi része gyorsítótárazott marad. Ez a LiteSpeed-kiszolgálótól függ, kérdezd meg a tárhelyszolgáltatót, elérhető-e. Másik megoldás a közösségi Fresh Forms for Gravity kiegészítő, amely a támogatott gyorsítótár-megoldásokból automatikusan kizárja az űrlapot tartalmazó oldalakat.
5. Ha kiderült, melyik beállítás a hibás, a többit hagyd bekapcsolva, ürítsd a LiteSpeed gyorsítótárát, és frissítsd az oldalt erőltetett újratöltéssel.
6. Ha a gond megmarad, fordulj a LiteSpeed ügyfélszolgálatához, vagy a tárhelyszolgáltatódhoz, ha ő kezeli a LiteSpeed-kiszolgálót.

Az általános leírást lásd a [gyorsítótár és szkriptoptimalizáló fejezetében](https://hub.hellowp.io/hu/plugins/gravityforms/hogyan-gyorsitotar-es-szkript-optimalizalo/), a spamnek jelölt beküldésekről a [spamvédelem fejezetében](https://hub.hellowp.io/hu/plugins/gravityforms/spamvedelem-spam-bejegyzesek/).

A külső bővítményeket csak javaslatként említjük: nem teszteljük és nem támogatjuk őket, ezért a megfelelőségükről neked kell meggyőződnöd.
