WordPress návody

Jak na WordPress cache s WP Super Cache

superhero
Autor příspěvku Tomáš Cirkl

Nastavením WordPress cache získáte výrazné zlepšení výkonu vaší stránky. WordPress samostatně cache neobsahuje a budete tedy potřebovat plugin. Určitě vybírejte mezi W3 Total Cache nebo WP Super Cache. V tomto návodu budeme dále pokračovat s pluginem WP Super Cache.

Angl. cache [keš] znamená dočasně uložená pomocná data.

Po instalaci pluginu pokračujte do Nastavení -> WP Super Cache, kde se nachází nastavení pluginu.

WP Super Cache

WP Super Cache

Na vstupní stránce najdete základní nastavení pluginu a seznam záložek:

  • Easy – vstupní stránka, základní nastavení
  • Advanced – detailnější nastavení
  • CDN – nastavení Content Delivery Network
  • Contents – statistiky cachovaných stránek
  • Preload – umožňuje automatické vytvoření cache pro celý web
  • Plugins – nastavení doplňkových PHP skriptů
  • Debug – nastavení zobrazení chyb

 Záložka Easy

Najdete zde tři možnosti nastavení:

  1. Aktivace / deaktivace cachování.
  2. Tlačítko pro test cache.
  3. Smazání cache.

 

WP Super Cache - Easy

WP Super Cache – Easy

Pokud chcete tak můžete pouze nastavit Caching On a kliknout na tlačítko Update Status. Od této chvíle budete mít nastavené cache, nicméně doporučuji raději pokračovat do záložky Advanced, kde se dá cachování lépe přizpůsobit vaším potřebám.

Záložka Advanced

Najdete zde nastavení rozdělené do tří hlavních skupin Caching, Miscellaneous a Advanced. Dále zde můžete nastavit expiraci cache a výjimky.

Caching

  • Povolit cache (Enable Caching) – pokud chcete, aby cache fungovalo, mějte zaškrtnuté

Cache Delivery Method (Metoda doručování cache)

  • Jednoduchá (Simple) – použijte
  • Expert – je třeba vlastních úprav na serveru

Miscellaneous (Různé)

  • Nepoužívat cache pro známé uživatele (Don’t cache pages for known users.) – známými uživateli se myslí ti uživatelé, kteří vložili komentář přes WordPress komentáře, jsou přihlášení nebo mají v prohlížeči cookie autora. Doporučuji aktivovat.
  • Necachovat stránku s parametrem GET (Don’t cache pages with GET parameters. (?x=y at the end of a url)) – jedná se například o výsledky vyhledávání.
  • Komprimovat stránky a tím zrychlit jejich načítání (Compress pages so they’re served more quickly to visitors.) – jedná se o malé zrychlení načítání stránek. Nechte deaktivované, může způsobovat problémy.
  • Kešovat HTTP hlavičky s obsahem stránky (Cache HTTP headers with page content) – vynutí používání starší verze wp-cache. Tento způsob je pomalejší.
  • Obnovení cache. Poslání supercache souboru anonymním uživatelům, zatímco je vytvářen nový soubor. (Cache rebuild. Serve a supercache file to anonymous users while a new file is being generated.) – jedná se o zaslání starší supercache souborů. Funkce spočívá v tom, že pokud 10 návštěvníků vstoupí na stejnou stránku ve stejnou dobu. Pro prvního návštěvníka se začne generovat cache a ostatním 9 je poslán starší cache soubor. Toto se může stát pouze v případě, že starší soubor není starý více než 30 sekund. Pokud nemáte tuto možnost aktivovanou stane se, že se začne vytvářet 10 stejných cache souborů. Doporučuji aktivovat. poskytuje velké vylepšení výkonu stránek.
  • Chyba 304 indikuje, že od posledního požadavku se zdrojový dokument nezměnil. (304 Not Modified browser caching. Indicate when a page has not been modified since last requested.) – umožňuje říci prohlížeči, zda se obsah na dané stránce změnil. Pokud se obsah nezměnil využije prohlížeč své cache. Nechte deaktivované, může způsobovat problémy.
  • Udělat ze známých uživatelů uživatele anonymní tak, aby jim mohli být poslání supercachované soubory (Make known users anonymous so they’re served supercached static files.) – když někdo přidá na vašem blogu komentář, stane se známým uživatelem a bude mu zaslány necachované soubory. Pokud je tato možnost aktivní dostane uživatel také supercache soubory. Nevýhoda je v tom, že může dojít k duplicitním komentářům, kdy se autor bude domnívat, že nedošlo k odeslání komentáře.
  • Vloží do patičky zprávu s odkazem na autora (Proudly tell the world your server is Stephen Fry proof! (places a message in your blog’s footer)).

