Doba ukládání do mezipaměti prohlížeče (browser caching) určuje, jak dlouho si prohlížeč návštěvníka bude držet statické soubory vašeho webu lokálně uložené. V praxi se pro CSS, JavaScript, obrázky, fonty a ikony definují HTTP hlavičky Cache-Control a ve starších prostředích i Expires. Například pro verzované CSS a JS soubory se volí 1 rok, pro obrázky 30 dní až 1 rok a pro HTML stránky krátká doba nebo opětovná validace. Správné nastavení zabrání opakovanému stahování stejných souborů, zrychlí načítání stránek a zlepší metriky Core Web Vitals.
V tomto průvodci si krok za krokem vysvětlíme, jak mezipaměť prohlížeče funguje, kolik sekund přiřadit jednotlivým typům souborů a jak vše aplikovat na serverech Apache, Nginx, LiteSpeed, ve WordPressu a na CDN. Cílem není jen zelené skóre v testu rychlosti, ale efektivní využití serverových zdrojů při poskytování aktuálních souborů, snížení TTFB a spotřeby přenosového pásma a citelný nárůst rychlosti při opakovaných návštěvách. Zvláště u sdílených hostingů, WordPress hostingů a firemních webových projektů je správná strategie kešování jedním z nejefektivnějších vylepšení výkonu, které můžete udělat s nízkými náklady. Hostragons webhostingové balíčky
Co je mezipaměť prohlížeče?
Mezipaměť prohlížeče je dočasné uložení statických zdrojů stažených při otevření webové stránky přímo v zařízení uživatele. Když návštěvník přijde na vaši domovskou stránku, stáhnou se loga, CSS soubory, JavaScripty, fonty a obrázky. Pokud jsou pro tyto soubory nastaveny správné cache hlavičky, prohlížeč je při přechodu na druhou stránku nebo při další návštěvě webu nemusí znovu žádat ze serveru. Stránka se tak načte mnohem rychleji.
Představte si například domovskou stránku o velikosti 2 MB. Z toho 1,4 MB tvoří obrázky, 300 KB CSS a JS soubory a 100 KB fonty. Při první návštěvě se tyto zdroje stáhnou. Při druhé návštěvě si je ale prohlížeč vytáhne z lokálního úložiště a objem dat přenesených po síti dramaticky klesne. Tento rozdíl je ještě výraznější na mobilních připojeních a u webů s vysokou návštěvností.
Mezipaměť prohlížeče by se neměla zaměňovat s keší na straně serveru. Serverová cache ukládá výstup PHP nebo databázové dotazy na serveru. Cache prohlížeče umožňuje opakované použití zdrojů v zařízení návštěvníka. Pro nejlepší výkon by se obě vrstvy měly plánovat společně. Na webech využívajících WordPress je cache stránek, objektová cache, CDN cache a browser cache obvykle součástí jedné optimalizační strategie. WordPress hosting a optimalizace výkonu
Proč je Browser Caching důležitý pro SEO?
Google považuje weby nabízející rychlý a stabilní zážitek za hodnotnější z hlediska spokojenosti uživatelů. Mezipaměť prohlížeče sama o sobě nezaručí lepší pozice ve výsledcích vyhledávání; podporuje však SEO výkon, protože má vliv na rychlost stránky, zpoždění interakce a efektivitu načítání zdrojů. Zásadní rozdíl dělá zejména při opakovaných návštěvách, procházení kategorií, přechodech mezi stránkami produktů a pohybu v rámci blogu.
Ve standardech SEO pro rok 2026 není technický výkon jen o skóre v Lighthouse. Uživatelský zážitek, který Google vyhodnocuje, souvisí s metrikami LCP, INP, CLS, TTFB a reálnými uživatelskými daty. Zbytečné opětovné stahování CSS a JS souborů může prodloužit dobu LCP. Opakované požadavky na fonty na každé stránce mohou ovlivnit vizuální stabilitu. Nekešování velkých obrázků může u mobilních uživatelů vyvolat pocit pomalosti.
- Rychlejší opakované návštěvy: Uživatel nestahuje stejné soubory znovu.
- Nižší přenosová kapacita: Snižuje se provoz na serveru, hostingové zdroje se využívají efektivněji.
- Lepší efektivita procházení: Poskytování statických zdrojů je plynulejší jak pro roboty, tak pro uživatele.
- Nižší míra okamžitého opuštění: Rychle se načítající stránky zvyšují interakci uživatelů.
- Konzistentnější výkon: Výkyvy zátěže na CDN a hostingu se lépe vyrovnávají.
Základní HTTP hlavičky pro cache
Doba ukládání do mezipaměti prohlížeče se řídí HTTP hlavičkami odpovědi. Nejběžnější jsou Cache-Control, Expires, ETag a Last-Modified. V moderních projektech je hlavním kontrolním bodem hlavička Cache-Control; Expires se používá spíše pro zpětnou kompatibilitu.
Cache-Control
Cache-Control říká prohlížeči a zprostředkujícím cache systémům, jak se má soubor ukládat. Nejčastěji používané direktivy jsou:
- max-age: Udává, kolik sekund je zdroj považován za čerstvý. Například max-age=31536000 je přibližně 1 rok.
- public: Označuje, že zdroj může být uložen v prohlížeči i ve sdílených cache systémech, jako je CDN.
- private: Označuje, že zdroj by měl být uložen pouze v prohlížeči uživatele.
- no-cache: Znamená, že před použitím zdroje je nutné jej ověřit u serveru; neznamená to úplné vypnutí kešování.
- no-store: Znamená, že zdroj nesmí být nikde ukládán; vhodné pro platební brány, administraci a stránky s osobními údaji.
- immutable: Dává najevo, že se zdroj po dobu své platnosti nezmění; ideální pro soubory s verzovaným názvem.
Příklad hlavičky pro statický soubor může vypadat takto: Cache-Control: public, max-age=31536000, immutable. To prohlížeči říká, že soubor může uchovávat 1 rok a dokud se nezmění jeho název, není nutné jej znovu ověřovat.
Expires
Hlavička Expires určuje přesné datum a čas, do kdy je zdroj platný. Například pro obrázek lze nastavit hodnotu Expires 30 dní do budoucna. Protože však Expires používá absolutní datum, není tak flexibilní jako Cache-Control. V moderních konfiguracích má Cache-Control přednost; Expires lze přidat pro podporu starších prohlížečů.
ETag a Last-Modified
ETag a Last-Modified jsou validační mechanismy. Prohlížeč se může serveru zeptat, zda je jeho lokální verze souboru stále aktuální. Pokud se soubor nezměnil, server vrátí odpověď 304 Not Modified a tělo souboru se znovu nestahuje. Tato metoda je užitečná zejména pro obsah, který se může často měnit, jako je HTML, nebo pro soubory, u kterých nechcete nastavovat dlouhou dobu kešování.
Jakou dobu kešování použít pro jednotlivé typy souborů?
Nejčastější chybou je nastavení stejné doby pro všechny typy souborů. HTML, CSS, JS, obrázky, fonty a API odpovědi se však chovají při aktualizacích odlišně. Hlavní pravidlo je jednoduché: Pokud lze změnit název souboru, lze nastavit dlouhou dobu kešování; pokud se obsah souboru často mění beze změny názvu, měla by se použít krátká doba nebo validace.
| Typ zdroje | Doporučená doba | Doporučená hlavička | Poznámka |
|---|---|---|---|
| HTML stránky | 0-10 minut nebo validace | no-cache, max-age=0 | Pokud se obsah často mění, má aktuálnost přednost. |
| CSS a JS | 30 dní–1 rok | public, max-age=31536000, immutable | Název souboru by měl být verzován: např. style.v3.css. |
| Obrázky | 30 dní–1 rok | public, max-age=2592000 nebo 31536000 | Loga a ikony dlouhodobě; kampanové obrázky mohou být kratší. |
| Fonty | 6 měsíců–1 rok | public, max-age=31536000, immutable | Soubory WOFF2 se obvykle mění zřídka. |
| PDF a média | 7 dní–6 měsíců | public, max-age=604800 nebo 15552000 | U aktualizovaných katalogů je třeba dobu volit opatrně. |
| Admin a platební stránky | Žádná cache | no-store, private | Prioritou je bezpečnost a ochrana osobních údajů. |
Tato tabulka je obecným výchozím bodem. Na e-shopu by se HTML stránky obsahující informace o skladu a ceně neměly agresivně kešovat. Naopak obrázky produktů lze kešovat po dobu 1 roku, pokud se změní jejich název. Na firemním webu lze loga, fonty a soubory šablon ukládat dlouhodobě; pokud se ale často mění kampanové bannery, může být bezpečnějších 7–30 dní.
Jak naplánovat dobu ukládání do mezipaměti prohlížeče?
Pro úspěšnou strategii kešování si nejprve roztřiďte soubory na svém webu. Technicky je třeba napsat pravidla podle přípon souborů; strategicky je třeba určit dobu podle frekvence aktualizací.
1. Oddělte statické a dynamické zdroje
Soubory jako CSS, JS, JPG, PNG, WebP, SVG, WOFF2 jsou statické zdroje. HTML, košík, uživatelský panel, výsledky vyhledávání a API odpovědi se považují za dynamické. Statické zdroje lze kešovat dlouhodobě, zatímco dynamický obsah je třeba spravovat opatrněji. Zejména u obsahu specifického pro uživatele by se neměla používat veřejná (public) cache.
2. Používejte verzování souborů
Bezpečnou cestou k dlouhé době kešování je verzování souborů. Pokud například soubor style.css nakešujete na 1 rok a poté změníte jeho obsah, někteří uživatelé mohou i nadále vidět starý design. Místo toho použijte pojmenování jako style.2026.01.css, app.v12.js nebo app.8f3a2.js obsahující hash souboru. V okamžiku aktualizace se publikuje nový název souboru a prohlížeč stáhne nový zdroj.
WordPress šablony a moderní build nástroje to umí automaticky. Pokud vyvíjíte šablonu, použití parametru version ve funkcích wp_enqueue_style a wp_enqueue_script usnadňuje správu verzí pomocí query stringu nebo názvu souboru. Protože se však v některých konfiguracích CDN může chování cache u query stringů lišit, je přidání hashe do názvu souboru robustnější metodou.
3. U HTML nebuďte agresivní
HTML stránky, které nesou hlavní obsah viditelný pro uživatele, se obvykle spravují krátkodobou cache nebo validací. U blogových příspěvků může stačit cache 5–10 minut; u zpravodajských, kampanových nebo cenových stránek je potřeba kratší doba. Pokud ve WordPressu používáte cache stránek, měli byste hlavičku cache prohlížeče zvažovat společně s mechanismem serverové cache a CDN purge.
4. Na stránkách vyžadujících zabezpečení cache vypněte
Na přihlašovací stránce, v zákaznickém panelu, v kroku platby, v přehledu objednávky, na faktuře a stránkách s osobními údaji by měly být preferovány hlavičky jako Cache-Control: no-store, private. Mezipaměť prohlížeče slouží výkonu, ale neměla by ohrožovat bezpečnost osobních údajů. Použití SSL je v tomto bodě základním požadavkem. Hostragons SSL certifikaty
Nastavení mezipaměti prohlížeče v Apache přes .htaccess
Na serverech Apache se mezipaměť prohlížeče obvykle nastavuje pomocí souboru .htaccess. Pro mnoho majitelů webů na sdíleném hostingu je to nejpraktičtější metoda. Nejprve musí být aktivní moduly mod_expires a mod_headers. Ve většině kvalitních hostingových prostředí jsou tyto moduly k dispozici.
Můžete použít následující logiku: dlouhá doba pro obrázky a fonty, dlouhá doba pro CSS a JS, krátká validace pro HTML. V pravidlech, která přidáte do souboru .htaccess, se podle typů souborů definují ExpiresByType a Header set Cache-Control. Například pro soubory image/webp, image/jpeg, image/png, image/svg+xml lze použít 1 rok; pro text/css a application/javascript 1 rok; pro text/html no-cache.
Před aplikací si zazálohujte soubor .htaccess. Chybně napsané pravidlo může způsobit chybu 500 Internal Server Error. Po změně otevřete web v anonymním okně a poté na záložce Network v DevTools zkontrolujte sekci response headers příslušného souboru. Pokud se Cache-Control nezobrazuje, může být modul serveru vypnutý, CDN může hlavičku měnit nebo ji může přepisovat jiný plugin.
Příklad dob na straně Apache: pro CSS a JS max-age=31536000, pro obrázky max-age=31536000, pro PDF max-age=2592000, pro HTML max-age=0 a no-cache. Tyto hodnoty jsou dobré pro začátek; měly by být revidovány podle publikačního plánu vašeho webu. Při používání nastavení výkonu přes .htaccess na infrastruktuře Hostragons se doporučuje zkontrolovat, zda nedochází ke konfliktům s nastavením cache šablony a pluginů. Apache .htaccess nastaveni vykonu
Nastavení Browser Caching v Nginx
Na serverech používajících Nginx se cache hlavičky definují uvnitř bloků server nebo location. Nginx je preferován zejména u projektů s vysokým provozem kvůli vysoce výkonnému poskytování statických souborů. Základní logikou je zde určit hodnoty expires a add_header Cache-Control pomocí location pravidel podle přípony.
Příklad přístupu: statickým zdrojům jako CSS, JS, WebP, JPG, PNG, SVG, WOFF2 se přiřadí expires 1y a Cache-Control public, immutable. Pro HTML výstupy se preferuje expires off nebo no-cache. Pokud používáte CDN, měli byste také otestovat, jak CDN interpretuje Cache-Control hlavičky přicházející z origin serveru.
V nastavení Nginx je třeba dát pozor na to, že direktiva add_header se v některých případech aplikuje pouze na určité kódy odpovědí. V moderních konfiguracích Nginx lze použít parametr always. Pokud navíc stejnou hlavičku přidává aplikace, Nginx i CDN, mohou vznikat konfliktní nebo duplicitní hodnoty Cache-Control. V takovém případě je třeba vyjasnit řetězec priorit a určit jeden zdroj jako autoritativní.
Kešování na LiteSpeed a WordPress webech

