Jak zobrazit chyby ve WordPressu přes debug log
Když web na WordPressu přestane fungovat – ukáže prázdnou bílou stránku, hlášku HTTP 500, nebo se rozbije konkrétní funkce – často není na první pohled vidět, co je špatně. WordPress totiž chybové hlášky ve výchozím nastavení skrývá, aby je nečetli návštěvníci. Z hlediska bezpečnosti je to správně, při hledání příčiny problému vám to ale moc nepomůže.
Řešením je takzvaný debug log. Po jeho zapnutí začne WordPress chyby, varování i upozornění na zastaralé funkce zapisovat do souboru debug.log, aniž by je viděl kdokoliv na webu. Vy se pak do souboru podíváte a uvidíte přesně, který plugin, šablona nebo kus kódu web shazuje.
V tomto návodu vás provedeme zapnutím debug logu na webhostingu i na VPS, ukážeme, jak chyby zapsat do souboru a jak ho najít a přečíst – a nakonec jak debug zase vypnout, aby na produkčním webu zbytečně nezůstal.
Rychlý přehled pro pokročilé
Tato část je určená zkušeným uživatelům, kteří si chtějí jen rychle ověřit postup a nepotřebují číst celý článek. Pokud začínáte, doporučujeme rovnou pokračovat další sekcí.
- Zapněte debug ve wp-config.php – najděte zmínku o WP_DEBUG (řádek define( 'WP_DEBUG', false ); nebo blok if ( ! defined( 'WP_DEBUG' ) ) { ... }), celou ji smažte a vložte místo ní tři řádky: WP_DEBUG a WP_DEBUG_LOG s hodnotou true, WP_DEBUG_DISPLAY na false. Když v souboru žádná zmínka o WP_DEBUG není, řádky jen přidejte nad ukončovací komentář. Společné pro všechna rozhraní.
- Povolte zápis PHP chyb do logu – liší se podle rozhraní. Webhosting: zápis PHP chyb nastavuje jen podpora, použijte proto ladicí plugin nebo požádejte podporu. VPS Centrum V3: detail domény → Přehled → sekce Webserver → tři tečky → Upravit PHP konfiguraci, zakomentujte řádek php_admin_value[error_log] a u php_admin_flag[log_errors] přepište off na On. VPS Centrum V2: přehled domén → Nastavení → sekce Nastavení PHP, tytéž dva řádky.
- Najděte log – soubor /www/hosting/DOMENA/www/wp-content/debug.log (otevřete přes Správce souborů nebo FTP).
- Po doladění debug vypněte – WP_DEBUG přepněte zpátky na false (tím se vypne logování i zobrazení, ostatní dvě konstanty pak nic nedělají), vyprázdněte debug.log a na VPS vraťte původní PHP konfiguraci.
Co je dobré vědět předem
Co budete potřebovat
- Přístup k souborům webu (povinné pro úpravu wp-config.php) – přes Správce souborů v rozhraní, nebo přes FTP. Na webhostingu, kde chyby řešíte pluginem, místo toho stačí přístup do administrace WordPressu. Pokud s FTP teprve začínáte, projděte si nejdřív návod Jak se připojit na FTP.
- Přístup do VPS Centra (podmíněné – jen pro VPS) – budete v něm povolovat zápis PHP chyb. Kdo má web na webhostingu, VPS Centrum nepotřebuje.
- Záloha souboru wp-config.php (doporučené) – než soubor upravíte, udělejte si jeho kopii. Při překlepu se k ní vrátíte a web hned obnovíte.
Na celý postup si vyhraďte přibližně 15–30 minut.
Jak zjistíte, jakou verzi VPS Centra máte
Číslo verze najdete přímo ve VPS Centru – ve verzi V3 vpravo dole, ve verzi V2 v zápatí stránky. Pokud číslo začíná „3.“ (například 3.x.x), používáte VPS Centrum V3. Pokud „2.“ (například 2.x), jde o VPS Centrum V2. Rozdíl je v tomto návodu zásadní – povolení zápisu chyb se mezi verzemi liší.
Jak debug log ve WordPressu funguje
Aby se chyby dostaly do logu, musí spolupracovat dvě vrstvy:
Vrstva WordPressu. Konstanty ve wp-config.php (hlavně WP_DEBUG a WP_DEBUG_LOG) říkají WordPressu, že má chyby hlásit a zapisovat do souboru debug.log.
Vrstva PHP. Samotný PHP musí mít povolený zápis chyb do souboru. A právě tady je rozdíl mezi platformami:
- Na VPS je zápis PHP chyb ve výchozím nastavení vypnutý a uzamčený tak, že ho samotný WordPress nepřepíše. Musíte ho proto jednou ručně povolit v PHP konfiguraci domény (ukážeme níže). Bez toho se debug.log nevytvoří, i kdybyste konstanty ve wp-config.php měli správně.
- Na webhostingu nastavení PHP (včetně zápisu chyb) spravuje výhradně podpora – sami ho nezměníte. Proto tady vede k chybám jiná cesta než přes debug.log.
Tento rozdíl je důvod, proč je Krok 2 pro každé rozhraní jiný.
Krok 1 (úprava wp-config.php) je naopak stejný pro všechny
Krok 1: Zapněte debug režim ve wp-config.php
Soubor wp-config.php najdete v kořenovém adresáři webu – tam, kde je nainstalovaný WordPress (obvykle složka www). Otevřete ho přes Správce souborů (na webhostingu a ve VPS Centru V3) nebo přes FTP (ve VPS Centru V2 jedině přes FTP – Správce souborů tam není).
Otevření wp-config.php – webhosting
Na webhostingu se soubor debug.log nevytvoří – zápis chyb do souboru tu nastavuje jen podpora. Doporučená cesta je proto ladicí plugin, pro který wp-config.php upravovat nemusíte (viz Krok 2 pro webhosting).
Úprava wp-config.php má na webhostingu smysl jen pro záložní variantu se zobrazením chyb přímo na obrazovce – tehdy v ní nastavíte WP_DEBUG_DISPLAY na true. Soubor otevřete v Zákaznickém portálu: v levém panelu klikněte na Domény, v rozbalovací nabídce Vyberte doménu zvolte svou doménu a klikněte na Správce souborů. Otevře se rovnou v kořenové složce webu, kde je nainstalovaný WordPress (obvykle www) – v seznamu najděte soubor wp-config.php a otevřete ho k úpravě.

