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ě.