Cache: proč web po změně ukazuje starou verzi
Cache (česky mezipaměť) je uložená kopie, kterou má prohlížeč, server nebo CDN po ruce, aby nemusely totéž stahovat nebo skládat znovu. Díky ní se web načítá rychleji. Kvůli ní ale po úpravě občas uvidíte starou verzi – a obvykle stačí vědět, ve které vrstvě kopie uvízla.
Aktualizováno
Tři místa, kde se web ukládá
Mezi vaším webem a obrazovkou návštěvníka bývá několik vrstev, které si dělají kopie. Každá se chová trochu jinak:
| Vrstva | Co ukládá | Kdo ji maže |
|---|---|---|
| Prohlížeč | Obrázky, styly, skripty, písma, někdy i celé stránky | Návštěvník, nebo sama po uplynutí doby, kterou web určí |
| Server | Hotově složené stránky a výsledky dotazů do databáze | Redakční systém po uložení změny, nebo správce webu |
| CDN | Kopie souborů a stránek na okrajových serverech | Automaticky po vypršení, nebo ručním pokynem k vyčištění |
Serverová mezipaměť je typická pro redakční systémy, které stránku jinak skládají z databáze při každé návštěvě. Ukládání na okrajových serverech popisuje heslo CDN.
Jak prohlížeč pozná, co si smí nechat
Server posílá s každým souborem hlavičky, které prohlížeči říkají, co s ním. Nejdůležitější je Cache-Control: určuje, jak dlouho smí prohlížeč kopii použít bez ptaní, a jestli si ji vůbec smí uložit. Druhá skupina hlaviček (například ETag nebo datum poslední změny) slouží k rychlému ověření, jestli se soubor mezitím nezměnil. Server pak místo celého souboru odpoví jen „beze změny“.
Dobře nastavený web to dělá zhruba takhle:
- HTML stránky si prohlížeč pokaždé ověří, takže nový text uvidí návštěvník hned.
- Styly, skripty a obrázky si uloží na dlouho. Při změně dostanou nový název souboru (třeba s otiskem obsahu), takže se stará kopie prostě přestane používat.
Proč po úpravě vidíte starou verzi
- Prohlížeč použil uloženou kopii – nejčastější a nejneškodnější případ, týká se jen vašeho zařízení.
- Serverová cache se nevyčistila – redakční systém nebo plugin pro ukládání stránek drží starou verzi pro všechny.
- CDN doručuje starou kopii – změna je na serveru, ale okrajové servery o ní ještě neví.
- Změna se vůbec neuložila nebo se nenasadila nová verze webu. Než budete mazat mezipaměti, ověřte, že úprava opravdu proběhla.
Pokud web nenaběhne vůbec nebo hlásí chybu, nejde o cache. Postup pro takové situace je v článku Web nefunguje.
Jak cache správně obnovit
- Tvrdé obnovení stránky – ve Windows a Linuxu Ctrl + Shift + R (nebo Ctrl + F5), na Macu Cmd + Shift + R. Prohlížeč stáhne stránku znovu.
- Anonymní okno – rychlý test, jak web vidí nový návštěvník bez uložených kopií.
- Vymazání dat prohlížeče – v nastavení stačí obrázky a soubory v mezipaměti, cookies nechte být.
- Vyčištění na serveru nebo v CDN – v administraci pluginu nebo ve správě CDN. Smažte ideálně jen změněné adresy, ne všechno najednou – po hromadném smazání se první návštěvy načítají pomaleji.
Cache a rychlost webu
Mezipaměť je jeden z nejlevnějších způsobů, jak web zrychlit: opakovaná návštěva nemusí znovu stahovat to, co už prohlížeč má. Když nástroj pro měření hlásí krátkou dobu uložení statických souborů, je to přesně tohle nastavení. Další brzdy a jejich opravy shrnuje průvodce rychlost webu.
V tarifu Light (od 1 000 Kč měsíčně) nám úpravy obsahu zadáte ticketem a provedeme je my – včetně kontroly, že se nová verze opravdu ukazuje. Pět takových úprav měsíčně je v ceně tarifu.
Časté otázky
Smaže vymazání cache moje hesla?
Samotné vymazání obrázků a souborů v mezipaměti hesla ani přihlášení neruší. V nastavení prohlížeče se ale stejným dialogem dají smazat i cookies a uložená hesla – před potvrzením si zkontrolujte, co je zaškrtnuté.
Proč vidím na mobilu jinou verzi než na počítači?
Každé zařízení má vlastní mezipaměť a každé se mohlo ptát jiného okrajového serveru CDN. Mobil navíc často drží web otevřený v kartě celé dny. Zavřete kartu, web otevřete znovu a případně vyzkoušejte anonymní okno.
Musí zákazníci po každé úpravě mazat cache?
Neměli by. Když je web dobře nastavený, prohlížeč si u stránek ověří novou verzi sám a soubory se změněným obsahem dostanou nový název. Pokud zákazníci starou verzi vidí dlouho, je chyba v nastavení webu, ne u nich.
Ovlivňuje cache SEO?
Nepřímo. Rychlejší načítání pomáhá uživatelům i metrikám Core Web Vitals. Vyhledávač si ale stránku stahuje sám, takže vaše prohlížečová mezipaměť na to, co vidí Google, vliv nemá.