Servery LiteSpeed nabízejí silnou výkonnostní výhodu, zejména u WordPress projektů s pluginem LiteSpeed Cache. Je však třeba oddělit mezipaměť prohlížeče od cache stránek. Když je v pluginu LiteSpeed Cache aktivována možnost Browser Cache, mohou se cache hlavičky pro statické soubory aplikovat automaticky. Přesto je důležité doby zkontrolovat.
Doporučeným postupem ve WordPressu je kešovat statické assety dlouhodobě a udržovat aktivní verzování souborů. Při aktualizaci šablony, změně CSS nebo JS byste měli vyčistit cache pluginu a pokud používáte CDN, provést CDN purge. V opačném případě se někteří uživatelé mohou setkat se starým designem nebo nefunkčním JavaScriptem.
Populární cache pluginy nabízejí možnosti jako Browser Cache, Minify, Combine, Critical CSS, CDN integrace a Object Cache. Není vždy správné je všechny najednou agresivně zapnout. Nejprve upravte hlavičky mezipaměti prohlížeče, poté otestujte nastavení minifikace a kombinování. V roce 2026, kdy jsou HTTP/2 a HTTP/3 běžné, není kombinování každého souboru tak kritické jako v minulosti; v některých případech může dokonce snížit efektivitu kešování.
Pokud je váš WordPress web pomalý, nemusí být problém pouze v browser cache. Výkon ovlivňuje také přeplněná databáze, těžká šablona, příliš mnoho pluginů, neoptimalizované obrázky a hosting s nízkými zdroji. Proto nastavení kešování vyhodnocujte společně s kvalitním hostingem, aktuální verzí PHP a správnou konfigurací SSL. Hostragons WordPress hosting
Jak nastavit dobu kešování při použití CDN?
CDN doručuje vaše statické soubory z geograficky blízkých edge serverů. Browser cache ukládá soubor v prohlížeči uživatele. Když tyto dvě vrstvy spolupracují, je nárůst výkonu výraznější. Doba edge cache nastavená v panelu CDN by však měla být v souladu s Cache-Control hlavičkami na origin serveru.
Obecný přístup může být následující: Na origin serveru nastavte pro statické soubory Cache-Control na 1 rok, na CDN definujte stejnou nebo kontrolovanou TTL. Při změnách souborů verzujte název souboru nebo proveďte CDN purge. Pokud pro HTML stránky používáte CDN cache, vytvořte speciální pravidla; oblasti jako košík, účet, platba a administrační panel z kešování rozhodně vynechte.
Častým problémem na webech s CDN je zobrazování starých souborů po aktualizaci. Důvodem je obvykle změna obsahu beze změny názvu souboru nebo neprovedení CDN purge. Nejspolehlivější metodou je generování souborů s hashem během build procesu a volání nového názvu souboru v HTML. Tímto způsobem, i když si prohlížeč i CDN ponechají starý soubor, nová stránka si vyžádá nový soubor.
Kontrolní seznam pro implementaci krok za krokem
Následující kontrolní seznam nabízí praktický plán implementace pro doby ukládání do mezipaměti prohlížeče. Na malém firemním webu jej lze aplikovat během 30–60 minut; u e-shopů nebo projektů na míru by doba testování měla být delší.
- 1. Vytvořte inventář souborů: Oddělte CSS, JS, obrázky, fonty, PDF, HTML a API odpovědi.
- 2. Určete frekvenci aktualizací: Poznamenejte si, které soubory se mění denně a které jednou za měsíc.
- 3. Zvolte strategii verzování: Použijte hash v názvu souboru, parametr verze nebo číslo buildu.
- 4. Přidejte pravidla serveru: Definujte Cache-Control hlavičky v panelu Apache, Nginx, LiteSpeed nebo CDN.
- 5. Vynechte zabezpečené stránky: Pro admin, platbu, košík, uživatelský panel a stránky s osobními údaji použijte no-store.
- 6. Testujte: Ověřte pomocí Chrome DevTools, curl -I, WebPageTest, Lighthouse a testů na reálných zařízeních.
- 7. Po publikaci monitorujte: Zkontrolujte, zda se nevyskytují chybné staré soubory, rozbitý design nebo chyby JS.
Jak otestovat mezipaměť prohlížeče?
Nejrychlejším způsobem, jak zjistit, zda nastavení funguje, je použít vývojářské nástroje prohlížeče. V Chrome otevřete stránku, přejděte na záložku Network v DevTools, klikněte na CSS soubor nebo obrázek a v sekci Response Headers zkontrolujte hodnotu Cache-Control. Při druhém načtení můžete ve sloupci Status vidět výrazy memory cache nebo disk cache.
Pokud používáte příkazový řádek, příkaz curl -I vasweb.cz/soubor.css zobrazí hlavičky odpovědi. Zde můžete zkontrolovat hodnoty Cache-Control, Expires, ETag a Last-Modified. Pokud očekávaná hlavička chybí, mohla nastavení změnit jedna z vrstev – aplikace, webový server nebo CDN.
Pro testování výkonu lze použít Lighthouse, PageSpeed Insights a WebPageTest. Místo slepého následování doporučení těchto nástrojů však vyhodnocujte výsledky podle scénáře reálného uživatele. Například Lighthouse doporučuje dlouhou dobu kešování pro statické soubory, ale neočekává stejnou agresivitu u HTML stránek. Testovací nástroje navíc někdy varují i u skriptů třetích stran; u Google Fonts, reklamních sítí nebo skriptů sociálních médií nemusíte být schopni dobu kešování ovlivnit.
Časté chyby
Přestože se mezipaměť prohlížeče zdá jednoduchá, při špatné konfiguraci může způsobit problémy s aktualizacemi, bezpečnostní rizika a potíže s uživatelským zážitkem. Následující chyby jsou obzvláště časté u začátečníků.
- Nastavení 1 roku cache pro všechny zdroje: HTML, API odpovědi a obsah specifický pro uživatele by do toho neměly spadat.
- Použití dlouhé cache bez verzování souborů: Uživatelé mohou i nadále vidět staré CSS nebo JS soubory.
- Zapomenutí na proces CDN purge: I když je origin aktualizován, CDN může stále poskytovat starý soubor.
- Používání více cache pluginů najednou: Více pluginů může zapisovat stejné hlavičky a vytvářet konflikty.
- Špatná interpretace varování třetích stran: Cache hlavičky externích skriptů nemusíte být schopni ovlivnit.
- Kešování zabezpečených stránek: Na platebních a uživatelských stránkách by se mělo používat no-store.
Doporučené výchozí hodnoty
Bezpečné výchozí hodnoty pro nový web lze shrnout takto: CSS a JS soubory, pokud jsou verzovány, 1 rok; obrázky 1 rok, často měněné kampanové obrázky 30 dní; fonty 1 rok; PDF soubory 7–180 dní podle frekvence aktualizací; HTML stránky no-cache nebo krátká doba několika minut. Tento přístup zachovává rovnováhu mezi výkonem a aktuálností.
Pokud je váš web firemní prezentací, dlouhé doby kešování jsou obvykle bezproblémové. Pokud je to e-shop, můžete statickým souborům na stránce produktu dát dlouhou cache, ale cenu, sklad, košík a uživatelská data musíte z kešování vynechat. Pokud je to zpravodajský nebo blogový web, můžete obrázky a soubory šablon ukládat dlouhodobě a HTML výstup kešovat krátce podle frekvence publikování. Vaše doména, SSL a hostingová infrastruktura jsou také součástí výkonnostního řetězce. Hostragons domena Hostragons firemni hosting
Závěr
Doby ukládání do mezipaměti prohlížeče, pokud jsou správně naplánovány, výrazně zvyšují výkon vašeho webu při opakovaných návštěvách. Základním pravidlem je aplikovat dlouhou dobu na verzované statické soubory a krátkou dobu nebo no-store na HTML a stránky obsahující osobní údaje. V prostředích Apache, Nginx, LiteSpeed, WordPress a CDN platí stejná logika: poznejte typ zdroje, určete frekvenci aktualizací, otestujte Cache-Control hlavičky a po publikaci pokračujte v monitorování.
Stručně řečeno, browser caching je nízkonákladová, ale vysoce účinná optimalizace rychlosti. Pokud provozujete svůj web na infrastruktuře Hostragons, můžete výběrem nastavení cache vhodného pro váš typ hostingu posílit jak uživatelský zážitek, tak technický SEO výkon. Chcete-li zvážit nejvhodnější hostingové řešení pro vaše potřeby, můžete si prohlédnout možnosti hostingu Hostragons nebo krok za krokem zkontrolovat konfiguraci kešování na svém stávajícím webu. Hostragons hostingove balicky
Často kladené otázky
Jaká by měla být doba ukládání do mezipaměti prohlížeče?
Pro verzované statické soubory, jako jsou CSS, JS, obrázky a fonty, je ideální 30 dní až 1 rok. U HTML stránek, kde je důležitá aktuálnost obsahu, by se mělo preferovat no-cache, max-age=0 nebo krátká doba několika minut.
Jaký je rozdíl mezi Cache-Control a Expires?
Cache-Control je moderní a flexibilnější HTTP hlavička; používá pravidla založená na sekundách, jako je max-age. Expires naproti tomu udává konkrétní hodnotu data a času. V současných projektech by se měla přednostně používat Cache-Control a Expires přidávat pro zpětnou kompatibilitu.
Jak zapnout browser caching ve WordPressu?
V pluginech jako LiteSpeed Cache, WP Rocket, W3 Total Cache lze aktivovat možnost Browser Cache. Kromě toho lze přidat Cache-Control hlavičky podle typu souboru pomocí .htaccess nebo konfigurace serveru.
Když nastavím dlouhou dobu kešování, neuvidí návštěvníci aktualizace webu?
Pokud aktualizujete stejný CSS nebo JS soubor beze změny jeho názvu, někteří uživatelé mohou vidět starý soubor. Abyste tomu zabránili, měli byste používat verzování souborů, názvy souborů s hashem a proces CDN purge.
Měly by se platební stránky a uživatelský panel kešovat?
Ne. Na stránkách obsahujících osobní údaje, jako je platba, košík, účet, faktura a administrační panel, by se měly používat bezpečné hlavičky jako Cache-Control: no-store, private. Kvůli výkonu by se nemělo ustupovat ze zabezpečení.