Bílá smrt ve WordPressu

V redakčním systému WordPress může dojít k tzv. „bílé smrti“. Jakkoliv hrozivě tento jev zní, jedná se problém s relativně jednoduchým řešením, které si v tomto návodu vysvětlíme.

Co to vlastně je a proč se mi to děje?

Bíla smrt se projevuje jednoduše, celý web se tváří jako načtený a zobrazuje se čistě jen prázná, bílá stránka. Občas se do administrace (http://vasedomena.tld/wp-admin) lze dostat, občas ne. K tomuto jevu dochází díky vyčerpání memory_limit.


První možnou příčinou je nesprávně fungující plugin, který si bere všechnu paměť pro sebe. Dále může být chybná šablona, která je zkrátka špatně nakódována popř. jsme v ní provedli nějaké úpravy. Poslední možností je scénář, kdy web vyčerpává možnosti hostingu. V takové chvíli je potřeba si ideálně aktivovat logy a web optimalizovat.

Deaktivace pluginů

Pluginy lze deaktivovat dvěma způsoby (pakliže bereme scénář, kde se nemůžete dostat do administrace a pluginy deaktivovat tam). Buď na FTP serveru a nebo pomocí databáze. Pro začínající uživatele doporučujeme provést deaktivaci pomocí FTP, je to jednodušší a je zde menší riziko, že dojde k chybě.

Deaktivace pluginů pomocí FTP
Pomocí webového FTP klienta, popřípadě např. FileZilla se připojíme na náš FTP server. Najdeme složku /www/domains/vasedomena.tld/wp-content/plugins/ , kterou následně přejmenujeme. (NEVYMAŽEME!) To bude mít za následek deaktivaci všech pluginů, které na našem webu běžely. Pokud web začne fungovat, zkuste složku přejmonvat zpět na původní název. Pokud problém nastane znovu, víte, že problém je v pluginech a už jen stejným způsobem odhalit, který z nich problém způsobuje. (Stejný systém přejmenování složky, aby WordPress plugin nenašel, nyní akorát přímo u jednotlivých pluginů přímo ve složce /plugins/)

Složka plugins v prostředí webového klienta FTP

Deaktivace pluginů pomocí databáze
Přihlásíme se do PMA, najdeme tabulku wp_options (někdy také formát predponatabulky_options) a v ní řádek active_plugins. Do tohoto řádku zapíšeme následující „a:0:{}“ (BEZ UVOZOVEK!). Tento kód se postará o deaktivaci všech běžících pluginů v administraci. Pokud tento krok zafunguje, podobně jako u předchozího postupu můžeme jeden plugin po druhém aktivovat. Zjistíme tak, který dělá neplechu.

Řádek active_plugins v prostředí PMA

Nastavení výchozí šablony

I šablonu lze nastavit buď na FTP nebo pomocí databáze.

Začneme opět s FTP. Přihlásíme se, najdeme složku /www/domains/vasedomena.tld/wp-content/themes/ , a v ní najdeme složku s Vaší šablonou. Tu si zazálohujte, následně jí smažte a WordPress automaticky nastaví výchozí šablonu. Pokud se web rozchodí, máte závadu. Pokud jste v šabloně prováděly nějaké změny, otevřete soubor functions.php, tam bývá nejčastěji problém.

Složka themes v prostředí webového klienta FTP

Pro postup s databází se opět přihlásíme do PMA, najdeme tabulku wp_options a zde nalezneme řádky current_theme, template a stylesheet. Do těchto řádků zadejte „twentytwelve“ (BEZ UVOZOVEK!). To zajistí nastavení výchozí šablony. Pokud řešení pomohlo, stejně jako v případě u FTP se podívejte do souboru functions.php.

Řádky current_theme, template a stylesheet v prostředí PMA

Aktivace debugu

Pokud nepomohl ani jeden z výše uvedených kroků, je zde možnost zapnutí zobrazování chyb. Již tedy nebude zobrazována prázdná, bílá stránka, ale chyby, které sdělí, co konkrétně je špatně. Učiníte tak vložením následujícího kódu do souboru wp-config.php, který naleznete v kořenovém adresáři webu.

define('WP_DEBUG', true);
Soubor wp_config.php v prostředí webového klienta FTP