Advanced (pokročilé)

  • Povolit dynamické cachování (Enable dynamic caching.) – umožňuje, že jsou některé části stránky vytvářeny dynamicky.
  • Podpora mobilních zařízení (Mobile device support.) – umožňuje použít cache pro mobilní zařízení. Nicméně potřebujete externí plugin, doporučuji zkusit WP Touch.
  • Odstranit UTF8/blog znakovou sadu z .httaccess (Remove UTF8/blog charset support from .htaccess file.) – v některých případech může dojít k zobrazování nahodilých znaků v cachovaných souborech. Aktivováním této možnost by mělo dojít k odstranění problému.
  • Odstranit všechny cache, když je přidán nebo aktualizován příspěvek nebo stránka (Clear all cache files when a post or page is published or updated.)
  • Extra kontrolovat hlavní stránku (Extra homepage checks.) – nejnavštěvovanější stránka na webu je obvykle hlavní strana. Pokud chcete, aby byl návštěvníkům vždy poskytován nejnovější obsah, aktivujte tuto možnost.
  • Pouze obnovit, když je přidán nový komentář (Only refresh current page when comments made.) – zajišťuje, že není daná stránka neustále cachována (i pokud nebyla aktualizována). K aktualizaci cache dojde pouze pokud je přidán komentář. Zároveň nedojde k promazání cachových souborů pro štítky a rubriky.
  • Zobrazit seznam nejnověji cachovaných stránek (List the newest cached pages on this page.) – na stránce Advanced v nastavení pluginu zobrazí seznam cachovaných stránek.
  • Hrubé uzamčení souboru (Coarse file locking.) – zamezuje duplicitním názvům cache souborů.
  • Pozdní inicializace (Late init.) – při prohlížení stránky běžně dochází k inicializaci WP Super Cache brzy. Dokonce dříve, než je celé WordPress API inicializováno. V některých případech můžete potřebovat, aby k inicializaci došlo až po plném načtení. Tato možnost zpozdí inicializaci WP Super Cache až do doby, kdy je zavolán “init” hook.
  • Tajný klíč pro zobrazení necachovaných stránek (Do not cache page secret key) – zajišťuje, že můžete vidět přímo všechny stránky bez cache. Jedná se o debugovací nástroj.

Expiry Time & Garbage Collection (Expirační čas a koš)

Nastavení expirační doby cache je jednoduché a není zde co vysvětlovat. Obvykle se doporučuje nenechávat cache starší než jeden den. Také zde můžete nastavit údržbu, kdy dojde ke kontrolo všech cache a ty s prošlým expiračním časem jsou smazány. Vhodná doba na mazání cache je při nejmenší návštěvnosti webu, tedy obvykle v noci.

Accepted Filenames & Rejected URIs

Zde můžete určit, které typy stránek nemusí být cachovány. Doporučuje se nic neoznačovat.

Rejected User Agents (Odmítnutí user-agenta)

Prohlížeče a roboti se identifikují jako user-agents. Zde můžete nastavit, kterým agentům budou poskytovány cachovaná data, a kterým ne. Opět bych zde nic nedělal, robotům by měl být poskytován obsah stejný jako běžným uživatelům.

Lock Down (Uzavření)

Používá se při velké zátěži serveru. Lock down se snaží udržet stránky cachované jak dlouho to jen jde a během lockdownu nedochází k expiraci cache nebo obnovení obsahu.