Otevření wp-config.php – VPS Centrum V3
Soubor otevřete přímo ve Správci souborů ve VPS Centru. V levém panelu klikněte na Domény a v horní rozbalovací nabídce Vyberte doménu zvolte svou doménu. V menu domény pak klikněte na Soubory – otevře se Správce souborů rovnou v kořenové složce webu, kde je nainstalovaný WordPress (obvykle www). V seznamu najděte soubor wp-config.php a otevřete ho k úpravě.

Otevření wp-config.php – VPS Centrum V2
Ve VPS Centru V2 Správce souborů není, soubor proto otevřete přes FTP. Připojte se FTP klientem, a pokud to váš klient umožňuje tak po zálohování wp-config.php ho rovnou upravte v FTP klientovi.
Pokud váš klient neumožňuje wp-config.php upravit v editoru tak si ho stáhněte, upravte a pak ho nahrajte zpět na server. Pokud s FTP teprve začínáte, projděte si návod Jak se připojit na FTP.
Co v souboru změníte – stejné pro všechny
Kousek nad řádkem, který ukončuje úpravy (v české instalaci /* To je vše, ukončete úpravy! Šťastné blogování. */, v anglické /* That's all, stop editing! Happy publishing. */), bývá zmínka o WP_DEBUG – nejčastěji řádek define( 'WP_DEBUG', false );, někdy obalený v bloku if ( ! defined( 'WP_DEBUG' ) ) { ... }. Tento řádek (nebo celý blok) smažte a na jeho místo vložte tyto tři řádky:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Pokud v souboru žádnou zmínku o WP_DEBUG nenajdete, vložte ty tři řádky rovnou nad řádek, který ukončuje úpravy.
Co jednotlivé konstanty dělají:
- WP_DEBUG – zapíná debug režim. WordPress začne hlásit chyby, varování i upozornění na zastaralé funkce, které jinak skrývá.
- WP_DEBUG_LOG – zapisuje tyto chyby do souboru debug.log ve složce wp-content.
- WP_DEBUG_DISPLAY – řídí, jestli se chyby vypisují přímo na stránkách webu. Tady pozor: její výchozí hodnota je true, ale WordPress ji čte jen tehdy, když je zapnuté WP_DEBUG. Proto vám na produkci chyby běžně neukazuje – debug je vypnutý a o skrytí chyb se stará konfigurace PHP na serveru. Jakmile ale WP_DEBUG zapnete, WP_DEBUG_DISPLAY se „probudí“ a chyby by se začaly vypisovat všem návštěvníkům. Právě proto ji nastavujeme na false: říkáme tím, že chyby mají jít jen do logu, ne na web. Na produkčním webu ji vždy nechte na false.
Pro pokročilejší ladění existují ještě volitelné konstanty, které můžete přidat stejným způsobem:
define( 'SCRIPT_DEBUG', true );
define( 'SAVEQUERIES', true );
- SCRIPT_DEBUG – načítá nezmenšené verze skriptů a stylů jádra WordPressu. Hodí se při ladění vzhledu nebo JavaScriptu.
- SAVEQUERIES – ukládá všechny databázové dotazy pro analýzu výkonu. Web tím ale zpomalíte a zvýšíte spotřebu paměti, takže ji na produkčním webu zapínejte ideálně mimo špičku a po doladění zase odeberte.
Soubor uložte. Na webhostingu a ve VPS Centru V3 ho Správce souborů uloží rovnou po kliknutí na Uložit změny. Při práci přes FTP nahrajte upravený soubor zpět na server.
Tím je zapnutý debug režim. Aby ale chyby skutečně přistály v logu, je u VPS potřeba ještě povolit jejich zápis v PHP – pokračujte sekcí pro své rozhraní.
Skok na vaše rozhraní
Přejděte rovnou na svou variantu:
Krok 2: Povolte zápis chyb do logu
Tady se postup liší podle toho, kde máte web. Webhosting, VPS Centrum V3 i VPS Centrum V2 mají každý jinou cestu.
Webhosting
Na webhostingu je zápis PHP chyb pevně nastavený a sami ho nezměníte – soubor debug.log se tu proto nevytvoří, i kdybyste konstanty z Kroku 1 měli správně. Chyby ale uvidíte dvěma spolehlivými cestami:
1. Ladicí plugin (doporučeno). Plugin Query Monitor zobrazí chyby, varování i pomalé databázové dotazy přímo v administraci WordPressu – vidí je jen přihlášený administrátor, návštěvníci ne. Nainstalujete ho v administraci přes Pluginy > Přidat nový plugin, kde ho vyhledáte podle názvu. Tahle cesta funguje samostatně – nevyžaduje zásah do PHP a na webhostingu kvůli ní nemusíte upravovat ani wp-config.php z Kroku 1. Použitelná je ale jen tehdy, když se vám administrace načte. Pokud je web úplně mimo provoz (bílá stránka), zvolte druhou cestu.
2. Dočasné zobrazení chyb na obrazovce. Bílá stránka (nebo strohá hláška o kritické chybě) většinou znamená fatální chybu PHP, kterou má web ve výchozím nastavení skrytou – proto nevidíte, co se děje. Když v Kroku 1 dočasně nastavíte WP_DEBUG_DISPLAY na true, web tuhle chybu vypíše místo prázdné stránky přímo do prohlížeče a uvidíte její příčinu. Tahle cesta se hodí hlavně tehdy, když se nedostanete ani do administrace a plugin tím pádem použít nejde. Pozor: chybu pak uvidí i návštěvníci, takže ji nechte zapnutou jen krátce a ideálně na webu, který ještě není veřejný. Po dohledání příčiny vraťte hodnotu zpět na false.
Pokud potřebujete chyby zapisovat do souboru na serveru, napište podpoře (Zákaznický portál → Podpora) a požádejte o zapnutí zápisu PHP chyb pro vaši doménu. I pak ale chyby míří do systémového logu webhostingu, ne do debug.log ve vašem webu – proto je pro běžné ladění praktičtější plugin.
Chyby na úrovni PHP, které shodí celý web (například fatální chyby), řeší podrobněji návod Jak zobrazit chyby v PHP.
VPS Centrum V3
Ve VPS Centru V3 povolíte zápis PHP chyb v editoru PHP konfigurace dané domény.
[Screenshot: Detail domény ve VPS Centru V3 se sekcí Webserver a otevřeným menu tří teček vedle tlačítka Nastavení s položkou Upravit PHP konfiguraci. Alt text: Otevření editoru PHP konfigurace v sekci Webserver ve VPS Centru V3.]
- Přejděte do Domény, vyberte doménu a zůstaňte na záložce Přehled.
- V sekci Webserver klikněte na ikonu tří teček vedle tlačítka Nastavení a zvolte Upravit PHP konfiguraci.
- V editoru najděte řádek, který začíná php_admin_value[error_log], a na jeho začátek přidejte středník ;. Řádek tím zakomentujete a PHP přestane vázat chyby na systémový log – WordPress je pak může poslat do vlastního souboru debug.log.
- Najděte řádek php_admin_flag[log_errors] a hodnotu off na jeho konci přepište na On.
- Uložte změny. Reload se ve verzi V3 projeví okamžitě a vpravo nahoře se zobrazí zelené potvrzení.
Od této chvíle může WordPress (díky konstantám z Kroku 1) zapisovat chyby do souboru debug.log. Pokud chcete o editoru PHP konfigurace vědět víc, máme k němu samostatný návod Jak upravit hodnoty PHP konfigurace pro doménu.
VPS Centrum V2
Ve VPS Centru V2 povolíte zápis PHP chyb v nastavení PHP dané domény.
[Screenshot: Stránka Nastavení domény ve VPS Centru V2 se sekcí Nastavení PHP a viditelnými řádky php_admin_value[error_log] a php_admin_flag[log_errors]. Alt text: Sekce Nastavení PHP ve VPS Centru V2 s direktivami pro logování chyb.]
- V přehledu domén klikněte u své domény na tlačítko Nastavení.
- Najděte sekci Nastavení PHP.
- Najděte řádek, který začíná php_admin_value[error_log], a na jeho začátek přidejte středník ; (řádek tím zakomentujete).
- Najděte řádek php_admin_flag[log_errors] a hodnotu off přepište na On.
- Klikněte na Uložit. Změna se ve verzi V2 nenastaví okamžitě – aplikuje se zhruba do minuty po naplánovaném restartu a zobrazí se zelený pruh s časem. Formulář do té doby ukazuje ještě původní hodnoty, což je v pořádku.
Soubor wp-config.php (Krok 1) ve VPS Centru V2 upravíte přes FTP – Správce souborů ve verzi V2 není. Postup připojení najdete v návodu Jak se připojit na FTP.
Kde najdete a jak otevřete debug.log
Soubor vzniká v adresáři wp-content vašeho webu. Plná cesta vypadá takto:
/www/hosting/DOMENA/www/wp-content/debug.log
Místo DOMENA dosaďte svou doménu. Pokud máte WordPress na subdoméně, použije se její složka – například /www/hosting/DOMENA/dev/wp-content/debug.log pro subdoménu ve složce dev.
Soubor debug.log nevytváříte ručně – WordPress ho vytvoří sám, ale až s první zaznamenanou chybou (a na VPS jen tehdy, když máte hotový Krok 2). Dokud žádná chyba nenastane, ještě tam nemusí být. Pokud ho nevidíte a chcete ověřit, že zápis funguje, podívejte se do sekce Řešení problémů – ukážeme, jak zápis otestovat.
Tahle cesta platí pro VPS (VPS Centrum V3 i V2), kde jste v Kroku 2 povolili zápis chyb.
Na webhostingu se debug.log nevytváří – tam chyby řešte pluginem.
Na VPS otevřete soubor přes Správce souborů (ve VPS Centru V3) nebo přes FTP (ve VPS Centru V2 jedině přes FTP). Stáhněte si ho, nebo zobrazte přímo v rozhraní. Nejnovější chyby jsou vždy na konci souboru. Jeden záznam vypadá například takto:
[10-Jun-2026 09:14:22 UTC] PHP Fatal error: Uncaught Error: Call to undefined function wc_get_product() in /www/hosting/example.cz/www/wp-content/plugins/muj-plugin/start.php:42
Z řádku poznáte typ chyby (PHP Fatal error), její popis (Call to undefined function wc_get_product()) i přesné místo – soubor a číslo řádku. To vám napoví, který plugin nebo šablona problém způsobuje.
Až s laděním skončíte, debug vypněte
Debug log není určený k tomu, aby na produkčním webu zůstal natrvalo. Zapsané chyby mohou prozrazovat cesty k souborům a verze systému, a samotný soubor s časem roste. Po vyřešení problému proto debug vypněte:
- Ve wp-config.php najděte řádek define( 'WP_DEBUG', true ); a změňte v něm true na false. Tím se debug vypne celý – řádky WP_DEBUG_LOG a WP_DEBUG_DISPLAY pak už nic nedělají, takže je můžete nechat být, nebo všechny tři řádky rovnou smazat.
- Vyprázdněte nebo smažte soubor debug.log ve složce wp-content.
- Na VPS vraťte PHP konfiguraci do původního stavu – u řádku php_admin_value[error_log] smažte úvodní středník a u php_admin_flag[log_errors] vraťte hodnotu na off. Uložte (ve verzi V3 se projeví hned, ve verzi V2 zhruba do minuty).
Co dělat s nalezenou chybou
Jakmile podle logu zjistíte, co web shazuje, navažte konkrétním řešením. U hlášek typu Call to undefined function se hodí návod Jak povolit nebo zakázat PHP funkci ve VPS Centru, u obecných PHP chyb a logů na úrovni serveru pak Jak zobrazit chyby v PHP.
Řešení problémů
Soubor debug.log se nevytvořil
Symptom: Zapnuli jste WP_DEBUG_LOG, ale soubor wp-content/debug.log nikde není.
Příčina: Nejčastěji není správně hotový Krok 1 – buď ve wp-config.php konstanty chybí, nebo zůstala původní definice WP_DEBUG na false (konstanta nesmí být v souboru dvakrát, jinak platí ta první). Další možnosti: zatím nenastala žádná chyba (soubor vzniká až s první) nebo na VPS chybí odemčení zápisu PHP chyb z Kroku 2. Na webhostingu se debug.log nevytváří vůbec, protože zápis PHP chyb tam mění jen podpora.
Řešení: Nejdřív ověřte, že máte hotový Krok 2 pro své rozhraní – na VPS hlavně odemčení zápisu PHP chyb. Bez něj soubor nevznikne, ať na webu nastane jakákoliv chyba. Pak si zápis otestujte: ve složce wp-content vytvořte složku mu-plugins (pokud tam ještě není) a v ní soubor debug-test.php s obsahem <?php error_log( 'test debug logu' );. Tento soubor WordPress načte sám, nezávisle na tom, jakou máte šablonu. Načtěte libovolnou stránku webu – pokud logování funguje, ve složce wp-content se objeví debug.log s testovacím řádkem. Soubor debug-test.php pak zase smažte. Log nemusíte hledat přes SSH; jakmile vznikne, ukáže ho i Správce souborů nebo FTP. Když se neobjeví ani po testu, vraťte se ke Kroku 2 – na VPS bývá příčinou neuložené nebo neprovedené odemčení.
Po úpravě wp-config.php se zobrazuje bílá stránka
Symptom: Web místo obsahu ukazuje prázdnou bílou stránku nebo hlášku HTTP 500.
Příčina: Chyba v zápisu konstant. Nejčastěji chybí čárka – define( 'WP_DEBUG' true ); místo define( 'WP_DEBUG', true ); – nebo jsou řádky vložené na špatném místě.
Řešení: Otevřete wp-config.php a zkontrolujte, že každý řádek odpovídá vzoru z Kroku 1 a že jsou všechny nad řádkem „ukončete úpravy“. Pokud si nejste jistí, vraťte zálohu souboru.
Chyby se zobrazují přímo na webu i návštěvníkům
Symptom: Na stránkách webu se vypisují PHP chyby nebo varování, které vidí každý.
Příčina: Konstanta WP_DEBUG_DISPLAY není nastavená na false, nebo úplně chybí.
Řešení: Ve wp-config.php najděte řádek define( 'WP_DEBUG_DISPLAY', … );. Pokud má hodnotu true, změňte ji na false. Pokud řádek úplně chybí, přidejte define( 'WP_DEBUG_DISPLAY', false ); nad řádek, který ukončuje úpravy. Chyby pak půjdou jen do logu a na webu se přestanou zobrazovat.
Soubor debug.log rychle roste a zabírá místo
Symptom: Soubor debug.log má desítky nebo stovky MB.
Příčina: Web opakuje tutéž chybu nebo varování při každém načtení (často jde o zastaralou funkci v pluginu nebo šabloně), nebo máte zapnutou konstantu SAVEQUERIES.
Řešení: Otevřete log, najděte opakující se hlášku a opravte její příčinu – typicky aktualizací nebo výměnou problémového pluginu či šablony. Pokud jste zapnuli SAVEQUERIES, vypněte ji. Po vyřešení soubor vyprázdněte.
Pokud problém přetrvává, kontaktujte naši podporu.