Proč WordPress nestačí pro firemní aplikace: bezpečnost, výkon a reálné náklady

01. 05. 2026| DubNet Admin

WordPress je impozantní úspěch open-source světa. Za dvacet let vyrostl z osobního blogovacího nástroje na platformu, která pohání přes 43 % všech webových stránek světa. Jenže právě tato masová rozšířenost se pro firmy stala dvojsečnou zbraní – a bezpečnostním problémem, který nelze ignorovat.

Tento článek není anti-WordPress manifest. Je to střízlivá analýza toho, co se stane, když firemní aplikaci postavíte na nástroji navrženém pro jiný účel – a co za to skutečně zaplatíte.

Bezpečnostní čísla, která mluví za vše

Databáze WPScan eviduje přes 57 000 zdokumentovaných zranitelností v pluginech, tématech a jádru WordPressu. V průměru vychází 50–70 nových CVE záznamů každý týden. Sucuri ve své zprávě o napadených webech uvádí, že 96 % infikovaných CMS platforem tvoří právě WordPress. Klíčová otázka není „zda bude WordPress napaden", ale „kdy a jakým vektorem".

Jak vypadá útok v praxi

Útočníci WordPress nenapádají jen hrubou silou. Pracují systematicky a automatizovaně. Typický scénář vypadá takto:

  1. Fingerprinting – bot identifikuje verzi WordPressu, nainstalované pluginy a jejich verze (soubory jako readme.txt, wp-includes/version.php nebo HTTP hlavičky jsou veřejně dostupné).
  2. CVE matching – automaticky porovná verze s databází zranitelností. Najde-li shodu, přechází k exploitu.
  3. Exploitace – nejčastěji přes SQL injection v pluginu, unauthenticated file upload, XSS vedoucí ke krádeži session, nebo brute force na /wp-login.php a XML-RPC endpoint.
  4. Persistance – nahraje webshell, přidá backdoorovaného admina nebo vloží šifrovaný payload do databáze (wp_options), odkud se aktivuje při každém načtení stránky.

Celý proces od skenování po kompromitaci trvá u zranitelné instalace v průměru méně než 4 hodiny od zveřejnění CVE. Většina provozovatelů přitom aktualizuje pluginy ručně a nepravidelně.

Pluginy: největší útočná plocha

Jádro WordPressu samotné je dnes relativně dobře udržované. Problémem jsou pluginy – a jejich ekosystém je chaotický:

  • Přes 60 000 pluginů v oficiálním repozitáři, tisíce dalších komerčních.
  • Pluginy píší autoři s různou úrovní bezpečnostního povědomí – od profesionálů po amatéry.
  • Průměrná WordPress instalace má 22 aktivních pluginů.
  • Každý plugin přidává kód třetí strany s přímým přístupem k databázi, souborovému systému i HTTP požadavkům.
  • Plugin může být kdykoli prodán jinému vlastníkovi – v roce 2021 byl populární plugin AccessPress Themes po prodeji záměrně infikován backdoorem, který postihl přes 360 000 webů.

U vlastního kódu je útočná plocha přesně taková, jakou si sami vytvoříte. Žádný kód třetí strany s právy k databázi. Žádné pluginy, jejichž autor se rozhodl projekt prodat nebo zastavit.

XML-RPC a /wp-login.php: trvale otevřené dveře

WordPress obsahuje dva endpointy, které jsou terčem automatizovaných útoků každou minutu:

  • /wp-login.php – přihlašovací stránka dostupná bez jakékoli ochrany.
  • xmlrpc.php – rozhraní původně určené pro vzdálené publikování, dnes primárně zneužívané pro brute force (jedno HTTP volání umožní otestovat stovky hesel najednou přes multicall) a DDoS amplifikaci.

Tato rozhraní lze zablokovat nebo skrýt, ale vyžaduje to vědomé kroky a pravidelnou kontrolu – protože aktualizace jádra je může znovu zpřístupnit.

Výkon: tvrdá čísla