Fix Configuration (Obnovení nastavení)

Vrátí výchozí nastavení pluginu.

Záložka CDN

Využijete pouze, pokud používáte CDN.

  • Povolit podporu CDN (Enable CDN Support).
  • Náhradní URL (Off-site URL).
  • Zahrnuté adresáře (Include directories) – adresáře, jejichž URL bude přesměrována.
  • Vyloučené adresáře (Exclude if substring) – adresáře, jejichž URL nebude přesměrována.
  • Dodatečné CNAMES (Additional CNAMES) – pokud stránky mají velké množství HTTP dotazů. tak zde můžete přidat další CNAMES.
  • Vynechat https URL a předcházet chybě “mixed content” (Skip https URLs to avoid “mixed content” errors) – kontrola, že obsah běžně dostupný na HTTPS není dostupný na HTTP. Doporučuji neaktivovat.

Záložka Contents (Obsah)

Kontrolní záložka s informacemi o cachovaných souborech.

  • Cachované stránky (Cached Pages) – stránky, u kterých nedošlo ještě k expiraci.
  • Expirované stránky (Expired Pages) – stránky, u kterých došlo k expiraci.

Najdete zde dvě tlačítka:

  • Smazat expirované (Delete Expired) – smaže expirované cache.
  • Smazat cache (Delete Cache) – smaže všechny cache.

Záložka Preload (Přednačtení)

Zde můžete vygenerovat cache soubory pro všechny stránky předtím, než je navštíví nějací uživatelé. Můžete tuto funkci využít při první aktivaci pluginu, ale i tak mi přijde zbytečná. Také je zde možnost nastavení časového intervalu pro obnovení přednačtení cache (0 znamená deaktivováno).

Pokud máte slabší hosting pak neprovádějte přednačtení cache pro všechny příspěvky. Kromě příspěvků můžete přenačíst také pouze štítky, rubriky a další taxonomie.

Záložky Plugins a Debug

Jedná se o záložky, které jsou určeny pro pokročilé uživatele.

Plugins

Plugin WP Super Cache má integrované vlastní pluginy a zde je můžete spravovat. Jedná se o propojení s dalšími více či méně známými pluginy a pro aktivaci je musíte mít nainstalované.

Debug

Zde můžete aktivovat debugovací mód. Jedná se o pomůcku při odstraňování chyb nebo vývoji.

Vzorové nastavení WP Super Cache

Vzorové nastavení WP Super Cache

Vzorové nastavení WP Super Cache

Jedná se pouze o ukázku nastavení. Je možné, že se vaše nastavení bude lišit.

Plugin WP Super Cache je jedním, že tří velmi důležitých pluginů pro optimalizaci rychlosti načítání stránky. Zbývající dva jsou AutoptimizeWP Performance Score Booster.

O autorovi

Tomáš Cirkl

Baví mě Internet a zvláště pak redakční systém WordPress. Jsem pravidelným účastníkem a přednášejícím na WordCamp Praha a WordPress konferencích.

