Web nefunguje po aktualizaci WordPress: co dělat krok za krokem
WordPress po aktualizaci nefunguje? Většina výpadků má jednu ze čtyř příčin: zaseknutý maintenance mode, plugin-konflikt, nekompatibilní téma nebo nedostatek PHP paměti. První krok je vždy stejný - zkontrolujte e-mail administrátora webu. Od verze WordPress 5.2 systém automaticky detekuje fatální PHP chyby a ihned odesílá e-mail s recovery odkazem. Ve většině případů se na web dostanete zpět bez přístupu přes FTP nebo bez zásahu do kódu, pokud postup dodržíte ve správném pořadí.
Proč web po aktualizaci WordPress přestane fungovat?
Nejčastější příčina je nekompatibilita pluginu nebo tématu s novou verzí WordPressu nebo PHP. Každá aktualizace mění části jádra - a plugin napsaný pro starší API nemusí s novým bez chyby fungovat. V praxi při správě webů narážíme opakovaně na stejné scénáře:
- Plugin-konflikt - jeden z nainstalovaných pluginů není kompatibilní s novou verzí WP nebo s jiným pluginem po aktualizaci.
- Nekompatibilní téma - téma používá zastaralé funkce, které nová verze WP odstranila nebo změnila.
- Nedostatek PHP paměti - aktualizace navýšila paměťové nároky a server narazí na limit.
- Přerušená aktualizace - aktualizace jádra se nedokončila (výpadek internetu, timeout), web zůstal v maintenance mode.
- Aktualizace PHP na serveru - hosting změnil verzi PHP souběžně, některé pluginy s novou verzí nefungují.
Dobrá zpráva: každý z těchto problémů má osvědčený postup řešení. Podívejte se na tabulku příznaků, abyste věděli, kde začít.
| Příznak na webu | Nejpravděpodobnější příčina | První krok |
|---|---|---|
| „Briefly unavailable for scheduled maintenance" - stránka se nezobrazila | Přerušená aktualizace, zaseknutý .maintenance soubor | Vymazat .maintenance soubor z kořene webu |
| „There has been a critical error on this website" | Fatální PHP chyba - plugin nebo téma | Zkontrolovat e-mail admina, použít recovery odkaz |
| Bílá prázdná stránka (WSOD) | PHP chyba bez recovery e-mailu, nebo PHP memory limit | Zapnout WP_DEBUG v wp-config.php |
| wp-admin funguje, front-end ne | Problém s tématem nebo page-builder pluginem | Přepnout na výchozí téma (Twenty Twenty-Five) |
| Web funguje, wp-admin ne | Bezpečnostní plugin, nebo 403 z firewallu | Přejmenovat složku plugins/ přes FTP/správce souborů |
První krok: recovery mode e-mail od WordPress
Od WordPressu 5.2 platí: pokud nastane fatální PHP chyba, systém ihned pošle e-mail na adresu administrátora s odkazem na recovery mode. Tento mechanismus je zabudován přímo do jádra - nevyžaduje žádný plugin ani speciální nastavení.
E-mail má předmět podobný: „Your Site is Experiencing a Technical Issue." Obsahuje:
- Popis chyby a soubor, kde nastala (např. konkrétní plugin).
- Odkaz na recovery mode - speciální URL, platný zpravidla jeden den.
Po kliknutí na odkaz se dostanete do wp-admin v recovery mode. WordPress v tomto mode zablokuje problematický plugin nebo téma jen pro vás, ostatní návštěvníci stránku stále vidí (případně s chybou, ale bez toho, abyste jim ublížili dalšími zásahy). Deaktivujte plugin, který e-mail uvádí jako zdroj chyby - web se obvykle ihned obnoví. Celý mechanismus je popsán v oficiální dokumentaci WordPress recovery mode.
Pokud e-mail nepřišel nebo jste ho nenašli, podívejte se do spamu. Pokud ani tam není, e-mailová adresa na stránce Nastavení → Obecné nemusí být správná - a to je signál, že je třeba zkontrolovat i nastavení e-mailů na webu. Více o komplexní správě WordPress webu najdete v komplexním průvodci správou WordPress webu.

