Nefunguje WordPress po aktualizácii? Príčiny a bezpečný postup opravy

Oprava WordPress webu, ktorý prestal fungovať po aktualizácii

Prečo WordPress po aktualizácii nefunguje?

Kliknete na „Aktualizovať“, obnovíte stránku a namiesto webu vidíte prázdnu bielu obrazovku alebo hlásenie o kritickej chybe. Prvá myšlienka je väčšinou najhoršia: stratili ste web aj obsah. V drvivej väčšine prípadov to tak nie je. Aktualizácia jadra WordPressu, témy alebo pluginu takmer nikdy nezmaže dáta, spôsobí len to, že jedna konkrétna súčasť webu prestane byť kompatibilná so zvyškom a PHP nedokáže stránku vykresliť.

Podľa oficiálnej príručky WordPress.org pre pokročilú administráciu , biela obrazovka („White Screen of Death“, WSOD) môže byť spôsobená chybou v PHP kóde aj chybou v databáze. Po aktualizácii ide najčastejšie o nekompatibilný plugin, konflikt témy alebo poškodený súbor .htaccess.

Krátka odpoveď: Web po aktualizácii prestal fungovať takmer vždy kvôli jednému pluginu, téme alebo PHP nekompatibilite, nie kvôli strate dát. Od WordPressu 5.2 sa pri fatálnej chybe zvyčajne automaticky spustí Recovery Mode a na e-mail správcu príde odkaz na bezpečné prihlásenie. Ak e-mail nepríde, rovnaký problém sa dá vyriešiť zapnutím WP_DEBUG, postupnou deaktiváciou pluginov alebo prepnutím na predvolenú tému.

Čo je Recovery Mode a ako funguje

Recovery Mode je vstavaná funkcia WordPressu (dostupná od verzie 5.2), ktorá podľa oficiálnej dokumentácie WordPress.org automaticky nastúpi, keď WordPress zaznamená fatálnu chybu PHP počas bežného načítania stránky. Namiesto bielej obrazovky uvidia návštevníci správu o technických problémoch a na e-mail správcu príde odkaz na prihlásenie v bezpečnom režime, v ktorom sú problematické pluginy alebo témy dočasne pozastavené len pre danú reláciu.

Dôležitá výnimka: ak web na odosielanie pošty používa plugin (napríklad SMTP doplnok) a fatálna chyba nastane skôr, než sa tento plugin stihne načítať, e-mail o Recovery Mode odíde priamo zo servera bez autentifikácie. Ak sú SPF a DKIM záznamy domény nastavené nesprávne, presne tak, ako opisuje náš článok o probléme s odosielaním e-mailov z WordPressu, môže sa stať, že sa upozornenie na Recovery Mode k vám vôbec nedostane.

Najčastejšie príčiny po aktualizácii

Nekompatibilný plugin

Plugin nebol aktualizovaný pre novú verziu WordPressu alebo PHP a pri načítaní spôsobí fatálnu chybu.

Konflikt témy

Aktívna téma používa zastarané funkcie alebo nie je kompatibilná s aktualizovaným jadrom či pluginom.

Vyčerpaný limit pamäte PHP

Podľa oficiálnej dokumentácie chyba „Allowed Memory Size Exhausted“ znamená, že inštalácia WordPressu nemá dostatok pridelenej pamäte na dokončenie požadovanej operácie.

Poškodený súbor alebo syntaktická chyba

Chýbajúca bodkočiarka, zátvorka alebo poškodený .htaccess po prerušenej aktualizácii môžu spôsobiť rovnaký efekt ako nekompatibilný plugin.

Ako problém opraviť krok za krokom

  1. Skontrolujte e-mail správcu. Ak WordPress spustil Recovery Mode, dostanete e-mail s odkazom na bezpečné prihlásenie, kde sú problematické komponenty dočasne pozastavené.
  2. Ak e-mail neprišiel, zapnite WP_DEBUG. V súbore wp-config.php zmeňte define('WP_DEBUG', false); na true. WordPress začne zapisovať chyby do wp-content/debug.log, kde posledné riadky zvyčajne presne pomenujú súbor a plugin, ktorý chybu spôsobil.
  3. Deaktivujte všetky pluginy naraz. Ak sa neviete prihlásiť do administrácie, cez FTP alebo správcu súborov hostingu premenujte priečinok wp-content/plugins napríklad na plugins-off. Ak sa web sprevádzkuje, premenujte priečinok späť a pluginy zapínajte jeden po druhom, kým sa chyba znovu neobjaví.
  4. Skúste predvolenú tému. Prepnite na štandardnú tému WordPressu (napríklad aktuálnu Twenty-tému), aby ste vylúčili konflikt na strane témy.
  5. Skontrolujte limit pamäte PHP. Ak log ukazuje chybu vyčerpanej pamäte, limit sa dá zvýšiť v wp-config.php alebo priamo v konfigurácii php.ini na hostingu.
  6. Overte funkčnosť a vypnite WP_DEBUG. Po náprave chybu znova zapnite web, vypnite ladiaci režim a odstráňte staré záznamy z debug.log, aby ste tam nenechávali citlivé technické detaily.

Porovnanie spôsobov prístupu k webu, ktorý nefunguje

SpôsobKedy fungujeČo vyžaduje
Recovery ModeKeď WordPress automaticky rozpozná fatálnu chybu a e-mail so správcovským odkazom dorazíFunkčnú doručiteľnosť e-mailov správcu, žiadny FTP prístup nie je potrebný
FTP alebo správca súborov hostinguKeď administrácia nie je dostupná vôbec alebo e-mail Recovery Mode nedorazilPrístup k FTP/SFTP alebo file manageru hostingu
WP-CLIPri opakovaných problémoch alebo na weboch spravovaných skúseným administrátoromPríkazový riadok a podporu WP-CLI na hostingu

