Zdědili jste WordPress, který běží pět let bez zásahu? Galerie pluginů z 2019, PHP 7.2, výchozí admin user a backup jednou za rok? To není výjimka — je to typický scénář, se kterým přicházejí firmy, když jim někdo kdysi „postavil web". Tady je checklist kroků, jak takovou instalaci dostanete na standard 2026 bez přepsání od nuly.
První krok: úplný audit
Před jakýmkoli zásahem děláme inventuru. Jaké pluginy jsou aktivní? Jaká je verze WordPressu? Jaké PHP běží na serveru? Existují zálohy? Je k dispozici staging? Bez auditu nemáte podklady k rozhodnutí, co je třeba udělat jako první.
Audit typicky odhalí 3–5 kritických nálezů, 10–15 vážných a desítky kosmetických problémů.
PHP a WordPress core update
Nejlevnější a nejefektivnější krok. PHP 7.4 a starší verze nedostávají bezpečnostní aktualizace. Jádro WordPressu má bezpečnostní záplaty v každé menší verzi. Aktualizace na aktuální PHP 8.2+ a WordPress 6.x řeší velkou část známých zranitelností okamžitě.
Pozor — některé staré pluginy nefungují s novějším PHP. Aktualizaci vždy testujte na staging prostředí, ne přímo na produkci.
Plugin a theme audit — co skutečně potřebujete
Běžná instalace má 30+ pluginů, z nichž se reálně používá 10. Nepoužívané pluginy jsou útočná plocha — odstraňte je. U zbývajících kontrolujeme:
- Poslední aktualizace — neaktualizované 2+ roky jsou varovný signál
- Známé CVE —
WPScannebo databáze zranitelností - Komerční plugin s aktivní licencí? Pokud ne, přejděte na alternativu
- Vlastní pluginy — jsou vůbec potřeba? Často nahraditelné jednoduchým kódem ve
functions.php
wp-config.php — security keys, debug, editace souborů
Tohle jsou jednoduché, ale důležité úpravy:
// nové security keys (https://api.wordpress.org/secret-key/1.1/salt/)
define('AUTH_KEY', '...');
// vypnout debug v produkci
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);
// zákaz editace přes admin (nejčastější cesta eskalace práv)
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);
// force HTTPS
define('FORCE_SSL_ADMIN', true);
Práva souborů a vlastnictví
Standardní práva pro WordPress: adresáře 755, soubory 644, wp-config.php 600. Soubory by měly patřit deploy uživateli, ne webserver uživateli — webserver má jen právo číst (kromě wp-content/uploads/).
Bezpečnostní hlavičky — CSP, HSTS, X-Frame-Options
Konfigurace v .htaccess:
Header always set Strict-Transport-Security "max-age=31536000"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
CSP je pro WordPress složitější (nemá rád inline JS), ale i základní verze je lepší než žádná.
Ochrana proti brute force a 2FA
WordPress login (/wp-login.php) je nejčastější cíl útoků. Minimálně doporučujeme:
- Limit Login Attempts Reloaded — blokuje po 5 špatných pokusech
- WP 2FA — TOTP přes Google Authenticator pro admin účty
- Přesun přihlašovací URL — z
/wp-adminna vlastní cestu (přes WPS Hide Login) - Přísná hesla — minimálně 16 znaků, nikdy slovníková
Strategie záloh, která opravdu funguje
„Mám hosting, ten zálohuje" často znamená nic. Skutečná strategie záloh má tři úrovně:
- Denní automatické zálohy databáze + uploads na externí úložiště (S3, Backblaze)
- Týdenní kompletní kopie včetně souborů
- Měsíční archivní snapshoty držené 12 měsíců
A — klíčové — jednou za kvartál otestovat obnovu. Záloha, kterou nikdo nikdy nepoužil, je skoro určitě nefunkční.
Webový aplikační firewall
Cloudflare (jejich bezplatný plán už dost pomůže) nebo Wordfence Premium chytí 90 % běžných útoků dřív, než se dostanou k WordPressu. Pro kritické weby doporučujeme komerční Sucuri nebo Cloudflare Pro.
Pravidelný monitoring
Bez monitoringu se o útoku nedozvíte. Minimum:
- UptimeRobot — upozornění při výpadku
- Wordfence scan — týdenní kontrola integrity
- Pravidelná kontrola Search Console — Google upozorní na napadený web
Závěr
WordPress hardening není raketová věda, ale vyžaduje systematický přístup. 5 let neudržovaná instalace se za 2–3 dny práce umí dostat na úroveň, která zvládne útoky i bez přepsání webu. Pokud máte starou WordPress instalaci a chcete vědět, na čem je, nabízíme audit.