Hibaelhárítás: űrlapok, e-mailek és hibakeresés
Konfliktusteszt, megakadó regisztrációs űrlap, Missing Payment ID hiba, nem működő jelszó-visszaállító link, elmaradó e-mailek és a hibakeresési mód.
Ez a fejezet azt mutatja meg, hogyan keresheted meg egy hiba okát: bővítmény- vagy sablonütközést, gyorsítótárat, e-mail-küldési gondot, és hogyan kapcsolhatod be a bővítmény hibakeresési naplóját.
Hibakeresési mód (Debug Mode)
Szekció neve “Hibakeresési mód (Debug Mode)”A hibakeresési mód a Restrict → Settings → Misc fülön az Enable Debug Mode négyzettel kapcsolható be (Általános beállítások és e-mailek). Bekapcsolás után a Restrict → Tools oldalon megjelenik a Debugging fül. Innentől a bővítmény naplózza a fontos eseményeket: a bővítmény viselkedését, a fiókok módosításait és az e-mail-küldést. Ez segít kideríteni, mi történt egy hibás regisztráció vagy e-mail előtt. Hibakeresés után kapcsold vissza.
Hogyan keress bővítmény- vagy sablonütközést
Szekció neve “Hogyan keress bővítmény- vagy sablonütközést”Ha egy funkció hibásan működik (törik az elrendezés, nem megy át az űrlap, hibát ad a szerkesztő), gyakran két bővítmény vagy a sablon ütközik. A teszt lényege, hogy kizárásos alapon megkeresed a hibás elemet.
1. Készülj fel
Szekció neve “1. Készülj fel”- Frissítsd a WordPress magot, a sablont és az összes bővítményt: sok hibát a frissítés megold.
- Készíts teljes mentést az adatbázisról és a fájlokról.
- Ha van, teszteléshez használj tesztkörnyezetet (staging), hogy a látogatók ne vegyenek észre semmit.
- Ürítsd a böngésző gyorsítótárát és a szerveroldali gyorsítótárakat (oldal- és objektumgyorsítótár).
2. Sablon tesztelése
Szekció neve “2. Sablon tesztelése”- Nyisd meg a Megjelenés → Sablonok oldalt.
- Ideiglenesen kapcsold be egy alap, módosítatlan WordPress-sablont (például a Twenty Twenty-Four-t).
- Ürítsd a böngésző gyorsítótárát, és próbáld újra a hibás műveletet. Ha a hiba megszűnt, a sablon okozza. Ha megmaradt, kapcsold vissza a saját sablonodat, és folytasd a bővítményekkel.
3. Bővítmények tesztelése
Szekció neve “3. Bővítmények tesztelése”- Nyisd meg a Bővítmények → Telepített bővítmények oldalt.
- Jelöld ki az összes bővítményt, kivéve azt, amelyet tesztelsz (és amelyik a működéséhez kell).
- A tömeges műveleteknél válaszd a kikapcsolást, majd alkalmazd.
- Ürítsd a gyorsítótárat, és próbáld újra. Ha a hiba megszűnt, bővítményütközés van. Ha megmaradt, az ok inkább a szerverbeállításban, az adatbázisban vagy a WordPress beállításaiban keresendő.
- Kapcsold vissza a bővítményeket egyenként (vagy kisebb csoportokban), és minden bekapcsolás után próbáld újra.
- Amelyik bővítmény bekapcsolása után újra jelentkezik a hiba, az az ütközés oka.
Ha nincs tesztkörnyezeted, használhatod a Health Check & Troubleshooting bővítményt. A Eszközök → Webhely állapota → Hibaelhárítás üzemmódban csak a saját, bejelentkezett munkameneted számára kapcsol ki bővítményeket és vált sablont, a látogatók változatlanul az éles oldalt látják.
4. Gyakori további esetek
Szekció neve “4. Gyakori további esetek”- Sablonfelülírások. A gyermeksablon egyedi sablonfájljai a bővítmény frissítése után elavulhatnak. Nevezd át ideiglenesen a felülíró mappát (például tegyél a végére
-bakszót), és nézd meg, hogy a régi sablonfájlok okozzák-e a hibát. - JavaScript-hibák. Nyisd meg a böngésző fejlesztői konzolját (F12 vagy Cmd + Option + I), és töltsd újra az oldalt. A piros hibák megmutatják az érintett szkriptet vagy függvényt.
- 404-es oldalak. Frissítés vagy egyedi tartalomtípus módosítása után fordulhat elő. A Beállítások → Állandó hivatkozások oldalon kattints a módosítások mentésére, beállítás módosítása nélkül: ez frissíti az átírási szabályokat.
- 403 Forbidden, REST API tiltás. Gyorsítótár-, biztonsági, tűzfal- vagy tagsági bővítmény blokkolhatja a REST API (
/wp-json/) végpontjait. Ideiglenesen kapcsold ki a végpontok tiltását, vagy engedélyezd a REST API útvonalait. - Lassú betöltés. Gyakran nagy adatbázis-lekérdezések, indexelés nélküli adatok, sok átmeneti adat vagy lejárati dátum nélküli ismétlődő bejegyzések okozzák.
Ha ütközést találtál, mit gyűjts össze
Szekció neve “Ha ütközést találtál, mit gyűjts össze”Ha a bővítmény és egy másik termék ütközik, a hibajelentéshez gyűjtsd össze az ütköző bővítmény vagy sablon pontos nevét és verzióját, a hiba lépésről lépésre leírt előidézését, és a webhely rendszerinformációit. Utóbbit a Restrict → Tools → System Info fülön, vagy az Eszközök → Webhely állapota → Infó oldalon találod.
A regisztrációs űrlap megakad, nem töltődik be
Szekció neve “A regisztrációs űrlap megakad, nem töltődik be”Ha a regisztrációs űrlap nem töltődik be teljesen, vagy „beragad”, az szinte mindig egy másik bővítmény vagy a sablon hibája. Keresd meg az okot így:
- Bővítmények. Kapcsold ki ideiglenesen az összes bővítményt, kivéve a tagsági bővítményt. Próbáld ki az űrlapot. Ha működik, ütközés van: kapcsold vissza a bővítményeket egyenként, amíg az űrlap újra el nem romlik. Ha az űrlap az összes többi kikapcsolásával sem működik, hagyd őket kikapcsolva, és menj a sablonra.
- Egyedi módosítások. Ha módosítottad a regisztrációs űrlapot (Regisztrációs űrlap és egyéni mezők), vedd ki a módosításokat. Ha az űrlap így működik, a módosításban van a hiba. Az egyedi fejlesztés hibakeresése a te feladatod.
- Sablon. Ha az űrlapot nem módosítottad, kapcsold be ideiglenesen a WordPress alapsablonját. Ha így megy az űrlap, a sablon hibás: cserélj sablont, vagy kérd meg a sablon fejlesztőjét, hogy javítsa. Mondd meg neki, hogy a sablon megtöri a JavaScript és/vagy az AJAX működését.
Tipp: a böngésző fejlesztői konzoljában általában látszanak a sablon JavaScript-hibái. Bármelyik JavaScript-hiba megtörheti a regisztrációs űrlapot és az oldal más funkcióit is. Ha a konzolban a sablonhoz kapcsolódó hibákat látsz, jelezd a sablon fejlesztőjének.
„Missing Payment ID” hiba regisztrációkor
Szekció neve “„Missing Payment ID” hiba regisztrációkor”A Missing Payment ID hiba általában JavaScript-hibát jelez, amit többnyire egy másik bővítmény vagy a sablon ütközése okoz. A keresés ugyanaz, mint a megakadó űrlapnál:
- Kapcsold ki az összes bővítményt a tagsági bővítmény kivételével, és próbáld ki a regisztrációt. Ha megy, kapcsold vissza őket egyenként, amíg a hiba vissza nem tér.
- Ha az űrlapot módosítottad, vedd ki a módosításokat. Ha így működik, a módosítással van a baj.
- Ha nem módosítottad, kapcsold be a WordPress alapsablonját. Ha így működik, a sablon hibás, és a fejlesztőjének kell javítania.
- Nézd meg a böngésző fejlesztői konzolját: a sablonhoz kapcsolódó JavaScript-hibákat jelezd a sablon fejlesztőjének.
A jelszó-visszaállító linkek nem működnek
Szekció neve “A jelszó-visszaállító linkek nem működnek”Egyes tárhelyek és gyorsítótár-bővítmények (például WP Super Cache, W3 Total Cache) agresszívan gyorsítótároznak, és ez tönkreteheti a jelszó-visszaállító linkeket. A megoldás, hogy a belépési oldalt kizárod a gyorsítótárból. Ha a gyorsítótárnak van süti-fehérlistája, a jelszó-visszaállítás sütijét is fel kell venned rá.
A belépési oldalt a Restrict → Settings → Misc fülön adhatod meg.
Tárhely gyorsítótára
Szekció neve “Tárhely gyorsítótára”Kérd meg a tárhelyszolgáltatót, hogy a belépési oldal címét tegye a gyorsítótár kivételei közé. A kérésben a saját oldalad belépési oldalának teljes URL-jét add meg, és írd le, hogy a jelszó-visszaállító linkek nem működnek.
A jelszó-visszaállítás sütije
Szekció neve “A jelszó-visszaállítás sütije”A link feldolgozásakor a bővítmény sütit állít be. Ennek a neve:
'rcp-resetpass-' . COOKIEHASHHa a tárhely gyorsítótára süti-fehérlistát használ, ezt a sütit fel kell venni rá. A süti nevét az rcp_resetpass_cookie_name szűrővel módosíthatod:
function sajat_rcp_resetpass_cookie_name( $cookie_name ) { return 'sajat-suti-nev';}add_filter( 'rcp_resetpass_cookie_name', 'sajat_rcp_resetpass_cookie_name' );Varnish
Szekció neve “Varnish”Ha a szervered Varnish gyorsítótárat használ, a konfigurációban ki kell hagyni a belépési és az admin oldalakat:
# Do not cache the admin and login pagesif (req.url ~ "/wp-(login|admin)" || req.url ~ "/login") return (pass);}A bővítménynek a sütit is be kell tudnia állítania. Ha a konfigurációd a Set-Cookie fejlécet törli, add hozzá az rcp- előtagú sütik kivételét:
if (beresp.http.Set-Cookie && bereq.url !~ "^/wp-(login|admin)" && beresp.http.Set-Cookie !~ "comment_" && $.http.Set-Cookie !~ "rcp-") { unset beresp.http.Set-Cookie;}Ha a tárhelyed felületen kezeli a Varnish-konfigurációt, a fehérlistán az rcp-* előtagú sütiket kell engedélyezned (helyettesítő karakterrel).
Gyorsítótár-bővítmények
Szekció neve “Gyorsítótár-bővítmények”Minden gyorsítótár-bővítmény más, a kizárás a bővítmény beállításaiban található. A legtöbb lehetővé teszi egyes oldalak kizárását: vedd ki a gyorsítótárból azt az oldalt, amelyen a [login_form] rövidkód van. A következő bővítményekről ismert, hogy kizárás nélkül gondot okoznak: WordFence, W3 Total Cache, WP Rocket, WP Super Cache.
Nem érkeznek meg az e-mailek
Szekció neve “Nem érkeznek meg az e-mailek”A bővítmény e-mailt küld a tagoknak és az adminisztrátoroknak bizonyos eseményeknél (például új regisztrációnál). Ha nem érkeznek meg, haladj végig ezeken a lépéseken.
- A tag állapota. A regisztrációs e-maileket a bővítmény akkor küldi, amikor a tag fiókja Active állapotra vált. Ha a tagok nem lesznek automatikusan aktívak, előbb azt javítsd: lásd A tagok függőben maradnak.
- E-mail-beállítások. Nyisd meg a Restrict → Settings → Emails fület, és keresd meg az érintett e-mail-sablont (például a fizetős regisztrációhoz az aktív előfizetés e-mailjét, az ingyenes regisztrációhoz az ingyenes tagság e-mailjét). Ellenőrizd, hogy a letiltás négyzete nincs bejelölve, hogy a tárgy ki van töltve, és hogy az üzenet szövege ki van töltve. Ha a tárgy vagy a szöveg üres, az e-mail nem megy ki. A beállítások leírása: Általános beállítások és e-mailek.
- Elindul-e az e-mail-küldés? Telepítheted a WP Mail Logging bővítményt, amely naplózza a kimenő leveleket. Ha az e-mail nem szerepel a naplóban, a küldés nem indul el. Ha szerepel, az e-mail kiment, csak nem érkezett meg: lépj a 4. lépésre. A bővítmény saját hibakeresési naplója is segít (Hibakeresési mód).
- Küldés SMTP-szerveren át. Ha az e-mail kimegy, de nem érkezik meg, a szerver levélküldése a gond. A legegyszerűbb megoldás egy külön SMTP-szerver használata. Ha van saját SMTP-szervered, a tárhelyed ad egyet (a legtöbb ad), vagy Gmailen át küldenél, a Configure SMTP vagy a WP Mail SMTP bővítménnyel beállíthatod, hogy a WordPress a külső levelezőszerveren át küldjön. Ha nincs SMTP-szervered, vagy nem tudod beállítani, kérj segítséget a tárhelyszolgáltatótól. Másik lehetőség egy tranzakciós levélküldő szolgáltatás (például Mailgun vagy SendGrid).
Készült: