Bílá obrazovka smrti, známá také jako WSOD (White Screen of Death), je častým problémem, který se projevuje zobrazením prázdné bílé obrazovky na webu. Tato chyba znemožňuje majitelům webových stránek přístup k jejich administrátorskému rozhraní WordPress, a to bez jakéhokoli doprovodného chybového hlášení. Způsobuje tak frustraci a znepokojení jak vlastníků, tak i vývojářů webů.
K této situaci dochází, když WordPress narazí na chybu, která mu zabrání v zobrazení jakéhokoli obsahu. Na rozdíl od jiných chybových zpráv WSOD neposkytuje žádné konkrétní informace o problému. Příčinami WSOD mohou být různé faktory, včetně konfliktů mezi šablonami a pluginy, chyb v PHP kódu nebo nekonzistence databáze.
Řešení problému s bílou obrazovkou smrti vyžaduje systematický přístup, který zahrnuje identifikaci základní příčiny, řešení problémů a následné ladění.
Cílem tohoto článku je objasnit příčiny a důsledky chyby WSOD v prostředí WordPress. Dále vám poskytneme praktický návod, jak tuto chybu odstranit, a tím zajistit stabilní a bezproblémové prostředí pro vaše návštěvníky.
Dopad chyby WSOD na výkon webu a uživatelskou zkušenost
Pochopení negativního vlivu, který má chyba WSOD, je klíčové pro uvědomění si nutnosti jejího rychlého vyřešení.
Níže uvádíme některé z důsledků chyby WSOD, které byste měli brát velmi vážně:
Ztráta funkčnosti
Vzhledem k tomu, že WSOD brání načtení jakéhokoli obsahu, web se stává pro uživatele zcela nedostupný. To vede k značné ztrátě funkčnosti a efektivity vašeho webu. Interakce s uživateli je omezena a nemají přístup k požadovaným informacím nebo službám.
Nepříjemný uživatelský zážitek
Zobrazení bílé obrazovky smrti je pro většinu uživatelů velmi frustrující. Mohou se cítit zmatení a nejistí ohledně stavu webu. To má za následek snížení zájmu o další návštěvy a může vést k opuštění webu.
Snížená návštěvnost webu
Pokud uživatelé na vašem webu narazí na bílou obrazovku smrti, pravděpodobně začnou hledat alternativní zdroje informací. Tím dochází ke ztrátě potenciální návštěvnosti, protože uživatelé se rozhodnou pro konkurenční, funkční weby. Pokles návštěvnosti tak ovlivňuje nejen počet potencionálních zákazníků, ale také celkovou viditelnost webu.
Poškození hodnoty značky
Nefunkční web s chybou WSOD může vážně poškodit reputaci vaší značky. Ztrácíte důvěru stávajících i nových zákazníků, protože působíte nespolehlivě a neprofesionálně. Obnovení této ztracené důvěry a loajality je pak velmi obtížné.
Snížené konverzní poměry
Web s chybou WSOD výrazně snižuje svou schopnost přeměnit návštěvníky na zákazníky nebo odběratele, jelikož absence jasné výzvy k akci nebo nemožnost dokončit transakci vede k poklesu konverzních poměrů.
Návštěvníci na vašem webu s poruchou jsou méně motivovaní k jakýmkoli akcím. To vede ke ztrátě obchodních příležitostí a snížení potenciálních příjmů.
Důsledky pro SEO
Pokud se na vašem webu objevuje WSOD, může to vést k problémům s indexací a hodnocením ve vyhledávačích. Dlouhodobé přetrvávání této chyby má negativní dopad na viditelnost vašeho webu ve vyhledávačích. Hodnocení webu je negativně ovlivněno, což snižuje jeho dosah a objevitelnost.
Plýtvání časem a zdroji
Identifikace a oprava příčiny chyby WSOD vyžaduje čas, úsilí a finanční zdroje. Přesměrování zdrojů z jiných produktivních činností může mít negativní vliv na celkovou produktivitu a brzdit růst podnikání.
Kvůli opakovanému výskytu chyby musíte vynakládat více zdrojů na její řešení. Tím se také výrazně snižuje schopnost zlepšovat a udržovat webové stránky.
Běžné příčiny bílé obrazovky smrti WordPress
Pro efektivní řešení problému je zásadní zaujmout systematický přístup, kdy postupně eliminujete každou potenciální příčinu, dokud nenaleznete tu pravou. Níže jsou uvedeny nejběžnější příčiny chyby WSOD v prostředí WordPress:
Konflikt mezi pluginy a šablonami
Chyba WSOD může být způsobena nekompatibilitou mezi pluginy a šablonami. K tomuto problému dochází, když dojde ke konfliktu v kódu mezi dvěma nebo více pluginy nebo šablonami. Stejně tak se může objevit, když je plugin nebo šablona zastaralá nebo nekvalitně vytvořená.
Chyby v PHP kódu
Chyba v PHP kódu vaší instalace WordPress může také vést k zobrazení bílé obrazovky smrti. Obvykle k tomu dochází v důsledku syntaktických chyb, zastaralých funkcí nebo problémů s verzí PHP na serveru.
Problém s limitem paměti
K chybě WSOD může dojít, když váš web WordPress využívá více paměti, než je přiděleno. Obvykle se tak stane, když náročné pluginy nebo šablony přetíží server kvůli vysoké spotřebě paměti.
Poškozené soubory
Problém WSOD může být důsledkem poškození klíčových souborů, šablon nebo pluginů. To může nastat v důsledku neúspěšného nahrávání souborů, virové infekce nebo problémů se serverem při manipulaci se soubory.
Problémy s databází
Potíže s databází, jako je její poškození nebo problémy s připojením, mohou také způsobit chybu WSOD. Pokud se WordPress nemůže připojit k databázi nebo narazí na problémy se získáváním nebo ukládáním dat, může se objevit prázdná bílá obrazovka.
Chybné nastavení oprávnění souborů
Dalším důvodem vzniku chyby WSOD mohou být nesprávná oprávnění pro soubory a složky. Pokud nejsou příslušné soubory přístupné, webové stránky se nebudou zobrazovat správně. Navíc, pokud server nemá dostatečná práva pro čtení nebo spouštění souborů, může dojít k chybě WSOD.
Chybná úprava kódu
Nesprávná oprávnění souborů nastavená pro soubory a adresáře WordPress mohou vést k zobrazení chyby WSOD. Nepřístupnost klíčových souborů nebo nedostatečná oprávnění serveru pro jejich čtení nebo spouštění mohou bránit správnému vykreslení webu.
Nyní se podíváme na metody, které vám pomohou vyřešit chybu WSOD ve WordPress. Zde je několik jednoduchých a efektivních řešení, která vám umožní problém rychle odstranit:
Deaktivace pluginů
Někdy může být problémem nekompatibilita mezi pluginy, které jsou na vašem webu nainstalované. To pak může vést k chybě bílé obrazovky smrti. Řešením je provést tyto kroky:
- Přihlaste se do administrace a jděte do sekce Pluginy > Instalované pluginy.
- Označte všechny pluginy.
- V rozbalovací nabídce Hromadné akce vyberte možnost „Deaktivovat“ a klikněte na „Použít“.
- Zkontrolujte, zda je chyba opravena. Pokud ano, pokračujte následujícím krokem.
- Začněte aktivovat pluginy jeden po druhém, a po každé aktivaci znovu načtěte stránky. Takto snadno odhalíte, který z pluginů je zdrojem problémů.
Pokud nemáte přístup k administraci, můžete využít protokol SFTP (Secure File Transfer Protocol). Můžete se také přihlásit do svého CPanelu a řešit problém. Oba postupy jsou podobné:
- Vyhledejte a otevřete složku „public_html“ a poté jděte do složky „wp-content“.
- Přejmenujte složku „plugins“ na například „plugins_old“.
- Zkontrolujte, zda bílá obrazovka přetrvává. Pokud váš web funguje, pokračujte dalším krokem.
- Ve složce „plugins_old“ postupně přejmenujte složky pluginů a po každém přejmenování zkontrolujte web. Takto identifikujete problematický plugin.
Pokud problém přetrvává kvůli nekompatibilitě, kontaktujte vývojáře pluginu a požádejte o pomoc.
Deaktivace aktivních šablon
Stejně jako pluginy mohou být i šablony WordPress v konfliktu s jinými pluginy nebo mohou být zastaralé. Navíc, k poškození souborů může dojít při instalaci šablony. Proto je doporučeno dočasně nahradit aktivní šablonu výchozí šablonou WordPress.
Zde jsou kroky, jak se vyhnout chybě WSOD, pokud je problémem šablona:
- V administraci WordPress klikněte na sekci Vzhled > Šablony.
- Aktivujte výchozí šablonu WordPress, například Twenty Twenty-Three.
K webovým souborům můžete přistupovat také přes SFTP. V takovém případě postupujte podle následujících instrukcí:
- Přes SFTP přejděte do složky „public_html“, následně do složky „wp-content“.
- Ve složce „themes“ najděte složku s názvem vaší aktivní šablony.
- Přidejte koncovku „_old“ k názvu aktivní složky šablony. Tím dojde k deaktivaci šablony.
- Znovu navštivte web a zkontrolujte, zda bílá obrazovka zmizela. Pokud je problém vyřešen, tak jste identifikovali jeho příčinu. Kontaktujte vývojáře šablony a informujte ho o chybě a požádejte o nejnovější opravenou verzi šablony.
Změna limitu paměti
Při instalaci pluginu nebo šablony se na webu WordPress spouští skripty. Každé takové spuštění spotřebovává část paměti RAM na serveru. WordPress nastavuje limity paměti pro pluginy, aby zabránil skriptům zpomalovat web.
Nicméně, i tak může dojít k chybě WSOD, když skript vyžaduje více paměti. Zvýšení limitu paměti pro pluginy lze provést pomocí následujících kroků:
- Přihlaste se na server pomocí SFTP.
- Přejděte do složky public_html a otevřete soubor wp-config.php.
- Klikněte pravým tlačítkem na soubor wp-config.php a zvolte Zobrazit/Upravit.
- Na konci souboru vložte následující řádek kódu:
define( 'WP_MEMORY_LIMIT', '64M' );
Tímto kódem přidělíte až 64 megabajtů paměti pro skripty, které WordPress načítá.
- Uložte změny a nahrajte upravený soubor zpět na server.
- Zkontrolujte, zda web funguje správně.
Vyčištění mezipaměti prohlížeče a WordPressu
Většina webových stránek umožňuje prohlížečům uchovávat soubory lokálně, aby se zkrátila doba načítání stránky. Tomu se říká ukládání do mezipaměti prohlížeče. Naneštěstí to může také způsobit bílou obrazovku smrti ve WordPressu.
Zde je popis, jak vyčistit mezipaměť prohlížeče Google Chrome:
- Otevřete Google Chrome a klikněte na ikonu tří teček v pravém horním rohu.
- Přejděte na Další nástroje a zvolte Vymazat údaje o prohlížení.
- Přejděte na kartu Základní.
- Vyberte časový rozsah nebo zvolte Celé období pro odstranění všech uložených dat.
- Zaškrtněte políčko u obrázků a souborů v mezipaměti.
- Klikněte na Vymazat data.
- Počkejte na dokončení procesu.
Mezipaměť webu WordPress můžete také vymazat pomocí pluginů, například WP-Optimize nebo WP Super Cache. Příklad s WP Super Cache:
- Přihlaste se na web WordPress.
- Přejděte do Nastavení > WP Super Cache.
- Klikněte na Odstranit mezipaměť.
Zapnutí režimu ladění
Pokud chyba WSOD přetrvává, aktivujte režim ladění, který zobrazí chyby webu. To vám pomůže získat detailní informace o chybě. Zde je postup:
- K základním souborům webu se můžete dostat přes SFTP.
- Nebo se přihlaste do cPanel > Správce souborů > public_html.
- Otevřete soubor wp-config.php a najděte řádek define( ‚WP_DEBUG‘, false );
- Změňte kód na: define( ‚WP_DEBUG‘, true);
- Znovu načtěte web a podívejte se na chybové hlášení.
Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1954) in /var/www/html/wordpress/wp-content/plugins/test-plugin/test-plugin.php on line 47
- Zde vidíte, že problém je na řádku 47 pluginu test-plugin. Nyní víte, co je příčinou chyby WSOD. Deaktivujte tento plugin, abyste chybu vyřešili.
Kontrola oprávnění souborů
Potíže s oprávněními souborů mohou také způsobit chybu WSOD. Opravit je lze pomocí těchto kroků:
- Přihlaste se do cPanel a klikněte na Správce souborů.
- Klikněte na složku public_html.
- Označte složky, klikněte pravým tlačítkem a nastavte hodnotu oprávnění na 775 nebo 755.
- Pro soubory nastavte hodnotu oprávnění na 664 nebo 644.
- Nastavte hodnotu oprávnění pro soubor wp-config.php na 660, 600 nebo 644.
K serveru můžete přistupovat i přes SSH a použít následující příkazy. Musíte je zadat v kořenové složce WordPress:
sudo find . -type f -exec chmod 664 {} + sudo find . -type d -exec chmod 775 {} + sudo chmod 660 wp-config.php
Řešení problémů s automatickými aktualizacemi
Problémy s aktualizacemi, například vypršení časového limitu serveru, mohou vést k chybám WSOD. I když se tento problém obvykle vyřeší automaticky, někdy je nutný zásah uživatele. Zde je postup:
- Přejděte do kořenového adresáře instalace WordPress.
- Zkontrolujte, zda existuje soubor „.maintenance“ (název může být zkrácený).
- Smažte soubor „.maintenance“ a načtěte web.
- Pokud byla aktualizace úspěšná, ale WordPress nemohl soubor automaticky odstranit, web by měl fungovat normálně.
- Pokud se aktualizace nedokončila, může se sama restartovat a web by měl fungovat normálně.
- Pokud výše uvedené kroky nefungují, proveďte ruční aktualizaci WordPress. Tento komplexní proces by měl problém vyřešit.
Oprava syntaktických chyb
Chyby v kódu webu WordPress mohou způsobit chybu WSOD. Obvykle se jedná o překlepy nebo nesprávnou syntaxi. Jediný špatně umístěný znak může poškodit celý web. Nikdy byste tedy neměli upravovat kód přímo na živém webu.
Není však třeba propadat panice. Můžete se připojit k webu pomocí FTP a vrátit změny v kódu. Pokud si nejste jistí změnami, které jste provedli, je důležité mít zálohu webu, která vám v takové situaci pomůže.
Zvýšení schopnosti zpracování textu v PHP
Pokud je stránka nebo příspěvek neobvykle dlouhý, možná budete muset zvýšit schopnost zpracování textu na svém webu. To se provádí úpravou limitů pro zpětné sledování a rekurzi přidáním následujících kódů do souboru wp-config.php:
/* Increasing PHP Text Processing capability */ ini_set('pcre.recursion_limit',20000000); ini_set('pcre.backtrack_limit',10000000)
Pokud po všech pokusech o řešení problémů stále vidíte chybu WOSD, je čas kontaktovat poskytovatele hostingu. Jeho technická podpora má přístup ke kódu a serveru, a dokáže problém vyřešit.
Doporučení pro prevenci bílé obrazovky WordPress
Pro prevenci chyby WSOD je vhodné implementovat následující osvědčené postupy:
- Pravidelně aktualizujte jádro WordPress, šablony a pluginy pro zajištění kompatibility a bezpečnosti.
- Před nasazením aktualizací na živý web je otestujte v testovacím prostředí.
- Používejte pouze kvalitní, spolehlivé a kompatibilní šablony a pluginy.
- Zapněte režim ladění pro zobrazení detailních chybových hlášení.
- Pravidelně zálohujte všechny soubory a databázi WordPress do zabezpečeného úložiště.
- Neupravujte žádný kód přímo na produkčním webu.
- Sledujte využití zdrojů serveru, jako je paměť, procesor nebo místo na disku.
- Pro lepší výkon webu používejte pluginy pro ukládání do mezipaměti nebo síť pro doručování obsahu.
Závěrečné myšlenky
Bílá obrazovka smrti může být velmi frustrující. Nicméně, je důležité si uvědomit, že situace je často zvládnutelná.
V mnoha případech, kontrola pluginů a šablon stačí pro vyřešení chyby WSOD. Díky metodám, které jsme zmínili, získáte cenné informace o dané problematice a budete lépe připraveni na řešení dalších chyb WordPressu.
Pro odstraňování problémů můžete také prozkoumat nástroje pro ladění WordPress.