20 komentářů

  • Čau,
    díky za článek, právě cache jsem nějak řešil. Můžeš napsat co všechno aktivovat/neaktivovat tak aby to fungovalo a nedělalo problémy? Třeba formou screenu záložky Advanced.

    Dík moc.

  • Nazdar, díky za super článek s nastavením WP Super Cache. Jen nyní řeším to, že jsem dal dp pravého sloupce kalendář a při zapnutém WP Super Cache se mi nemění v kalendáři aktivní den. Mám tam pořád včerejší datum ? Nevíš jak toto opravit ? Nastavené to mám jak máš ty na screenu. Díky Pavel

  • Ahoj, díky za odpověď. Aktivoval jsem Enable dynamic caching, ale žádná změna – pořád tam mám včerejší datum. Nevím jestli ještě nepromazat cache a tím se určitě nastaví dnešní datum, tak to by jsem až zítra zjistil jestli to bude s tímto nastavením fungovat. Nebo když jsem aktivoval dynamic caching, tak se měla změna měla hned projevit ? A ještě jak jsi mi doporučil plugin wp widget cache to bych měl plugin WP Super Cache odebrat a používat jen wp widget cache ? Díky Pavel

    • Určitě bych cache promazal, případně by to šlo udělat tak, že bys nastavil promazání cache vždy na půlnoc. Ano ten plugin je alternativa.

  • Dobrý deň, chcem opýtať neviete kde je problem ak mi necachcuje obrázky, css a ostatne scripty?

  • Dobrý den, nastavila jsem plugin dle Vašeho článku. Chci si být ale jistá, zda je takto vše v pořádku a stránky nám fungují a rychleji se načítají, dalo by se využít Vašich služeb, aby nám na stránky někdo kouknul? Děkuju, Barbora

  • Díky za skvělý článek, nastavení tohoto pluginu je opravdu nejasné, všem ho ale doporučuji nainstalovat a dát tomu ten čas, protože to za to stojí. Web se mi zrychlil takovým způsobem, že jsem to ani nečekal. 🙂

  • Dobrý den, je návod a vzorové nastavení stále aktuální? A dá se použít i na woocommerce e-shop?

    Děkuji, Jirka.

    • Dobrý den,
      v základě ano. Jinak článek tedy brzy upravím, aby to bylo shodné s aktuální verzí.

          • Tak jsem skončil dříve než jsem začal 🙂 Chybová hláška o oprávnění složky WP-CONTENT a ač nastavím oprávnění tak jak plugin vyžaduje, stejně to pořád hlásí chybu. Zřejmě je to v kolizi s bezpečnostním pluginem iThemes Security?!

            Kdybyste měl zájem a byl tak hodný, rád bych vás poprosil o nastavení pluginu na mém webu. Samozřejmě za úplatu. Jelikož je to funkční eshop nechci se hrabat v kódu a udělat více škody, než užitku. Pokud budete mít zájem, ozvěte se mi do mailu. Děkuji moc, Majer.

  • Dobrý den,

    mockrát děkuji za pěkné články obecně. Mám nově otevřený e-shop přes Woocommerce a snažím se zrychlit jeho načítání. Nejprve jsem nainstalovala pár pluginů na doporučení šablony. Např. Autoptimize, ale ten způsoboval, že zboží vložené do košíku z něj mizlo. Potom jsem zkusila W3 Cache. Ten stránky dost zrychlil, ale zárověň bez Autoptimize způsoboval, že slidy na úvodní straně se vůbec nezobrazovaly. Teď jsem zkusila WP super cache. A test mi napsal toto:

    Page 1: 200 (OK)
    Page 2: 200 (OK)
    The pages do not match! Timestamps differ or were not found!

    Things you can do:

    Load your homepage in a logged out browser, check the timestamp at the end of the html source. Load the page again and compare the timestamp. Caching is working if the timestamps match.
    Enable logging on the Debug page here. That should help you track down the problem.
    You should check Page 1 and Page 2 above for errors. Your local server configuration may not allow your website to access itself.
    Test Cache

    Nevěděl byste si s tím prosím Vás rady?

    Předem mockrát děkuji za jakoukoliv radu.

    Fajmonová Zuzana

    • Zdravím,
      důvodů může být několik. Nejčastěji za to může nekompatibilně nastavené minifikace nebo jiné nastavení pluginu nebo v hostingu. Bohužel nemůžu takto říci přímo jak problém vyřešit. Musel bych se na to podívat.

  • Zdravím, plugin wp super cache mi dělá to, že po jeho zapnutí přestane kompletně fungovat šablona.

Zanechat komentář

Školení Divi šablona pro začátečníky a mírně pokročilé (Praha 20.6.2018)

Získejte více informací o WordPress!

Připojte se do našeho emailového seznamu a nenechte si ujít informace, novinky a návody ze světa WordPressu.

Úspěšně jste se zapsali do našeho newsletteru. Děkujeme!

Tomáš Cirkl

Tomáš Cirkl

WordPress specialista

Blog WPlama.cz píši už více než 3 roky. O WordPress přednáším a pořádám školení. Pro své klienty vytvářím a spravuji webové stránky.