Co je to „White Screen of Death“ ve WordPressu?
Představte si, že ráno otevřete svůj web a místo obvyklého obsahu uvidíte jen prázdnou bílou plochu. Žádné menu, žádný text, žádná chybová hláška – prostě nic. Právě jste se setkali s obávaným „White Screen of Death“, zkráceně WSOD. Tento problém postihuje WordPress weby a dokáže pořádně znervóznit každého majitele stránek.
Bílá obrazovka smrti není tak děsivá, jak její název napovídá. Ve skutečnosti jde o situaci, kdy WordPress narazí na kritickou chybu, ale z nějakého důvodu ji nedokáže zobrazit. Server prostě přestane vykreslovat stránku a vy vidíte prázdno. Může se to stát kdykoli – po aktualizaci pluginu, změně motivu nebo dokonce bez zjevného důvodu.
Dobrá zpráva zní, že tento problém je téměř vždy řešitelný. Většinou za ním stojí konflikt mezi pluginy, chyba v kódu nebo vyčerpání paměti serveru. I když to vypadá katastrofálně, ve skutečnosti jde o technický problém s jasným postupem řešení. Pojďme se podívat, jak na to.
Proč se bílá obrazovka vůbec objevuje?
Důvodů může být hned několik. Nejčastěji se jedná o konflikt mezi pluginy nebo motivem. Když například nainstalujete nový plugin, který není kompatibilní s vaší verzí WordPressu nebo s jiným pluginem, může dojít k chybě. WordPress se pak prostě zasekne a místo chybového hlášení ukáže bílou stránku.
Dalším běžným viníkem bývá nedostatek paměti. Pokud váš web potřebuje více paměti RAM, než mu server poskytuje, může se celý systém zastavit. To se často stává po aktualizaci WordPressu na novější verzi, která má vyšší nároky. Podobně může problém způsobit špatně napsaný kód v souboru functions.php vašeho motivu.
Technické příčiny problému
Za bílou obrazovkou může stát poškozený soubor nebo špatné oprávnění souborů na serveru. Někdy dokonce způsobí potíže aktualizace PHP verze, která není kompatibilní s vaším WordPressem. Dokonce i nesprávné nastavení .htaccess souboru může vést k bílé stránce.
Vzácněji se můžete setkat s problémy na straně hostingového serveru. Pokud server dočasně přestane fungovat nebo má technické potíže, může váš web zobrazit prázdnou stránku. Toto ale obvykle neplatí jen pro váš web, ale pro všechny stránky na daném serveru.
Prvotní diagnostika – kde začít?
Než se pustíte do řešení, je dobré zjistit rozsah problému. Zkuste otevřít váš web v anonymním režimu prohlížeče nebo v jiném prohlížeči. Tím vyloučíte, že by problém způsobovala cache ve vašem prohlížeči. Také zkuste otevřít administraci WordPressu na adrese vasedomena.cz/wp-admin – někdy funguje admin panel, i když hlavní stránka ne.
Pokud se vám podaří dostat do administrace, máte velké štěstí. Znamená to totiž, že problém není tak závažný a pravděpodobně ho způsobuje motiv nebo plugin působící jen na veřejné části webu. Bohužel ve většině případů bílá obrazovka postihne celý web včetně administrace.
Napište nám
Kontrola error logů
Jeden z nejužitečnějších kroků při diagnostice je podívat se do error logů. Tyto soubory zaznamenávají chyby, které na vašem webu nastávají. Většina hostingů umožňuje přístup k error logům přes administrační panel. Najdete tam přesné informace o tom, co se pokazilo a který soubor způsobil problém.
Pokud nemáte přístup k error logům přes hosting, můžete zapnout debug režim přímo ve WordPressu. To provedete úpravou souboru wp-config.php, kde změníte řádek s WP_DEBUG na true. Poté se chybové hlášky začnou zobrazovat přímo na stránce nebo se uloží do debug.log souboru.
Deaktivace pluginů – první krok k řešení
Nejjednodušší způsob, jak vyřešit bílou obrazovku, je deaktivovat všechny pluginy. Protože se nemůžete dostat do administrace, musíte to udělat přes FTP nebo správce souborů v hostingu. Připojte se k vašemu webu a najděte složku wp-content. Uvnitř najdete podsložku plugins.
Přejmenujte složku plugins například na plugins_old nebo plugins_disabled. Tím okamžitě deaktivujete všechny pluginy najednou. Poté zkuste znovu načíst váš web. Jestliže se stránka objeví, víte, že problém způsoboval některý z pluginů. Vraťte složce původní název plugins a postupně přejmenovávejte jednotlivé podsložky pluginů, dokud nenajdete viníka.
Identifikace problémového pluginu
Jakmile máte pluginy deaktivované, vraťte jim jeden po druhém původní názvy. Po každé změně zkontrolujte, zda web funguje. Když se bílá obrazovka vrátí, našli jste problémový plugin. Ten buď smažte, nebo aktualizujte na novější verzi. Často pomůže i kontaktování podpory pluginu s popisem problému.
Dejte si pozor na to, abyste neměli aktivované pluginy, které spolu nejsou kompatibilní. Některé pluginy mohou fungovat skvěle samostatně, ale v kombinaci způsobují konflikty. Proto je dobré po každé instalaci nového pluginu otestovat funkčnost celého webu.
Změna motivu na výchozí
Pokud deaktivace pluginů nepomohla, dalším podezřelým je váš aktivní motiv. I ten můžete změnit přes FTP bez přístupu do administrace. Připojte se k serveru a v adresáři wp-content/themes najděte složku vašeho aktuálního motivu. Přejmenujte ji podobně jako u pluginů.
WordPress automaticky aktivuje výchozí motiv, pokud nemůže najít ten původní. To obvykle bývá nějaký Twenty motiv jako Twenty Twenty-Four. Zkuste načíst stránku a pokud se zobrazí, víte, že problém byl v motivu. Můžete pak nainstalovat motiv znovu nebo přejít na jiný.
Oprava kódu v motivu
Někdy způsobí problém úprava souboru functions.php v motivu. Pokud jste před objevením bílé obrazovky upravovali tento soubor, vraťte změny zpět. Otevřete functions.php přes FTP a smažte nedávno přidaný kód. I malá chyba jako chybějící středník nebo závorka může způsobit pád celého webu.
Doporučuje se vždy používat child theme pro vlastní úpravy. Díky tomu můžete v případě problémů jednoduše vrátit změny a zároveň se vyhnete ztrátě úprav při aktualizaci motivu. Child theme funguje jako bezpečnostní síť pro vaše úpravy.
Navýšení paměťového limitu
Častou příčinou bílé obrazovky je nedostatek paměti. WordPress má nastavený výchozí limit paměti, který nemusí stačit pro složitější weby s mnoha pluginy. Tento limit můžete zvýšit editací souboru wp-config.php. Najděte řádek s textem „That’s all, stop editing!“ a těsně před něj vložte nový řádek.
Do nového řádku napište: define(‚WP_MEMORY_LIMIT‘, ‚256M‘); Tímto zvýšíte limit na 256 megabajtů. Uložte soubor a zkuste načíst web. Pokud byl problém v paměti, měl by teď fungovat. Některé hostingy ale mají vlastní limity, které nelze tímto způsobem překročit.
Kontrola PHP limitů
Kromě WordPressu má limity paměti i samotné PHP. Tyto se nastavují v souboru php.ini nebo někdy v .htaccess. Kontaktujte svůj hosting a zeptejte se, jaké jsou vaše aktuální PHP limity. Možná bude potřeba přejít na vyšší tarifní plán s více prostředky.
Oprava .htaccess souboru
Soubor .htaccess řídí mnoho důležitých funkcí WordPressu včetně URL struktury. Pokud je poškozený, může způsobit bílou obrazovku. Nejjednodušší řešení je tento soubor dočasně přejmenovat nebo smazat. Připojte se přes FTP do kořenové složky vašeho WordPressu a najděte soubor .htaccess.
Přejmenujte ho na .htaccess_old a zkuste načíst web. Pokud se objeví, .htaccess byl problém. Můžete vytvořit nový prázdný .htaccess soubor a WordPress ho automaticky naplní správným obsahem při návštěvě nastavení permalinků v administraci.
Kontrola oprávnění souborů
WordPress potřebuje určitá oprávnění k souborům a složkám na serveru. Pokud jsou nastavena špatně, může to vést k různým problémům včetně bílé obrazovky. Většina souborů by měla mít oprávnění 644 a složky 755. Zkontrolujte to přes FTP klienta, který obvykle umožňuje hromadnou změnu oprávnění.
Dávejte ale pozor – příliš volná oprávnění mohou ohrozit bezpečnost vašeho webu. Nikdy nenastavujte všechno na 777, i když to někde vidíte jako radu. Držte se doporučených hodnot 644 pro soubory a 755 pro složky.
Reinstalace WordPressu
Jako poslední možnost zbývá reinstalace jádra WordPressu. Nebojte se, nepřijdete o obsah ani nastavení. Stáhněte si aktuální verzi WordPressu z oficiálních stránek a nahrajte všechny soubory kromě složky wp-content přes FTP. Tím nahradíte potenciálně poškozené systémové soubory novými.
Při nahrávání dejte pozor, abyste nepřepsali wp-config.php a složku wp-content. Ty obsahují vaše unikátní nastavení a veškerý obsah. Přepisujte jen systémové složky wp-admin a wp-includes plus soubory v kořenovém adresáři.
Kdy kontaktovat support hostingu?
Pokud jste vyzkoušeli všechny výše zmíněné kroky a web stále neukazuje nic jiného než bílou stránku, je čas oslovit technickou podporu vašeho hostingu. Problém může být na straně serveru – například vyčerpaná kapacita databáze, problém s PHP verzí nebo blokace ze strany firewallu.
Kvalitní hosting by měl být schopen rychle identifikovat problém přes své logy a nástroje. Nezapomeňte jim popsat, co už jste všechno vyzkoušeli. Ušetříte tím čas sobě i jim. Často stačí restart serveru nebo drobná úprava konfigurace a problém zmizí.
Prevence – jak se vyhnout bílé obrazovce v budoucnu
Nejlepší strategie je bílé obrazovce předcházet. Před každou aktualizací WordPressu, motivu nebo pluginů si udělejte kompletní zálohu. Existuje spousta pluginů pro automatické zálohování, které vám život velmi usnadní. Máte-li zálohu, můžete v případě problémů web rychle obnovit do funkčního stavu.
Testujte aktualizace na zkušební kopii webu, pokud to jde. Některé hostingy nabízejí staging prostředí, kde můžete bezpečně vyzkoušet změny bez rizika. Teprve když vše funguje, přeneste změny na ostrou verzi. Také pravidelně aktualizujte všechny komponenty webu – WordPress, pluginy i motiv.
Výběr kvalitních pluginů a motivů
Používejte pouze ověřené pluginy a motivy z důvěryhodných zdrojů. Nejlépe přímo z oficiálního WordPress repozitáře. Vyvarujte se nulled nebo piratským verzím prémiových doplňků. Ty často obsahují škodlivý kód a můžou způsobit nejen bílou obrazovku, ale i vážné bezpečnostní problémy.
Před instalací nového pluginu si přečtěte recenze a zkontrolujte, kdy byl naposledy aktualizován. Plugin, který není roky aktualizovaný, může být nekompatibilní s novými verzemi WordPressu. Raději hledejte aktivně vyvíjené alternativy s pravidelnou podporou.
Co dělat, když se bílá obrazovka objeví jen na některých stránkách?
Pokud se problém týká pouze určitých stránek nebo příspěvků, pravděpodobně obsahují prvek nebo shortcode, který způsobuje chybu. Zkuste stránku upravit přes databázi nebo deaktivovat plugin, který poskytuje daný shortcode. Také může jít o problém se specifickým pluginem pro tyto typy obsahu.
Pomoże reinstalace WordPressu, když problém způsobuje databáze?
Reinstalace WordPressu neovlivní databázi, takže pokud je problém v ní, reinstalace nepomůže. V takovém případě je nutné zkontrolovat databázové tabulky přes phpMyAdmin nebo použít opravné nástroje. Záloha databáze je v těchto situacích klíčová pro možnost návratu k funkční verzi.
Může za bílou obrazovku zavirovaný web?
Ano, malware nebo hacknutý web může způsobit bílou obrazovku. Škodlivý kód vložený do souborů může narušit běžnou funkčnost WordPressu. V tomto případě je nutné provést bezpečnostní audit, naskenovat web antivirus pluginem a vyčistit infikované soubory. Doporučuje se také změnit všechna hesla.
Jak dlouho trvá oprava bílé obrazovky?
Závisí na příčině problému. Jednoduché případy jako konflikt pluginů se dají vyřešit za pár minut. Složitější situace vyžadující reinstalaci nebo opravu databáze můžou trvat hodinu i déle. S dobrou zálohou lze web obnovit během desítek minut. Bez zkušeností s FTP a databázemi může celý proces zabrat několik hodin.
Ztratím data při řešení bílé obrazovky?
Pokud postupujete opatrně a máte zálohu, neměli byste přijít o žádná data. Deaktivace pluginů, změna motivu ani reinstalace WordPressu neovlivňuje obsah webu uložený v databázi. Riziko hrozí pouze při práci přímo s databází nebo při mazání důležitých souborů. Proto je záloha před jakýmikoli zásahy naprosto zásadní.
Je bílá obrazovka známka špatného hostingu?
Ne vždy. Bílá obrazovka může postihnout web na jakémkoli hostingu. Ovšem pokud se problém opakuje a hosting neposkytuje dostatečné zdroje nebo podporu při řešení, může to signalizovat, že je čas přejít na kvalitnější službu. Dobrý hosting by měl mít nástroje pro rychlou diagnostiku a ochotnou podporu.
