Tento dokument slouží jako praktický checklist pro nasazení WordPress webu do produkčního provozu. Vychází z reálné praxe při vývoji, nasazování a správě produkčních webů a je určený pro standardní WordPress instalace na vlastním hostingu (Apache / Nginx), včetně WooCommerce projektů.

Cílem checklistu je pomoci ověřit, že web je před spuštěním technicky připravený. Zaměřuje se na oblasti, které se v praxi nejčastěji podceňují a následně vedou k problémům po nasazení.

Konkrétně pomáhá:

  • omezit technický dluh hned od začátku,
  • předejít běžným bezpečnostním a konfiguračním chybám,
  • zajistit stabilní provoz, výkon a spolehlivé doručování e-mailů.

Checklist je navržený tak, aby šel projít bod po bodu. Pokud některý z bodů není splněný, web by neměl být považován za připravený pro produkční provoz.

1. Infrastruktura a konfigurace serveru

  • Verze PHP: Server používá nejnovější stabilní verzi PHP podporovanou WordPressem, kompatibilita všech pluginů a šablony je ověřena.
  • PHP limity: Limity jsou navýšeny oproti výchozí konfiguraci hostingu (memory_limit min. 256M, u náročných projektů 512M+, max_execution_time min. 60 s).
  • HTTPS: Automatické přesměrování veškerého provozu z HTTP na HTTPS je aktivní.
  • SSL certifikát: SSL certifikát je platný a bez bezpečnostních varování.
  • Konzistence URL: V databázi jsou všechny URL adresy vedeny přes https:// (ověřeno, případně opraveno pomocí WP-CLI wp search-replace).
  • Sanitizace prostředí: Testovací a staging subdomény nejsou veřejně dostupné, testovací obsah je odstraněn.
  • Úklid instalačních souborů: Soubory readme.html a license.txt jsou odstraněny z rootu instalace.
  • Cron: WP-Cron je deaktivovaný (DISABLE_WP_CRON = true) a nahrazený systémovým cronem na serveru.

2. Bezpečnost

  • Aktualizace: WordPress core, aktivní pluginy a šablona jsou aktualizované.
  • Autentizační klíče a SALT hodnoty: Autentizační klíče a SALT hodnoty jsou unikátní pro produkční prostředí.
  • Zákaz editace souborů: V wp-config.php je nastaveno define('DISALLOW_FILE_EDIT', true);.
  • Autentizace: Administrátorské účty používají silná hesla a aktivní 2FA.
  • WAF: Aktivní web application firewall (např. Cloudflare nebo aplikačně).
  • Pluginy: Neaktivní a nepoužívané pluginy jsou odstraněny (ne pouze deaktivovány).
  • Bezpečnostní plugin: Na webu je nainstalovaný, aktivní a správně nakonfigurovaný bezpečnostní plugin.
  • XML-RPC: XML-RPC je vypnuté nebo omezené, pokud není potřeba.
  • Oprávnění souborů: Soubory mají oprávnění 644, adresáře 755, wp-config.php 600 nebo 640.
  • Upload hardening: Ve složce /uploads není povoleno spouštění PHP.
  • Security headers: Nastavené základní bezpečnostní hlavičky (X-Content-Type-Options, X-Frame-Options, HSTS tam, kde dává smysl).
  • HTTPS: HTTPS je vynuceno na celé doméně bez výjimek.
  • Sanitizace instalace: Soubory readme.html a license.txt jsou odstraněny.
  • User enumeration: Není možné snadno enumerovat uživatele (author query, REST API).

3. Zálohování

  • Externí úložiště: Zálohy nejsou ukládány pouze na produkčním serveru (např. S3, Google Drive, Dropbox).
  • Rozsah záloh: Zálohuje se databáze a složky themes, plugins a uploads.
  • Automatizace: Zálohování probíhá automaticky podle plánu (např. denně databáze, týdně soubory).
  • Test obnovy: Obnova zálohy byla reálně otestována na staging prostředí.
  • Nástroj: Použit ověřený zálohovací nástroj (UpdraftPlus, Duplicator Pro).

4. Výkon a optimalizace (WPO)

  • Page cache: Aktivní stránková cache pro nepřihlášené uživatele (WP Rocket, LiteSpeed Cache).
  • Object cache: Redis nebo Memcached je připojen pro dynamické weby a e-shopy.
  • Optimalizace obrázků: Obrázky jsou automaticky komprimovány a převáděny do moderních formátů (WebP / AVIF dle podpory).
  • Lazy loading: Lazy loading obrázků je aktivní.
  • Minifikace assetů: CSS a JavaScript jsou minifikované a neporušují funkčnost webu.
  • Fonty: Použit omezený počet řezů, fonty jsou self-hostované nebo správně preloadované.
  • Databáze: Revize příspěvků jsou omezené (define( ‚WP_POST_REVISIONS‘, 5 );), staré transients jsou odstraněny.
  • Cron: WP-Cron je vypnut (define( 'DISABLE_WP_CRON', true );) a nahrazen systémovým cronem.