Web se zasekl v maintenance mode - jak to opravit za dvě minuty
Příznak je jasný: stránka zobrazuje hlášení „Briefly unavailable for scheduled maintenance. Check back in a minute." Pokud toto hlášení trvá déle než několik minut, aktualizace se přerušila a web zůstal zaseknutý.
Během každé aktualizace jádra, pluginu nebo tématu WordPress dočasně vytvoří soubor .maintenance v kořenovém adresáři webu. Po úspěšném dokončení aktualizace ho automaticky vymaže. Pokud se aktualizace přerušila - například výpadkem spojení, timeoutem na serveru, nebo souběžnou aktualizací více pluginů - soubor zůstane a web se nezotaví sám.
Postup: vymazání .maintenance souboru
- Přihlaste se do Správce souborů (File Manager) v cPanel vašeho hostingu, nebo se připojte přes FTP.
- Přejděte do kořenového adresáře WordPress (obvykle
public_html/nebo složka s názvem domény). - Zobrazte skryté soubory (soubory začínající tečkou jsou výchozně skryté - v cPanel zvolte „Show hidden files").
- Najděte soubor
.maintenancea vymažte ho. - Načtěte web v prohlížeči - měl by fungovat okamžitě.
Pokud soubor vymažete, ale web dále zobrazuje chybu, aktualizace se skutečně nezdařila a příčina je jinde. Pokračujte následujícími kroky - problém může být v konfliktu pluginu.
„Critical error" nebo bílá obrazovka: jak zapnout debug mód
Pokud web zobrazuje „There has been a critical error" nebo prázdnou bílou stránku a recovery e-mail nepřišel, je třeba zjistit přesnou PHP chybu. WordPress má zabudovaný debug mód, který se aktivuje přidáním konstant do souboru wp-config.php.
Otevřete wp-config.php ve správci souborů nebo přes FTP a těsně před řádek /* That's all, stop editing! */ vložte:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Seznam všech dostupných debug konstant najdete v dokumentaci WordPress ladění.
Nastavení WP_DEBUG_DISPLAY false zajistí, že chyby se nezobrazují přímo na stránce pro návštěvníky - zapisují se jen do logovacího souboru wp-content/debug.log. Otevřete tento soubor a hledejte první řádek začínající Fatal error nebo PHP Fatal error. Ten řádek vám řekne přesně, který plugin nebo funkce způsobila problém.
Po diagnostice nezapomeňte debug mód vypnout - nastavte WP_DEBUG zpět na false nebo řádky vymažte. Ladění na produkci by mělo trvat jen nezbytnou dobu.
Speciální případ: PHP memory limit
Pokud debug.log obsahuje hlášení Allowed memory size of ... bytes exhausted, příčina není plugin-konflikt ale nedostatek PHP paměti. Řešení je navýšit limit přímo v wp-config.php vložením řádku define( 'WP_MEMORY_LIMIT', '256M' ); před závěrečný komentář. Pokud hostingový plán neumožňuje navýšit PHP paměť na alespoň 256 MB, problém se bude vracet po každé větší aktualizaci - to je signál, že web narostl a plán je poddimenzovaný.
Jak najít problematický plugin nebo téma: krok za krokem
Když debug.log ukáže jméno pluginu nebo víte, že příčina je v pluginu, ale nevíte ve kterém, postupujte systematicky. Cílem je izolovat viníka bez toho, abyste zbytečně zasahovali do databáze nebo nastavení.

Když máte přístup do wp-admin
- Přejděte na Pluginy a deaktivujte všechny pluginy najednou (zaškrtněte všechny, Hromadná akce → Deaktivovat).
- Zkontrolujte, zda web funguje. Pokud ano, plugin-konflikt je potvrzen.
- Aktivujte pluginy jeden po jednom a po každé aktivaci zkontrolujte web.
- Když se chyba vrátí, právě aktivovaný plugin je viníkem.
- Nechte ho deaktivovaný, kontaktujte autora pluginu nebo hledejte alternativu.
Když nemáte přístup do wp-admin (jen FTP nebo správce souborů)
- Přes FTP nebo správce souborů přejděte do
wp-content/. - Přejmenujte složku
plugins/naplugins-off/. WordPress všechny pluginy automaticky deaktivuje. - Zkontrolujte web. Pokud funguje, příčina je v některém pluginu.
- Přejmenujte složku zpět na
plugins/. - Nyní ve složce
plugins/přejmenujte jednotlivé podsložky pluginů (každý plugin má vlastní podsložku), dokud nenajdete viníka.
Pokud deaktivace všech pluginů nepomůže, problém může být v tématu. Přejmenujte složku aktivního tématu (např. themes/nazov-temy/ na themes/nazov-temy-off/) - WordPress automaticky aktivuje výchozí téma a web by měl fungovat. Pro větší přehled o bezpečném postupu aktualizací - včetně toho, jak používat staging prostředí - doporučujeme článek o aktualizacích WordPress bez rizika rozbití webu.
V praxi při spravovaných webech vidíme, že nejčastější viníci jsou bezpečnostní a SEO pluginy - mají tendenci reagovat na změny v jádru ostřeji než běžné funkční pluginy. Pokud nevíte, co jste naposledy aktualizovali, podívejte se v části Pluginy na sloupec „Poslední aktualizace" - pluginy aktualizované ve stejný den jsou prvními kandidáty na kontrolu.
Kdy sáhnout po záloze a jak postupovat
Záloha je poslední záchrana - a zároveň nejrychlejší způsob, pokud víte, že záloha existuje a je aktuální. Pokud je web komplexní s množstvím pluginů, vlastních úprav nebo WooCommerce objednávek a diagnostika trvá, někdy je rychlejší obnovit zálohu před aktualizací než hledat viníka.
V praxi to znamená mít zálohu ne starší než 24 hodin před každou velkou aktualizací. Podrobně jsme zálohovací strategii - včetně pravidla 3-2-1 a testování obnovy - popsali v článku o zálohovacích WordPress strategiích. Pokud záloha neexistuje a web nefunguje, můžete se dostat do situace, kdy bude potřebná ruční oprava databáze nebo kódu - což je práce pro odborníka.
Prevence: proč se to stává a jak tomu předcházet
Výpadek po aktualizaci není smůla - je to symptom toho, že web nemá nastavený bezpečný update-proces. V praxi při spravovaných webech vidíme, že weby bez testovacího (staging) prostředí mají výrazně vyšší výskyt problémů po aktualizacích než weby se správně nastaveným procesem.
Tři opatření, která problémy po aktualizacích téměř eliminují:
- Záloha před každou aktualizací. Databáze i soubory. Vždy před, ne po.
- Aktualizujte postupně, ne vše najednou. Jádro zvlášť, pluginy jeden po jednom - tak víte přesně, co způsobilo problém, pokud nastane.
- Staging prostředí pro důležitější weby. Aktualizaci nejdříve otestujete na kopii webu, pak přenesete na produkci. Pro weby s e-shopem nebo vlastními úpravami je to standard. Více o bezpečnostním nastavení WordPress webu najdete v 10-bodovém checklistu bezpečnosti WordPress.
Závěr: když si s opravou nevíte rady
Většina výpadků po aktualizaci WordPress se dá vyřešit vlastními silami - recovery e-mail, .maintenance soubor, plugin-deaktivace. Pokud se po projití všech kroků web neobnoví, problém může být hlubší: nekompatibilní vlastní kód, poškozená databáze nebo konflikt na úrovni serveru. V takovém případě má smysl svěřit opravu odborníkovi.
Pokud chcete mít jistotu, že aktualizace webu probíhají bez výpadků - i do budoucna - v rámci měsíční podpory a péče o web děláme zálohy před každou aktualizací, testujeme na stagingu a opravujeme případné konflikty dříve, než je uvidí návštěvníci. Nezávazná konzultace - rádi řekneme, zda váš web potřebuje takovou péči.
Časté otázky.
Proč WordPress zobrazuje hlášení „There has been a critical error on this website“?
Toto hlášení WordPress zobrazí, když nastane fatální PHP chyba - nejčastěji způsobená nekompatibilním pluginem nebo tématem. Od verze 5.2 WordPress automaticky odesílá e-mail administrátorovi s recovery odkazem, přes který se dostanete do wp-admin a problematický plugin deaktivujete.
Jak se dostanu do wp-admin, když web po aktualizaci nefunguje?
Nejrychlejší cesta je recovery odkaz z e-mailu od WordPress. Pokud e-mail nepřišel, přihlaste se přes hosting do správce souborů a přejmenujte složku wp-content/plugins/ na plugins-off/ - WordPress deaktivuje všechny pluginy a wp-admin by měl být dostupný.
Jak dlouho trvá, než web opustí maintenance mode po aktualizaci?
Pokud se aktualizace podařila, trvá to několik sekund. Pokud web zůstane v maintenance mode déle, aktualizace se přerušila a .maintenance soubor v kořenovém adresáři se nevymazal automaticky - musíte ho vymazat ručně přes FTP nebo správce souborů.
Vyplatí se aktualizovat všechny pluginy najednou?
Ne. Když aktualizujete pluginy jeden po jednom a po každé aktualizaci otestujete web, při problému okamžitě víte, který plugin ho způsobil. Hromadná aktualizace je rychlejší, ale při výpadku musíte hledat viníka mezi všemi najednou aktualizovanými pluginy.
Co dělat, když záloha neexistuje a web nefunguje?
Postupujte diagnosticky: zapněte WP_DEBUG v wp-config.php, identifikujte chybový soubor v debug.log, deaktivujte problematický plugin přes FTP. Pokud se web neobnoví ani po deaktivaci všech pluginů a přepnutí tématu, příčina může být v poškozené databázi nebo vlastním kódu - v takovém případě doporučujeme odborníka.