Kritická chyba ve WordPressu: nouzový návod od prvního příznaku
Hláška „Na webu došlo ke kritické chybě“ (There has been a critical error on this website) znamená, že plugin, šablona nebo kód PHP zastavil WordPress. Viníkem bývá nedávno aktualizovaný nebo nainstalovaný plugin. Nejdřív hledejte e-mail od WordPressu s odkazem do režimu obnovení a vadný plugin tam deaktivujte. Bez e-mailu to udělejte ve správci souborů hostingu přejmenováním složky pluginu.
Autor: Tým TellMyShop. Průvodce pro majitele webů na WordPressu a obchodů na WooCommerce: příčina, ruční oprava a stejná práce v rozhovoru v chatu.
Naposledy aktualizováno: · 6 min čtení
Tři otázky, které rozhodnou o všem ostatním
Než začnete na cokoli klikat, odpovězte na tři otázky. Odpovědi vás nasměrují na správnou cestu.
| Otázka | Pokud ano | Pokud ne |
|---|---|---|
| Je chyba na celém webu, včetně úvodní stránky a /wp-admin? | cesta A nebo B níže | chyba se týká části webu, přejděte na část o diagnostice s chatem |
| Je ve schránce administrátora e-mail od WordPressu o technickém problému? | cesta A: režim obnovení | cesta B: správce souborů hostingu |
| Je to e-shop, kde dnes mohl někdo objednat? | neobnovujte zálohu databáze bez rozhovoru s hostingem | záloha je bezpečnější záchrana |
Jedna věc hned, ať neztrácíte čas: když celý web ukazuje kritickou chybu, neodpoví žádný plugin běžící uvnitř WordPressu. Platí to i pro plugin TellMyShop. První pomoc pak vede přes WordPress v režimu obnovení nebo přes panel hostingu.
Cesta A: máte e-mail s odkazem do režimu obnovení
Od verze 5.2 WordPress kritickou chybu pozná sám, určí vadný plugin nebo šablonu a pošle e-mail s odkazem na adresu administrátora. Jak tento mechanismus funguje, popisuje oznámení režimu obnovení na make.wordpress.org.
- Otevřete e-mail a zkontrolujte, který plugin nebo šablonu WordPress označil jako příčinu.
- Klikněte na odkaz a přihlaste se. Odkaz platí omezenou dobu, takže to neodkládejte.
- V režimu obnovení je vadný plugin pozastavený jen pro vás. Návštěvníci chybu vidí dál.
- Přejděte do Pluginy, Instalované pluginy a označený plugin deaktivujte.
- Ukončete režim obnovení tlačítkem na horní liště a otevřete web v anonymním okně.
Pokud web funguje, příčina je známá. Plugin nechte deaktivovaný a u autora ověřte, zda vyšla oprava.
Cesta B: e-mail není nebo odkaz vypršel
Pak plugin vypnete přes panel hostingu. Většina hostingů má v panelu správce souborů, takže program pro FTP nepotřebujete. Tuto cestu dobře popisuje článek databáze znalostí dhosting o kritické chybě (v polštině).
- Přihlaste se do panelu hostingu a otevřete správce souborů.
- Přejděte do složky webu (často public_html nebo složka pojmenovaná podle domény), pak do wp-content a do plugins.
- Najděte složku pluginu, který jste naposledy aktualizovali nebo nainstalovali. Přejmenujte ji přidáním „-disabled“ na konec.
- Obnovte web. Pokud funguje, viníka jste našli.
- Pokud nevíte, který plugin za to může, přejmenujte celou složku plugins na „plugins-disabled“. Přihlaste se do Nástěnky a otevřete Pluginy, aby je WordPress označil jako deaktivované. Pak vraťte název složky a aktivujte pluginy po jednom a po každém web zkontrolujte.
Když chyba zůstane i po vypnutí všech pluginů, příčina je jinde: v šabloně, verzi PHP nebo souborech WordPressu. Pak voláte hostingu.
E-shop na WooCommerce: kdy záloha škodí
Mnoho návodů říká „obnovte včerejší zálohu“. Na blogu je to rozumná rada. V e-shopu obnovení úplné zálohy včetně databáze smaže všechno, co se stalo potom: dnešní objednávky, platby zaznamenané v obchodě, nové zákaznické účty a změny skladu.
V e-shopu je proto pořadí jiné. Nejdřív deaktivujte vadný plugin cestou A nebo B. Pokud je záloha nutná, požádejte hosting o obnovení jen souborů, bez databáze. To obvykle stačí, protože kritická chyba sedí v kódu pluginu a objednávky v databázi.
Pro toho, kdo se o web stará
Pokud e-maily od WordPressu nechodí, adresu příjemce lze nastavit ve wp-config.php konstantou RECOVERY_MODE_EMAIL. Podrobnosti chyb se zapisují do souboru debug.log, když jsou ve wp-config.php zapnuté WP_DEBUG a WP_DEBUG_LOG a vypnuté WP_DEBUG_DISPLAY. Nastavení popisuje dokumentace WordPressu k ladění a seznam typických příčin přehled častých chyb WordPressu. V e-shopu na WooCommerce jdou kritické chyby také do záznamů WooCommerce s názvem fatal-errors.
Kdy chat pomůže a kdy ne
Váš chat (Claude nebo ChatGPT) se k webu připojuje přes plugin TellMyShop pro WordPress a WooCommerce, který běží uvnitř WordPressu. Když celý web nejede, spojení nebude. Pomůže ve dvou jiných situacích: když se kritická chyba ukazuje jen na části webu, například v pokladně nebo na jedné podstránce, a po opravě, když potřebujete zjistit, co se vlastně stalo.
Chat pak přečte záznamy chyb PHP, WordPressu a WooCommerce z posledních dní. Seskupí opakující se hlášky a u každé uvede plugin nebo šablonu, ze které pochází. K tomu stav webu, tedy verzi PHP, čekající aktualizace a to, zda se chyby zobrazují návštěvníkům, a seznam pluginů s verzemi a požadavky. To vše funguje v TellMyShop Free, protože jen čte.
Vy: Zákazníci píšou, že v pokladně vyskočí kritická chyba. Úvodní stránka funguje. Co se děje?
Váš chat: Záznamy z posledních 2 dnů obsahují jednu kritickou chybu, 37 výskytů. Pochází z pluginu Sample Instalments a objevuje se na stránce pokladny. Seznam pluginů: Sample Instalments 3.0 vyžaduje PHP 8.2 a server má PHP 8.1.
Váš chat: Dvě možnosti: požádat hosting o PHP 8.2, nebo plugin deaktivovat. Deaktivace odstraní splátky z košíku, ale ostatní platební metody budou fungovat. Náhled deaktivace:
Vy: Deaktivuj ho, s hostingem promluvím ráno.
Váš chat: Deaktivováno. Úvodní stránka odpovídá správně. Změnu můžete vrátit zpět z historie změn.
stará verze: Sample Instalments: aktivní
nová verze: Sample Instalments: neaktivní
Deaktivace pluginu funguje v TellMyShop Pro po zapnutí přepínače Pluginy v panelu. Přepínač platí 24 hodin a vyžaduje zálohu databáze ze stejného dne. Před změnou chat ukáže náhled a řekne, co může přestat fungovat, například u WooCommerce, platební brány nebo dopravy. Po změně zkontroluje úvodní stránku.
V konverzaci můžete také jednoduše požádat o ranní přehled. Chat pak shrne nové chyby ze záznamů, změny za poslední den a adresy, které vracejí 404.
Nouzová stránka TellMyShop: k čemu je
V TellMyShop Pro si můžete v panelu pluginu předem vygenerovat nouzový klíč. TellMyShop Free tuto stránku nemá, protože nic nemění. Plugin pak založí nouzovou stránku na náhodné adrese. Funguje bez WordPressu a bez databáze, takže ji otevřete i během kritické chyby.
Její rozsah je úzký. Obnoví jen soubory změněné chatem, například soubory šablony, z kopií pořízených před změnou. Nevrací aktualizace ani instalace pluginů, nevrací změny v databázi a neobnovuje zálohu celého webu. Když kritická chyba pochází z aktualizace, jdete cestou A nebo B.
Kdy to předat hostingu
Hostingu volejte, když chyba zůstane i po vypnutí všech pluginů, když nemáte přístup do panelu hostingu nebo když záznamy mluví o nedostatku paměti nebo verzi PHP. Hosting vidí záznamy serveru, mění verzi PHP a obnovuje zálohy. Plugin TellMyShop server neopravuje a zálohy celého webu nedělá.
Pokud se chyba objevila hned po kliknutí na Aktualizovat, přečtěte si také, co dělat, když WordPress po aktualizaci nefunguje. Jak chat čte záznamy a stav webu, si přečtete na stránce TellMyShop pro WordPress a WooCommerce a licence porovnáte na stránce ceník. Další návody jsou na blogu.
Otázky a odpovědi
Co znamená hláška „Na webu došlo ke kritické chybě“?
Kód PHP pluginu, šablony nebo samotného WordPressu se zastavil na chybě a WordPress nedokázal stránku sestavit. Nejčastěji jde o čerstvě aktualizovaný nebo nainstalovaný plugin, méně často o šablonu, příliš starou verzi PHP nebo nedostatek paměti na serveru.
Jak se dostanu do Nástěnky, když /wp-admin ukazuje kritickou chybu?
Použijte odkaz z e-mailu, který WordPress pošle na adresu administrátora. Odkaz otevře režim obnovení, ve kterém je vadný plugin pozastavený jen pro vás a můžete ho deaktivovat. Bez e-mailu vypněte plugin ve správci souborů hostingu přejmenováním jeho složky.
Proč mi e-mail s režimem obnovení nepřišel?
Nejčastěji šel na starou adresu administrátora z Nastavení, Obecné, skončil ve spamu, nebo server poštu vůbec neodesílá. Pak zbývá cesta přes správce souborů hostingu. Až web zase pojede, zkontrolujte adresu administrátora a odesílání pošty, aby příště odkaz dorazil.
Znamená kritická chyba, že mi někdo web napadl?
Obvykle ne. Ve většině případů jde o konflikt pluginů nebo nesoulad verzí po aktualizaci. Pokud ale nikdo nic neměnil a objevily se neznámé pluginy nebo soubory, požádejte hosting nebo specialistu na bezpečnost o kontrolu webu.
S e-shopem na WooCommerce můžu prostě obnovit včerejší zálohu?
Opatrně. Obnovení úplné zálohy včetně databáze odstraní všechno, co se stalo po jejím vytvoření, i dnešní objednávky a nové zákaznické účty. Nejdřív zkuste vadný plugin deaktivovat. Pokud je záloha nutná, požádejte hosting o obnovení jen souborů, bez databáze.
WordPress je ochranná známka WordPress Foundation. WooCommerce je ochranná známka společnosti Automattic Inc. Claude je ochranná známka společnosti Anthropic PBC. ChatGPT a OpenAI jsou ochranné známky společnosti OpenAI. TellMyShop s těmito společnostmi není propojen.