Přišel mi email od klientky:
Můj web přestal z ničeho nic fungovat, přestože mám zaplacenou doménu i webhosting. Po zadání se nyní zobrazuje úplně jiná, nerelevantní stránka.

Datum poslední změny: 9. 2. 2026
Ve WordPressu to může znamenat několik věcí - problém s hostingem, souborem htaccess nebo jiným přesměrováním, nějaká nekompatibilita pluginů nebo napadený web. U klientky bohužel to poslední.
Ta “jiná stránka” byla od hostingu, kam jí web přesměroval kvůli přetěžování serveru. Po přesměrování zpět mě uvítala prázdná bílá stránka. Do WP se v tu chvíli nedalo dostat.
Jako první jsem změnil hesla k FTP, databázi a stáhnul celý web k sobě.
Na webu jsem přehrál složky wp-admin a wp-includes čistým WP ve verzi 6.6.1, tedy klietky “aktuální” verzí WP. Nne nejaktuálnější, abych se vyhnul nekompatibiltám - v první řadě šlo web vyčistit a rozjet, poté aktualizovat.
Poznámka: přehrání složek wp-admin a wp-includes nemá na data na webu vliv - texty a nastvení jsou v databázi, obrázky a pluginy ve složce wp-content.
Po přehrátí WP se už šlo přihlásit → jednotlivým uživatelům ve WP jsem změnil hesla a administrátroská oprávnění jsem stáhnul na návštěvníky (páč pořád mohli požádat o resetování hesla). Pokud by je klientka neznala, plán byl je smazat. Což se následně stalo.
Vytvořil jsem nový účet pro klientku a její původní admin účet se jménem admin rovnou smazal (po převedení článků na nový účet klientky!).
Připojil jsem se na FTP a začal tam, kde začínám vždycky - ve wp-config.php. A hned v něm čekal na objevení podezřelý řádek:
define('WP_TEMP_DIR',dirname(__FILE__).'/wp-content/uploads');
Proč je to divný? WordPress má vlastní systém pro dočasné soubory. Když někdo předefinovává cestu do uploads, často to znamená, že tam chce něco schovávat.
Prohledal jsem uploads a smazal jeden nalezený php script. PHP skripty nemají v uploads co dělat. Nikdy. Uploads jsou pro obrázky, PDF atp. - ne pro spustitelný kód.
Nad hlavní instalací WordPressu byly nahrané další .htaccess soubory – další důkaz, že útočníci měli přístup k FTP.
Pokračoval jsem pluginy - i tady se zadařilo.
Ve wp-content/plugins/ jsem našel dva pluginy, které tam neměly co dělat:
wp-content/plugins/klqchah/wp-content/plugins/cqdpztr/Obě složky byly vytvořené 12. září 2025 - s největší pravděpodobností den, kdy došlo k infekci.
Ve wp-content/themes/ byla další sklizeň:
lwkybtxbsjzgeecong.php - PHP soubor přímo mezi tématy? To tam opravdu nepatří.Všechno jsem smazal.
Nainstaloval jsem Wordfence a spustil kompletní scan. Našel další infekci:
Web byl dlouho neaktualizovaný. Po vyčištění jsem vše aktualizoval na nejnovější verze.
Po 4 hodinách práce:
Tenhle příběh má jedno velké ponaučení: neaktualizovaný web je otevřená brána pro útočníky. A tenhle příběh není jediný - o jednom podobném už jsem dříve psal, několik podobných webů čistil.
Pokud nechceš řešit podobnou situaci, máš v podstatě dvě možnosti (respektive třetí je případ tohoto článku - otázka není jestli, ale kdy):
Přesně proto nabízím správu webu. Starám se o:
Když se někdo o web stará pravidelně, riziko hacknutí klesá blízko k nule. A když už se něco stane, řeším to - ne až když web "přestal z ničeho nic fungovat".
Slyším námitku: "Hele, když trvalo odvirovat web pět hodin práce... To stejně zaplatila za odvirování mnohem míň, než za několik let správy webu, ne?" Jo a ne. Připočítej do bilance ztrátu zakázek: I kdyby jí nefunkčním webem utekla jediná... Přitom nemusí jít zdaleka o nefunkční web, stačí nefunkční kontaktní formulář. Rázem přicházíš o tisíce.
Zajímá tě správa webu? Napiš mi a domluvíme se na variantě, která bude dávat smysl pro tvůj web a rozpočet.
Nejčastější signály: web přesměrovává návštěvníky na cizí stránku, objevuje se na něm obsah, který jsi tam nedal (reklamy, odkazy na casino), hosting web odstavil kvůli přetížení, nebo tě na napadení upozorní bezpečnostní plugin jako Wordfence.
Přesměrování je klasická stopa malwaru. Útočník se přes neaktualizovaný WordPress, plugin nebo šablonu dostane k souborům webu a vloží do nich kód, který návštěvníky posílá jinam. Cílem bývá vydělat na reklamě nebo tě zneužít k rozesílání spamu. Řešení není vypnout jeden plugin, ale najít a odstranit vložený kód a zjistit, kudy se útočník dostal dovnitř.
Když víš, co hledáš, jde to — přehrát jádro WordPressu čistou verzí, projít wp-config.php a .htaccess, smazat podezřelé pluginy, skripty i témata a všude změnit hesla. Háček je v tom, že malware se často maskuje a umí se sám obnovit. Když jeden kousek přehlédneš, infekce se vrátí. Pokud si nejseš jistej, radši to přenech někomu, kdo ví, kam se dívat. Třeba mně. 😉
U běžného napadení mi vyčištění zabere kolem pěti hodin — od změny hesel přes přehrání jádra a odstranění škodlivých souborů až po proběhnutí bezpečnostního skenu. Záleží na tom, jak hluboko se malware zakořenil a kolik míst je potřeba projít. Cenově to zhruba odpovídá roční správě webu, takže prevence bývá levnější než hašení požáru. A nepřicházíš o zakázky nebo i dobré jméno.
Základ je pravidelně aktualizovat WordPress, pluginy i šablony — většina útoků jede přes známé díry ve starém softwaru. K tomu patří silná hesla, bezpečnostní plugin, pravidelné zálohy a někdo, kdo web hlídá a zareaguje dřív, než se problém rozjede. Přesně tohle dělá průběžná správa webu: neřeší se, až když hoří, ale předchází tomu.
Rád ti pomůžu web odčervit.

Měsíční newsletter pro majitele webů, kteří chtějí, aby jejich WordPress spolehlivě fungoval.
Dozvíš se:
🔌 Tipy na užitečné pluginy a nástroje.
🆕 Novinky z WordPress světa.
💡 Praktické návody a rady.