Zdedili ste WordPress, ktorý beží päť rokov bez zásahu? Plugin-galéria z 2019, PHP 7.2, predvolený admin user a backup raz za rok? To nie je výnimka — je to typický scenár, s ktorým prichádzajú firmy, keď im niekto raz „postavil web". Tu je checklist krokov, ako takúto inštaláciu dostanete na štandard 2026 bez prepísania od nuly.

Prvý krok: úplný audit

Pred akýmkoľvek zásahom robíme inventúru. Aké pluginy sú aktívne? Aká je verzia WordPress? Aký PHP beží na serveri? Existujú zálohy? Je k dispozícii staging? Bez auditu nemáte podklady na rozhodnutie, čo treba robiť ako prvé.

Audit typicky odhalí 3-5 kritických nálezov, 10-15 vážnych a desiatky kozmetických problémov.

PHP a WordPress core update

Najlacnejší a najefektívnejší krok. PHP 7.4 a staršie verzie nedostávajú bezpečnostné aktualizácie. Jadro WordPressu má bezpečnostné záplaty v každej menšej verzii. Aktualizácia na aktuálne PHP 8.2+ a WordPress 6.x rieši veľkú časť známych zraniteľností okamžite.

Pozor — niektoré staré pluginy nefungujú s novším PHP. Aktualizáciu vždy testujte na staging prostredí, nie priamo na produkcii.

Plugin a theme audit — čo skutočne potrebujete

Bežná inštalácia má 30+ pluginov, z ktorých sa reálne používa 10. Nepoužívané pluginy sú útočná plocha — odstráňte ich. Pri zostávajúcich kontrolujeme:

  • Posledná aktualizácia — neaktualizované 2+ roky sú varovný signál
  • Známe CVE — WPScan alebo databázy zraniteľností
  • Komerčný plugin s aktívnou licenciou? Ak nie, prejdite na alternatívu
  • Vlastné pluginy — sú vôbec potrebné? Často nahraditeľné jednoduchým kódom v functions.php

wp-config.php — security keys, debug, editácia súborov

Toto sú jednoduché ale dôležité úpravy:

// nové security keys (https://api.wordpress.org/secret-key/1.1/salt/)
define('AUTH_KEY',         '...');

// vypnúť debug v produkcii
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);

// zákaz editácie cez admin (najčastejšia cesta eskalácie práv)
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);

// force HTTPS
define('FORCE_SSL_ADMIN', true);

Práva súborov a vlastníctvo

Štandardné práva pre WordPress: adresáre 755, súbory 644, wp-config.php 600. Súbory by mali patriť deploy používateľovi, nie webserver používateľovi — webserver má len právo čítať (okrem wp-content/uploads/).

Bezpečnostné hlavičky — CSP, HSTS, X-Frame-Options

Konfigurácia 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 zložitejšie pre WordPress (nemá rád inline JS), ale aj základná verzia je lepšia ako žiadna.

Ochrana proti brute force a 2FA

WordPress login (/wp-login.php) je najčastejší cieľ útokov. Minimálne odporúčame:

  • Limit Login Attempts Reloaded — blokuje po 5 zlých pokusoch
  • WP 2FA — TOTP cez Google Authenticator pre admin účty
  • Premiestnenie prihlasovacej URL — z /wp-admin na vlastnú cestu (cez WPS Hide Login)
  • Prísne heslá — minimum 16 znakov, nikdy slovníkové

Stratégia záloh, ktorá naozaj funguje

„Mám hosting, ten zálohuje" často znamená nič. Skutočná stratégia záloh má tri úrovne:

  1. Denné automatické zálohy databázy + uploads na externé úložisko (S3, Backblaze)
  2. Týždenné kompletné kópie vrátane súborov
  3. Mesačné archívne snapshoty držané 12 mesiacov

A — kľúčové — raz za kvartál otestovať obnovu. Záloha, ktorú nikto nikdy nepoužil, je skoro určite nefunkčná.

Webový aplikačný firewall

Cloudflare (ich bezplatný plán už dosť pomôže) alebo Wordfence Premium chytí 90 % bežných útokov skôr, ako sa dostanú k WordPress. Pre kritické weby odporúčame komerčný Sucuri alebo Cloudflare Pro.

Pravidelný monitoring

Bez monitoringu o útoku nezistíte. Minimum:

  • UptimeRobot — upozornenie pri výpadku
  • Wordfence scan — týždenná kontrola integrity
  • Pravidelná kontrola Search Console — Google upozorní na napadnutý web

Záver

WordPress hardening nie je raketová veda, ale vyžaduje systematický prístup. 5 rokov neudržiavaná inštalácia sa za 2-3 dni práce vie dostať na úroveň, ktorá zvládne útoky aj bez prepísania webu. Ak máte starú WordPress inštaláciu a chcete vedieť, na čom je, ponúkame audit.