5. Transakční e-maily (SMTP)

  • SMTP místo PHP mail(): Odesílání e-mailů probíhá přes SMTP službu (např. SendGrid, Mailgun, Postmark nebo firemní SMTP).
  • DNS záznamy: SPF a DKIM jsou nastavené, DMARC politika je minimálně p=none.
  • Logování e-mailů: Aktivní logování odeslané pošty (např. pomocí FluentSMTP).
  • Test doručení: Doručení testovací zprávy i e-mailů z formulářů je ověřeno.

6. SEO a indexace

  • Indexace: Web není blokovaný pro vyhledávače (vypnuté „Zakázat prohledávání roboty“).
  • XML sitemap: Sitemap existuje a neobsahuje přílohové stránky, autorovy archivy ani chybové URL.
  • SEO plugin: Použit ověřený SEO plugin (Rank Math SEO nebo Yoast SEO).
  • Meta data: Každá důležitá stránka má nastavený title a meta description.
  • Canonical URL: Canonical odpovídá finální doméně (www / bez www).
  • Přesměrování: Staré URL adresy jsou přesměrovány pomocí 301.
  • Interní odkazy: Interní odkazy fungují a nevedou na 404 stránky.

7. Funkčnost a UX

  • Responzivita: Web je plně responzivní a použitelný na mobilu, tabletu i desktopu.
  • Prohlížeče: Web funguje v běžně používaných prohlížečích (Chrome, Safari, Firefox).
  • 404 stránka: Existuje vlastní 404 stránka vracející správný HTTP kód.
  • Interní odkazy: Běžné uživatelské cesty nevedou na 404 stránky.
  • Favicon: Nastaven favicon (min. 512×512 px).
  • OG obrázek: Nastaven defaultní OG obrázek pro sdílení na sociálních sítích.
  • Formuláře: Formuláře jsou funkční a chráněné antispamovou ochranou (Cloudflare Turnstile, Google reCAPTCHA).
  • Interakce: Navigace, menu, modální okna a další interaktivní prvky fungují bez chyb.
  • Komentáře: Pokud nejsou potřeba, jsou globálně vypnuté (např. Disable Comments).
  • Přístupnost: Formuláře mají labely, text má dostatečný kontrast a web je ovladatelný klávesnicí.
  • Obsah: Testovací a placeholder obsah je odstraněn.

8. Legislativa (GDPR)

  • Cookie lišta: Skripty třetích stran jsou blokovány před udělením souhlasu (Consent Mode v2).
  • Právní stránky: Existují a jsou veřejně dostupné stránky „Zásady ochrany osobních údajů“ a „Obchodní podmínky“ (pokud relevantní).
  • Kontaktní údaje: Kontaktní údaje jsou aktuální, funkční a snadno dohledatelné.
  • Licence obsahu: Použitý obsah (texty, obrázky, fonty, videa) neporušuje licenční podmínky.

9. Závěrečná kontrola

  • Debug: V wp-config.php je nastaveno define( 'WP_DEBUG', false );.
  • Environment type: WP_ENVIRONMENT_TYPE je nastaveno na production.
  • Analytika: Měření návštěvnosti a chování uživatelů je nasazené a ověřené (data se skutečně sbírají).
  • Monitoring: Web je přidaný do monitoringu dostupnosti (např. UptimeRobot).
  • Error tracking: PHP a aplikační chyby jsou logovány do externí služby (např. Sentry).
  • Licence: Všechny prémiové pluginy mají aktivní licenční klíč.
  • Aktualizace: Existuje jasně definovaný plán aktualizací.
  • Správa webu: Je určeno, kdo web spravuje a odpovídá za jeho provoz po spuštění.
  • PageSpeed test: Klíčové stránky byly otestovány pomocí PageSpeed Insights a nevykazují kritické problémy.
  • SEO kontrola: Základní SEO kontrola byla provedena pomocí nástroje typu Ahrefs / Screaming Frog / obdobného nástroje.
  • Chybové stavy: Web nevykazuje zásadní chyby typu 4xx / 5xx na důležitých URL.

Závěrečná poznámka z praxe

Nejčastější kritické chyby při spuštění WordPress webu nejsou složité. Patří mezi ně zapomenutá blokace indexace nebo nefunkční e-maily z formulářů. Obě lze odstranit během několika minut, pokud se kontrolují systematicky.

Nejste si jistí, že máte všechno pokryté?

Checklist vychází z reálné praxe a řeší nejčastější problémy, které se objevují krátce po spuštění webu. Pokud si nejste jistí některou oblastí, nebo chcete mít nezávislou technickou kontrolu, je lepší to řešit ještě před nasazením.

👉 Ozvěte se a projdeme váš web společně.