Riziká a časté chyby

Najväčšie riziko nie je samotná chyba, ale panikárske riešenie problému priamo na produkčnom webe bez zálohy. Pred akýmkoľvek zásahom sa oplatí overiť, či existuje aktuálna záloha z obdobia pred aktualizáciou, ktorú je možné v prípade potreby obnoviť.

Ďalšia bežná chyba je nechať zapnutý WP_DEBUG na produkčnom webe natrvalo. Zobrazené chybové hlásenia môžu prezradiť štruktúru webu alebo cesty k súborom, preto sa má ladiaci režim vypnúť hneď po vyriešení problému. Rovnako sa oplatí neaktualizovať viacero pluginov, tému aj jadro naraz bez otestovania na staging verzii webu, pretože pri súbežnej zmene je oveľa ťažšie určiť, ktorá časť aktualizácie chybu spôsobila.

Koľko to stojí a čo to vyžaduje

Jednoduchá deaktivácia jedného konfliktného pluginu je zvyčajne otázkou minút a nemá priamy poplatok, ak máte prístup k administrácii alebo FTP. Náklady rastú, ak je potrebné obnoviť web zo zálohy, opraviť poškodené súbory jadra alebo diagnostikovať kombináciu viacerých súbežných zmien. Presný rozsah práce závisí od toho, aká záloha je k dispozícii, koľko pluginov je aktívnych a či ide o jednorazový výpadok alebo opakujúci sa problém po každej aktualizácii.

Kontrolný zoznam pred ďalšou aktualizáciou

Záloha Staging WP_DEBUG Recovery Mode Pluginy
  • Pred aktualizáciou existuje čerstvá záloha databázy aj súborov webu.
  • E-mailová adresa správcu je funkčná a schránka nie je plná.
  • Väčšie aktualizácie sa najprv otestujú na staging verzii webu, ak je dostupná.
  • Pluginy a témy sa aktualizujú postupne, nie všetky naraz, keď ide o dôležitý produkčný web.
  • WP_DEBUG je po vyriešení akéhokoľvek problému opäť vypnutý.
  • Prístup cez FTP alebo file manager hostingu je funkčný pre prípad núdze.

Súvisiace návody a zdroje

Web nefunguje aj po vlastnom pokuse o opravu?

Pošlite nám adresu webu a stručný popis toho, čo sa stalo (napríklad či ide o bielu obrazovku, chybové hlásenie alebo problém po konkrétnej aktualizácii). Najskôr preveríme skutočnú príčinu podľa logov a existujúcej zálohy a až potom navrhneme bezpečný postup opravy aj s cenovým odhadom.

Preveriť problém po aktualizácii

Na záver

Biela obrazovka po aktualizácii vyzerá dramaticky, ale vo väčšine prípadov ide o predvídateľný a rýchlo riešiteľný problém: jedna súčasť webu prestala byť kompatibilná so zvyškom. Dobrá záloha a funkčný Recovery Mode dokážu paniku premeniť na desaťminútovú opravu. Ak si nie ste istí, ktorý plugin alebo téma je na vine, alebo web spravuje viac ľudí naraz, je bezpečnejšie nechať diagnostiku odborníkovi než skúšať náhodné zásahy priamo na produkčnom webe.

Časté otázky

Vo väčšine prípadov nie. Biela obrazovka väčšinou znamená, že PHP nedokáže spracovať jednu časť kódu, nie že by databáza s obsahom bola vymazaná. Napriek tomu je aktuálna záloha pred každou väčšou aktualizáciou nevyhnutná poistka.

Ak fatálna chyba nastane skôr, než sa stihne načítať plugin zodpovedný za odosielanie pošty, e-mail odíde priamo zo servera bez autentifikácie a môže skončiť v spame alebo byť odmietnutý. V takom prípade použite WP_DEBUG alebo FTP prístup namiesto čakania na e-mail.

Ak viete presne, ktorý plugin ste naposledy aktualizovali, môžete skúsiť deaktivovať iba ten. Pokiaľ si nie ste istí alebo aktualizácia prebehla automaticky na viacerých pluginoch naraz, bezpečnejšie je deaktivovať všetky a zapínať ich postupne.

Nie. Zobrazené chybové hlásenia môžu prezradiť cesty k súborom a štruktúru webu návštevníkom aj potenciálnym útočníkom. Debug režim zapnite iba na čas diagnostiky a hneď po vyriešení problému ho vypnite.

Časová zhoda je najsilnejší indikátor: ak web fungoval tesne pred aktualizáciou a prestal hneď po nej, príčinou je takmer vždy niektorá zo zmenených súčastí. Záznam v debug.log navyše zvyčajne priamo pomenuje súbor a plugin, kde chyba nastala.

Áno, obnovenie zo zálohy spred aktualizácie web okamžite sprevádzkuje, ale nevyrieši, prečo sa problém stal. Pred opätovnou aktualizáciou tej istej súčasti sa oplatí najprv zistiť skutočnú príčinu, inak sa rovnaká chyba môže zopakovať.

Opakujúci sa problém zvyčajne znamená, že web má zastaraný plugin alebo vlastný kód, ktorý nie je priebežne udržiavaný, alebo že aktualizácie prebiehajú bez otestovania na staging verzii webu. V takom prípade sa oplatí vyriešiť príčinu trvalo, nielen opravovať dôsledky po každej zmene.

Ak nemáte aktuálnu zálohu, ak sa chyba po deaktivácii pluginov nevyrieši, alebo ak web spravuje viacero ľudí a nie je jasné, kto a čo naposledy zmenil, je bezpečnejšie nechať diagnostiku a opravu odbornej kontrole než experimentovať priamo na produkčnom webe.