WordPress při každém načtení stránky typicky provádí 15–80 databázových dotazů a načítá desítky PHP souborů jen z jádra – ještě před pluginy. Výsledky z reálných projektů:

  • Průměrný WordPress web: Google PageSpeed 45–65 (bez agresivního cachování a optimalizace).
  • Stejný obsah na vlastní aplikaci: 90–98 bez speciálního úsilí.
  • Time to First Byte (TTFB): WP typicky 600–1 200 ms, vlastní PHP aplikace 80–200 ms.

PageSpeed skóre není jen UX metrika. Google jej používá jako rankingový faktor od aktualizace Core Web Vitals. Pomalý web = horší pozice ve vyhledávání = méně zákazníků.

Vendor lock-in: zlatá klec pluginů

Funkce, které WordPress sám nenabídne, řeší pluginy. Jenže prémiové pluginy jsou předplatné:

  • WooCommerce + klíčové rozšíření: 150–500 USD/rok
  • Pokročilé formuláře (Gravity Forms): 160–260 USD/rok
  • Membership plugin: 150–300 USD/rok
  • Zálohovací a bezpečnostní plugin: 100–200 USD/rok

Přestanete platit? Přijdete o aktualizace a budete provozovat zranitelný software. Přejdete na jiný plugin? Migrace dat a přenastavení vás bude stát hodiny nebo dny. Vlastní kód platíte jednou – a je váš natrvalo.

Aktualizace jako ruská ruleta

Každá aktualizace pluginu představuje risk. V prostředí, kde máte 20+ pluginů od 20 různých autorů, je konflikt po aktualizaci statisticky nevyhnutelný. Výsledek: web se rozbije ve 3:00 v noci, zákazníci vidí chybovou stránku, a vy voláte vývojáře. Odložíte aktualizaci? Provozujete zranitelný software, který boti aktivně skenují. Žádná z možností není dobrá.

Kdy WordPress dává smysl

Buďme féroví. WordPress má svá místa, kde dává perfektní smysl:

  • Firemní blog nebo PR web bez citlivých dat a bez vlastní uživatelské databáze
  • Jednoduchý katalogový web s nepravidelnou aktualizací obsahu
  • Projekt s omezeným rozpočtem, kde stačí základní funkce
  • Tým, kde obsah spravují netechničtí uživatelé a developer je k dispozici pro pravidelnou údržbu

Jakmile ale váš web zpracovává osobní data zákazníků, platby, firemní dokumenty nebo citlivé přihlášení – vědomě si vybíráte nejčastěji napadaný CMS světa jako opatrovníka těchto dat.

Co dává vlastní vývoj navíc

Vlastní aplikace není automaticky bezpečná jen proto, že není WordPress. Bezpečnost je výsledek vědomých rozhodnutí. V DubNet CZ každá aplikace obsahuje:

  • PDO prepared statements – žádné inline SQL, SQL injection eliminována na architekturální úrovni.
  • CSRF tokeny na všech formulářích se stavovým přechodem.
  • Rate limiting přihlašování na základě IP adresy s exponenciálním zpožděním.
  • Content Security Policy (CSP) hlavičky omezující povolené zdroje skriptů a stylů.
  • HSTS pro vynutitelné HTTPS a ochranu před SSL stripping.
  • Auditní logy veškerých přihlášení, změn dat a administrátorských akcí.
  • Minimální oprávnění – databázový uživatel aplikace nemá práva CREATE/DROP tabulek.
  • 2FA pro administrátorský přístup.

Závěr: rozhodnutí má cenu

WordPress je legitimní nástroj se správným použitím. Pro firemní aplikaci zpracovávající data zákazníků, platby nebo interní firemní informace ale přináší systémové bezpečnostní riziko, které nelze zcela eliminovat – jen spravovat, a to za cenu pravidelného času a peněz.

Vlastní vývoj stojí více na začátku. Za 2–3 roky je finančně srovnatelný. A po celou dobu provozujete systém, jehož kód znáte do posledního řádku, jehož útočná plocha je minimální a jehož bezpečnost nezávisí na rozhodnutích anonymních vývojářů pluginů třetích stran.

Chcete vědět, jak by takové řešení vypadalo pro váš konkrétní případ? Napište mi – konzultace je zdarma.

« Zpět na přehled