Bílá obrazovka smrti ve WordPressu je jednou z nejčastějších chyb. Je to také jedna z nejvíce frustrujících chyb, protože se neobjeví žádná chybová zpráva a nemůžete vlastně nic dělat.
Dalším problémem chyby bílé obrazovky smrti je, že někdy postihuje pouze určitou část webu.
Bílá obrazovka smrti se může například zobrazit pouze v oblasti administrace WordPressu, zatímco vše ostatní funguje správně. V jiných případech se může zobrazit pouze u určitého příspěvku, zatímco vše ostatní funguje jak má.
V tomto článku si ukážeme, jak opravit bílou obrazovku smrti ve WordPressu.
Proč se ve WordPressu zobrazuje bílá obrazovka smrti?
Když se zobrazí bílá obrazovka smrti, většinou to znamená, že skript na vašem webu vyčerpal limit paměti.
Neodpovídající skript buď shodí váš hostingový server, nebo se jednoduše ukončí. Proto se negeneruje žádná skutečná chybová zpráva a zobrazí se obyčejná bílá (prázdná) obrazovka.
Někdy se místo bílé obrazovky může zobrazit kritická chybová zpráva.
Ať už se zobrazí prázdná obrazovka, nebo zpráva „Na webu došlo k závažné chybě. Pokyny naleznete v e-mailové schránce administrátora webu.“, jedná se o stejnou chybu.
K této chybě může dojít také v důsledku chyby v šabloně nebo pluginu. Případně k ní může dojít, pokud se vyskytne problém s vaším hostingovým serverem.
Vzhledem k tomu, že chyba bílé obrazovky může být způsobena různými věcmi, vyžaduje její odstranění metodické řešení problémů.
Vyskytuje se problém i na jiných stránkách?
Pokud máte na stejném hostingovém účtu nainstalovány další WordPress stránky, zkontrolujte, zda se problém nevyskytuje i na jiných stránkách.
Pokud ano, pak je to silný indikátor toho, že je problém s hostingem. Mohlo by se jednat o dočasný problém ovlivňující jejich služby a je třeba se obrátit na jejich podporu a požádat o další pomoc.
Na druhou stranu, pokud se problém vyskytuje pouze u jednoho webu nebo jeho konkrétní části, pak víte, že problém je jen zde.
Oprava chyby bílé obrazovky pomocí režimu obnovení
Pokud je chyba bílé obrazovky smrti způsobena pluginem nebo šablonou, může ji WordPress zachytit.
Nová funkce ochrany před závažnou chybou představená ve WordPressu 5.2 může někdy chybu zachytit, takže se bílá obrazovka nemusí vůbec zobrazit. Místo toho se zobrazí zpráva, že web má technické potíže.
Na e-mailovou adresu správce také obdržíte e-mail s předmětem „Web má technické potíže“.
Zdravíme!
Od verze 5.2 je ve WordPressu nově vestavěná funkce, která automaticky detekuje pluginem nebo šablonou vzniklou závažnou chybu, a automaticky vás o ní upozorní do e-mailu.
V tomto případě WordPress zaznamenal chybu v jednom z používaných pluginů – NÁZEV PLUGINU NEBO ŠABLONY.
Tato e-mailová zpráva upozorní na plugin, který chybu způsobil, a bude také obsahovat speciální odkaz. Tento odkaz vám umožní přihlásit se do režimu obnovení WordPressu a deaktivovat jej.
Pokud se však zobrazuje obyčejná bílá obrazovka smrti bez možnosti e-mailu nebo režimu obnovení, musíte chybu opravit ručně.
Zvýšení limitu paměti
K této chybě obvykle dochází, protože skript vyčerpal paměť a skončil uprostřed běhu. Chcete-li to napravit, musíte zvýšit paměť PHP dostupnou pro WordPress. To umožní skriptu využít více paměti k dokončení práce, kterou měl vykonat.
Navýšení php memory limit provedete v nastavení hostingu, případně požádejte o pomoc jeho podporu.
Vypnutí všech pluginů
Pokud zvýšení limitu paměti nepomohlo nebo pokud již máte nastavený vysoký limit, například 256 nebo 512 MB, je zkusit i další postup.
Podle našich zkušeností s řešením tohoto problému jsme většinou zjistili, že chyba je obvykle v pluginu nebo šabloně. Dalším krokem by tedy mělo být deaktivovat všechny pluginy.
Pokud máte stále přístup do administrace WordPressu, můžete jednoduše přejít na stránku Pluginy a pomocí funkce Hromadné akce všechny pluginy zaškrtnout a poté deaktivovat.
Pokud nemáte přístup do administrace WordPressu, budete muset všechny pluginy deaktivovat přes FTP.
Nejprve se připojte k webu WordPress pomocí FTP klienta. Po připojení přejděte do složky wp-content, kde uvidíte složku „plugins“. Klikněte na ní pravým tlačítkem myši a vybrte možnost přejmenovat. Složku plugins můžete přejmenovat například na plugins-vypnuto.
Klient FTP složku plugins přejmenuje.
Poté zkuste stránku znovu načíst. WordPress hledá složku s názvem plugins pro načtení všech pluginů a když složku nenajde, jednoduše všechny pluginy deaktivuje.
Pokud se tím problém vyřeší, přejmenujte složku zpět a aplikujte podobný postup přímo na pluginy, abyste našli přesně ten, který chybu způsobuje. Tedy jakmile jej přejmenujete a web se rozběhne, jedná se o plugin, který chybu s největší pravděpodobností způsobil.
Nahrazení šablony
Pokud řešení problému pomocí vypnutí pluginů problém nevyřeší, měli byste zkusit nahradit stávající šablonu výchozí šablonou.
Nejprve se připojte k webu pomocí FTP klienta a přejděte do složky /wp-content/themes/. Ta obsahuje všechna nainstalované šablony na vašem webu a podobně jako u pluginů, přejmenujte složku šablony.
Obdobně jako u pluginů, když se složka jmenuje jinak, WordPress ji nenajde a šablonu nenačte. Pokud se v tuto chvíli rozběhne administrace WordPressu, je možné, že chybu způsobuje právě šablona. Přihlaste se do administrace WordPressu a nainstalujte výchozí šablonu a zkuste ji aktivovat.
Pokud to problém vyřeší, měli byste se podívat do souboru functions.php vaší původní šablony. Pokud jsou v dolní části souboru functions.php mezery navíc, je třeba je odstranit a někdy to problém vyřeší.
Alternativně zvažte stažení aktuální kopie šablony a její přeinstalace.
Povolení režimu ladění pro zachycení chyb ve WordPressu
Pokud dosud nic nepomohlo, dalším krokem je zapnutí ladění ve WordPressu. To vám umožní zjistit, jaký typ chyb se vypisuje.
Jednoduše přidejte následující kód do souboru wp-config.php.
define( 'WP_DEBUG', true); define( 'WP_DEBUG_LOG', true );
Po přidání této položky se namísto prázdné obrazovky objeví chyby, varování a upozornění. Ty vám mohou pomoci určit hlavní příčinu.
Vymazat mezipaměť WordPressu
Někdy se může stát, že máte přístup k backendu, ale na front-endu webu je bílá obrazovka smrti. To se může stát kvůli pluginu na cachování. Jednoduše vyprázdněte mezipaměť pomocí pluginu, který cache vytváří.
Chápeme, že se jedná o velmi nepříjemnou chybu, která nemá přesně dané řešení a doufáme, že některý z výše uvedených tipů problém vyřešil.