Jak povolit ukládání do mezipaměti prohlížeče, recept na htaccess. Povolit mezipaměť prohlížeče pro Google PageSpeed

Ahoj všichni! Dnes vám chci říct, jak ukládat externí prvky do mezipaměti v Google PageSpeed ​​​​Insights, abyste zvýšili rychlost vašeho webu. Smyslem bude stažení js a dalších souborů ke stažení z externích zdrojů na váš web.

Jak povolit ukládání souborů do mezipaměti v prohlížeči

Než budu psát o tom, jak povolit ukládání souborů do mezipaměti pro váš web v prohlížeči na straně uživatele, chci vysvětlit, co je mezipaměť.

Cache- ukládání prohlížených souborů do počítače, což zase zvyšuje rychlost načítání stránky nebo webu při jejich opětovném prohlížení. Cache má svou vlastní trvanlivost, po jejímž uplynutí se aktualizuje nebo smaže.

Přišli jsme na to, co je to cache. Nyní se podívejme na náš web ve službě PageSpeed ​​​​a ujistěte se, že Google doporučuje používat mezipaměť prohlížeče. Zde je úryvek ze zprávy.

Zadáním data nebo data vypršení platnosti pro statické zdroje v hlavičkách HTTP prohlížeč načte dříve načtené zdroje z místního disku, nikoli z internetu.

Pokud jsou tyto soubory umístěny ve vašem prostředku, můžete do souboru zapsat kód mezipaměti prohlížeče htaccess, který se nachází v kořenovém adresáři webu. Zde je samotný kód, kdyby ho někdo potřeboval.

# komprese textu, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript# mezipaměť prohlížeče ExpiresActive On #výchozí mezipaměť je 5 sekund ExpiresDefault "přístup plus 1 dny" # Povolit ukládání obrázků do mezipaměti a flash na měsíc ExpiresByType image/x-icon "přístup plus 1 měsíc" ExpiresByType image/jpeg "přístup plus 4 týdny" ExpiresByType image/png "access plus 30 days" ExpiresByType image/gif "access plus 43829 minutes" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" # Povolit ukládání souborů css, javascript a text do mezipaměti na jeden týden ExpiresByType text/cssByTypeaccess 604800 sekund" ExpiresByType text/javascript "přístup plus 604800 sekund" ExpiresByType application/javascript "přístup plus 604800 sekund" ExpiresByType application/x-javascript "přístup plus 604800 sekund" text/html Povolení ByTytpe souborů do mezipaměti/html "přístup plus 43200 sekund" # Povolit ukládání xml souborů do mezipaměti po dobu deseti minut ExpiresByType application/xhtml+xml "přístup plus 600 sekund" # Nestandardní fonty stránek ExpiresByType application/x-font-ttf "přístup plus 1 měsíc" ExpiresByType font/ opentype "přístup plus 1 měsíc" ExpiresByType application/x-font-woff "přístup plus 1 měsíc" ExpiresByType image/svg+xml "přístup plus 1 měsíc" ExpiresByType application/vnd.ms-fontobject "přístup plus 1 měsíc"

Vložením tohoto kódu do souboru htacces můžete svůj web znovu zkontrolovat ve službě Google PageSpeed ​​​​
Postřehy. Pokud v sekci " použít mezipaměť prohlížeče„Všechno je v pořádku, to znamená, že to tam budeš mít
pouze odkazy na externí zdroje, jako je analytika, sociální sítě
tlačítka a tak dále.
Osobně paralelně s tímto kódem využívám možnosti svého hostingu ke kešování souborů na uživatelské straně. Vypadá to takhle.

Jak vidíte, můj hosting vám umožňuje povolit ukládání do mezipaměti na straně prohlížeče a nastavit úroveň komprese a dobu ukládání souborů. Také používám plugin wp super cache pro rychlé načítání stránek, ale možná o tom svým čtenářům nějak řeknu, přihlášen k odběru aktualizací blogu.

Jak povolit externí mezipaměť souborů v Google PageSpeed ​​​​Insights

Pokud jste postupovali podle doporučení pro ukládání souborů do mezipaměti na vašem blogu. V nástroji Google PageSpeed ​​​​Insights byste měli vidět pouze odkazy na externí zdroje. Musíte mít něco podobného.
Jak můžete vidět na snímku obrazovky, Google PageSpeed ​​​​Insights nadává na externí zdroje, jako jsou metriky Yandex, google analytics a další. Nyní vám řeknu, jak tuto chybu opravit a vytvořit odkazy na externí zdroje interní a uložené v mezipaměti na straně vašeho serveru.

Použití mezipaměti prohlížeče pro externí zdroje

Protože externí zdrojové soubory nepatří k našemu webu, je nutné je nejprve stáhnout. Abychom mohli stahovat externí soubory ze zdrojů třetích stran, musíme vytvořit soubor kesh_js.php s následujícím kódem. Doporučuji vám používat Notepad++ k rychlému a správnému přidání kódu do souboru.

Abychom mohli napsat kód, který potřebujeme. vezměte a zkopírujte tento odkaz:

downloadJs( sem vložte odkaz z PageSpeed /metrics.js, skutečná cesta("./ folder_js« ) . ‘/ metrics.js– zde vložte konečný soubor“) ;

Tímto způsobem můžete přidat mnoho dotazů. Jediná věc, kterou si musíte zapamatovat, je ujistit se, že ve složce nemáte duplicitní soubory. V tomto případě použijte jeden soubor pro několik skriptů, obvykle stejný skript, nebo jej přejmenujte.

Po přidání kódu do souboru kesh_js.php, můžete to nazvat jinak. Musí být nahráno do kořenového adresáře našeho webu. Také v kořenovém adresáři webu musíte vytvořit složku folder_js, nebo pod jiným jménem s přístupovými právy 777/755. Pro nastavení přístupových práv ke složce doporučuji použít Fillizille.

Chcete-li to provést, jednoduše otevřete program fillizilla. Dále vyberte složku a nastavte přístupová práva, určitě na 777, poté ji změníme zpět na 755. To lze také provést v ovládacím panelu vašeho hostingu, pokud tento program nechcete používat. Ukážu vám snímek obrazovky nastavení přístupových práv v programu Fillizilla.
Poté otevřete sekci " oprávnění k souboru“ a zadejte naši hodnotu 777/755.

Jak povolit plánovač úloh pro web (cron)

V dalším kroku musíme povolit plánovač úloh pro naše stránky tak, aby náš skript https://adresa vašeho webu/kesh_js.php začal, denně. Díky tomu bude mít náš web vždy aktuální verzi souborů z externích zdrojů. I když vývojáři provedou změny ve svém kódu, díky plánovači úloh budeme mít na webu vždy funkční verzi.

Chcete-li naplánovat úlohy pro svůj web, musíte přejít na ovládací panel hostingu a zadat jednu z možností kódu.

spuštění úlohy přes GET. Pokud potřebujete spustit úlohu cron s ohledem na kontext motoru:

ZÍSKEJTE https://site.ru/script.php

kde site.ru je název vaší domény a script.php je název souboru s úlohou;

spuštění úlohy přes WGET. Alternativní možnost pro spuštění úlohy cron s přihlédnutím ke kontextu enginu:

Wget -q -O - https://site.ru/script.php> /dev/null 2>&1

kde site.ru je název vaší domény a script.php je název souboru s úlohou;

V našem případě musíme napsat:

ZÍSKEJTE https://adresu vaší webové stránky/kesh_js.php

Nebo zvolit alternativní možnost Osobně jsem zvolil tu první.

Vymysleli jsme, co registrovat, nyní otevíráme náš hosting a jdeme na jeho ovládací panel. Používám ovládací panel ISPmanager, pokud máte jiný, hledejte záložku plánovače úloh nebo cron.

Nyní otevřete kartu „Vytvořit“.

Poté vymažeme mezipaměť prohlížeče. Pro Google Chrome použijte klávesovou zkratku ctrl+shift+delete a zkontrolujte fungování webu. Také doporučuji znovu spustit váš web pomocí nástroje PageSpeed ​​​​Insights.

To je za mě vše, přeji vám dobré skóre díky této metodě zrychlení stránky. V příštím článku vám řeknu, jak vytvořit barevné tlačítko odběru na youtube pro váš blog, tak nezapomeňte přihlásit se k odběru aktualizací. Ahoj všichni!

Tento článek pojednává o nastavení ukládání statických souborů do mezipaměti prostřednictvím .htaccess, což umožní rychlejší načítání webu.

Načítání svého webu můžete urychlit pomocí cachování. K vyřešení tohoto problému můžete použít modul hlavičky Webový server Apache. Umožňuje řídit a upravovat hlavičky HTTP požadavků a HTTP odpovědí. Celá podstata v tomto případě spočívá v přinucení prohlížeče, aby jen jednou stáhl ze serveru do místní mezipaměti zřídka změněná data a poté při návštěvě webu použil data z mezipaměti. U určitých typů souborů můžete nastavit ukládání do mezipaměti na přesně definovanou dobu, po které se soubory znovu stahují ze serveru. To se provádí zcela jednoduše:

Sada záhlaví Cache-Control "max-age=2592000"

Pro soubory se zadanými příponami nastavuje konstrukce FilesMatch hlavičku Cache-Control odeslanou serverem a proměnnou max-age, která určuje dobu uložení souborů v mezipaměti v sekundách. Přidejte nebo odeberte přípony souborů, které jsou pro vás v tomto případě vhodné.

Pokud některé soubory není třeba ukládat do mezipaměti, pak je jednoduše nezahrnujte do seznamu. Vynucené ukládání souborů do mezipaměti lze také nejčastěji zakázat, ukládání do mezipaměti je zakázáno pro dynamické soubory, například různé skripty. Přidejte níže uvedený kód do svého souboru .htaccess, chcete-li zakázat ukládání skriptů do mezipaměti, po provedení příslušných změn podle vašeho případu:

Záhlaví deaktivováno Cache-Control

Jak vidíte, zde jsou uvedeny přípony souborů, které nechcete ukládat do mezipaměti, stačí zadat požadované typy souborů.

Dalším způsobem, jak spravovat ukládání do mezipaměti, je použití modulu vyprší. Tento modul řídí nastavení HTTP hlaviček pro ukládání dat do mezipaměti na straně prohlížeče. Dobu, po kterou jsou data uložena v mezipaměti, lze nastavit podle času, podle poslední úpravy souboru nebo podle času přístupu klienta.

Níže je uveden jednoduchý příklad použití modulu vyprší v souboru .htaccess:

ExpiresActive On ExpiresDefault "přístup plus 1 měsíc" ExpiresByType image/gif "přístup plus 2 měsíce" ExpiresByType image/jpeg "přístup plus 2 měsíce"

V tomto příkladu povolíme modul, nastavíme výchozí ukládání do mezipaměti na 1 měsíc a poté přiřadíme dobu ukládání do mezipaměti plus 2 měsíce pro soubory s příponami gif a jpg. Čas lze specifikovat v letech, měsících, týdnech, dnech, hodinách, minutách, sekundách. Můžete také použít možnost, jako je:

ExpiresByType text/html "přístup plus 1 měsíc 15 dní 2 hodiny" ExpiresByType image/gif "úprava plus 5 hodin 3 minuty"

Jako typy souborů můžete zadat různé typy MIME, zde jsou některé z nich jako příklad:

Image/x-icon image/jpeg image/png image/gif application/x-shockwave-flash text/css text/javascript application/javascript application/x-javascript text/html application/xhtml+xml

Igore.

Aktualizace: 21. listopadu 2017.

Dobrý den, milí čtenáři tohoto blogu. Pokračuji v sérii článků, které se týkají optimalizačních opatření, a dnes je čas nastavit používání cache prohlížeče pro tyto účely uživateli, což je další krok ke zrychlení webu.

Každá akce, která vám umožní přiblížit se k tomuto cíli, bude plusem při propagaci webového zdroje, a proto nebuďte líní se alespoň podívat na materiály, kde jsem uvedl popis, a také, které vám nepochybně pomohou v provádění celkového úkolu.

V následujícím textu se pokusím poskytnout jasný návod, jak nakonfigurovat ukládání do mezipaměti prohlížeče vložením speciálního kódu do nádherného souboru .htaccess. Je pravda, že to není pro každého a nemůže vždy pomoci, ale o tom níže.

Předpokládejme, že máme možnost spustit mechanismus, který nám umožní ukládat kopie prvků stránky přímo ve webovém prohlížeči uživatele, který je navštíví. Poté s každým dalším požadavkem budou všechny tyto prvky převzaty přímo z mezipaměti prohlížeče návštěvníka (), tedy ze speciální složky umístěné na pevném disku jeho počítače.

Zisk v rychlosti stahování bude zřejmý. Toto je algoritmus, který budeme studovat v tomto článku. Mimochodem, kromě tématu si můžete přečíst o tom, jak spolu s akcelerací webu můžete dosáhnout, což je v dnešní době velmi aktuální.

Před pár lety jsem mluvil o optimalizaci jednoho ze svých projektů na základě analýzy Page Speed, provedené prostřednictvím rozšíření (nyní je k dispozici pouze online služba), která poskytla podrobnější obrázek.

Důležité je, že z větší části níže navržený kód zcela postačuje k vytvoření podmínek, za kterých již Pagespeed nebude vznášet žádné nároky, a tudíž zajistí rychlejší načítání stránek v požadovaném rozsahu.

Na základě výše uvedeného tedy musíme zajistit výstup jedné z hlaviček Last-Modified a ETag a také jedné z dvojice Expires nebo Cache-Control: max-age. Pro přehlednost a pro rozšíření sortimentu zvažme různé možnosti.

Variace kódu pro správu mezipaměti pomocí hlaviček Last-Modified, Expires a Cache-Control

Pokud je váš hosting již nakonfigurován tak, aby vydával stejnou poslední modifikaci, je polovina práce hotová (mimochodem, zkontrolujte přítomnost této důležité hlavičky, včetně nástroje pro kontrolu odpovědi serveru od Yandexu v jejich seznamu). Pokud ne, pak je to docela snadné udělat tak, že napíšete pár řádků do stejného nenahraditelného .htaccess:

RewriteRule .* - RewriteRule .* -

Je pravda, že tato metoda bude fungovat opět za předpokladu, že máte „čistého Apache“ (ale to je přesně ten případ, který zvažujeme). Budeme předpokládat, že hlavička Last-Modified, jejíž hodnota bude mimochodem zobrazovat datum poslední změny, je nakonfigurována.

Nyní je na řadě Cache-Control s parametrem max-age, jehož hodnota bude specifikovat dobu ukládání do mezipaměti každého konkrétního statického objektu. Modul přichází na scénu mod hlavičky, jehož kód by měl být vložen do .htaccess:

#zakázat ukládání do mezipaměti

Je třeba poznamenat, že přes nádobu ifModul Server zkontroluje přítomnost tohoto modulu. Pokud chybí, direktiva se neprovede, takže její použití by v žádném případě nemělo vést k chybám.

Doba uchování mezipaměti je určena pomocí parametru max-věk, jeho hodnota se nastavuje v sekundách. Díky komentářům (které mimochodem můžete klidně smazat) za hash symbolem “#” je myslím základ této konstrukce jasný.

Místo hlaviček modů je však docela možné použít modul mod vyprší, zobrazující hlavičku Expires (což je podle samotného Googlu vhodnější, protože má širší podporu). V tomto případě bude fragment kódu, který to umožní, vypadat takto:

Počátečním bodem pro datum vypršení platnosti mezipaměti při použití hlavičky Expires je datum prvního načtení. Navíc na rozdíl od Cache-Control, kde je časové období definováno pouze v sekundách, zde může být specifikováno v libovolném časovém formátu včetně roku.

Chcete-li to vidět, podívejte se na obrázkovou část kódu. Tam jsem konkrétně uvedl čas v různých jednotkách: 1 měsíc, 4 týdny, 30 dní, 43829 minut, 2592000 sekund.

Je jasné, že měsíc a rok mohou mít různé počty dní, týdnů, minut a sekund, ale to není důležité, protože se používají průměrné hodnoty. Mimochodem, pro JS, CSS soubory a obrázky se doporučuje nastavit časové období minimálně týden, maximálně však rok. V tomto případě bude ve skutečnosti datum očekávaného konce období ukládání do mezipaměti této verze objektu uvedeno jako hodnota hlavičky Expires v odpovědi serveru.

Kromě zmíněných modulů je užitečné také používat mod setenvif. Faktem je, že webové prohlížeče z rodiny Microsoft Internet Explorer a některé verze Mazily nevnímají správně hlavičku Vary v odpovědi HTTP serveru, což také významně přispívá ke správě mezipaměti. Tento modul umožňuje vyřešit tento problém vyloučením Vary z odpovědi serveru:

V důsledku toho dostáváme dvě poslední možnosti nastavení ukládání do mezipaměti, které můžete zkontrolovat vkládáním jednoho po druhém do .htaccess (nedoporučuji používat obě současně):

#cache HTML a HTM soubory na jeden den Sada záhlaví Cache-Control "max-age=43200"#cache CSS, JavaScript a textové soubory po dobu jednoho týdne Sada záhlaví Cache-Control "max-age=604800"#cache flash a obrázky na měsíc Sada záhlaví Cache-Control "max-age=2592000"#zakázat ukládání do mezipaměti Záhlaví deaktivováno Cache-Control BrowserMatch "MSIE" force-no-vary BrowserMatch "Mozilla/4.(2)" force-no-vary

ExpiresActive On #default cache for 5 seconds ExpiresDefault "access plus 5 seconds" #caching flash and images for month ExpiresByType image/x-icon "access plus 1 month" ExpiresByType image/jpeg "access plus 4 weeks" ExpiresByType image/png " přístup plus 30 dní" ExpiresByType image/gif "přístup plus 43829 minut" ExpiresByType application/x-shockwave-flash "přístup plus 2592000 sekund" #caching CSS, JavaScript a textové soubory po dobu jednoho týdne ExpiresByType text/css "přístup plus 60 sekund" ExpiresByType text/javascript "přístup plus 604800 sekund" ExpiresByType application/javascript "přístup plus 604800 sekund" ExpiresByType application/x-javascript "přístup plus 604800 sekund" #cache HTML a HTM soubory na jeden den Expires text/yT4320 sekund ExpiresByT4320 sekund " #cache soubory XML na deset minut ExpiresByType application/xhtml+xml "přístup plus 600 sekund" BrowserMatch "MSIE" force-no-vary BrowserMatch "Mozilla/4.(2)" force-no-vary

Ještě jednou připomenu, že i přes přítomnost kontejneru IfModule, který zajišťuje bezpečnost úprav, by nebylo od věci při každé změně .htaccess vytvořit záložní kopii původní verze souboru (můžete jednoduše zkopírovat jeho obsah a uložte jej do počítače), abyste nebyli zaskočeni silou v té či oné variantě.

Kód pro generování hlaviček Etag a Expires pro konfiguraci mezipaměti

V případě, že by direktivy navržené výše najednou nefungovaly (i když je na vašem hostingu nainstalován „čistý“ Apache), podívejme se na další případ, a to když dvojice povinných hlaviček Etag a Expires funguje jako nástroje pro řízení mezipaměti. Jak si pamatujete, oba jsou zodpovědní za včasné doručení souborů z mezipaměti a iniciují kontrolu relevance aktuální verze.

Ale pokud je datum poslední změny zobrazeno jako hodnota Expires, pak ETag používá jeden nebo jiný jedinečný identifikátor zdroje (častěji tuto roli hraje verze souboru). Pro aktivaci ETag stačí zadat jeden řádek do stejného .htaccess:

Velikost FileETag MTime

No, pak aplikujte modul mod vyprší, nám již známý. Můžete také přidat mod setenvif, který, jak jsem řekl výše, zakazuje vytváření hlaviček Vary pro určitou skupinu webových prohlížečů, aby bylo zajištěno vytvoření mezipaměti z jejich strany:

Velikost FileETag MTime ExpiresActive on ExpiresDefault „přístup plus 1 rok“ BrowserMatch "MSIE" force-no-vary BrowserMatch "Mozilla/4.(2)" force-no-vary

Zde používáme komplex s minimem zapojených typů objektů, ale těch nejoblíbenějších (CSS, JavaScript a obrázky), což by mělo být také dostatečné pro zajištění maximální efektivity při zrychlení webu. V případě potřeby můžete do sady „jpg|jpeg|gif|png|ico|css|js“ přidat další typy souborů.

Ve výše uvedeném příkladu kódu navíc všechny soubory podléhají stejné životnosti mezipaměti jeden rok („přístup plus 1 rok“), což doporučuje Google. Pro každou skupinu objektů ale můžete zadat vlastní časové období, podle příkladu obsahu modulů mod_expires a mod_headers z předchozí části článku.

Kontrola přítomnosti požadovaných hlaviček v odpovědi serveru

Po vložení kódu do souboru .htaccess můžete zkontrolovat, zda jsou v odpovědi serveru zahrnuta požadovaná záhlaví. Pro tento účel můžete použít nějakou online službu, například Checkmy.ru, kde vybereme jakýkoli prohlížeč jako klienta (User Agent), který odesílá HTTP požadavek na server, a také zadáme adresu URL zdroje (např. Vydal jsem se cestou k obrázku , použitý v jednom z článků blogu):


Po kliknutí na tlačítko „Odeslat požadavek“ se po několika sekundách zobrazí výsledek:


Jak vidíte, v mém případě jsou přítomny všechny čtyři hlavičky. Řekl jsem, že musí být zobrazen jeden z párů „Last-Modified – ETag“ a „Expires – Cache-Control“, ostatní jsou zbytečné. V tomto případě kompletní sada, pokud lze soudit, nezpůsobí škodu.

Mimochodem, pokud otestujete, než začnete s nastavováním mezipaměti, můžete okamžitě určit, jak produktivní budou vaše akce.

Koneckonců, pokud je nginx přítomen v odpovědi serveru, bude nutné jej nakonfigurovat (udělal to můj poskytovatel) a konfigurační soubor.htaccess zde bude k ničemu. V tomto případě, jak jsem již poznamenal, budete muset využít pomoc služby podpory, pokud vám samozřejmě váš hostingový tarif a nedostatečné znalosti neumožňují vyřešit problém sami.

Dále vám pro konsolidaci materiálu doporučuji obrátit se na video a sledovat 6 lekcí v pořadí (jedna z nich je věnována nastavení ukládání do mezipaměti v prohlížečích), které podrobně pojednávají o všech nejdůležitějších aspektech zrychlení webu WP :

");">

Chtěli byste včas dostávat čerstvé, relevantní a užitečné články? Poté se můžete přihlásit k odběru:

Další články na toto téma:

60 recenzí

  1. Denis

    Velmi užitečný způsob, jak zvýšit pohodlí na webu. Koneckonců optimalizací rychlosti načítání tím šetříte čas návštěvníka a za to vám bude vděčný, když vaše stránky navštíví znovu a znovu. Což přímo pozitivně ovlivní příjem webu.

  2. Igore

    Naprosto správně, Denisi. V propagaci webu je vše propojeno.

  3. Marazzi

    Ničemu nerozumím, prohlížeč si ve skutečnosti pamatuje stránky, na kterých byl, v cookies, pokud cookies vymažete. PODLE VAŠÍ METODY pak vaše schéma přestane fungovat, lépe řečeno, chápu, že o tom je rozhovor určen pro běžného návštěvníka, který neuklízí historii7 PŘEDPLATNÝ, ČEKAJÍCÍ NA ODPOVĚĎ1;

  4. Sergej Dmitrijevič

    Velmi užitečné informace. Přišlo mi to užitečné. Děkuju.

  5. Igore

    Marazzi, za prvé, cookies a cache jsou různé věci. Cookies jsou speciální soubory se sadou dat, které umožňují identifikovat uživatele, pokud navštíví webový zdroj. A cache (v překladu z angličtiny sklad, úkryt) prohlížeče je jakési odlehlé místo pro ukládání kopií dokumentů (například webových stránek webových stránek), které se v případě potřeby zobrazují v prohlížeči. Příkaz pro použití mezipaměti na straně prohlížeče uživatele je vytvořen na straně serveru a v počítači uživatele se vytvoří složka s mezipamětí. Uživatel může regulovat frekvenci vytváření mezipaměti kopií stránek webu vymazáním složky mezipaměti. Nebo to umožňuje nastavení moderních prohlížečů. Čím častěji vymazáváte mezipaměť, tím novější verzi stránky získáte.

  6. Nikolay

    Super a tady je vše OK!!!

  7. marazzi

    No, o tom jsem mluvil.

  8. Alexander
  9. Nikolay

    Díky za článek. Pravda, není zcela jasné, jak tuto cache později vymazat, pokud se na webu například objeví nová kategorie nebo sekce, nebo naopak zmizí. Samozřejmě velmi přeháním, ale význam je stejný. Občas je třeba vymazat mezipaměť, jak je to implementováno v tomto kódu?

  10. Irina

    OK! Děkuju!
    Tento kód pomohl, nyní 80 ze 100

    FileETag MTime Size ExpiresActive on ExpiresDefault „přístup plus 1 rok“

  11. Igore

    Nikolayi, úplně jsem nepochopil vaši otázku. Toto je kód pro ukládání stránek do mezipaměti v prohlížečích uživatelů; Nové články a kategorie se zobrazují, i když je mezipaměť plná. Do mezipaměti jsou po dlouhou dobu ukládány pouze prvky, které zůstanou nezměněny po dlouhou dobu.

  12. Andrey

    Děkuju. Pokud ale potřebuji uložit do mezipaměti pouze některé, například logo a vlajky zemí v patičce, co mám dělat?

  13. Igore

    Andrey, proč potřebuješ oddělovat obrázky, ukládat některé do mezipaměti a jiné ne? Obrázky se obvykle nemění s kaleidoskopickou rychlostí.

  14. Andrey

    No jo, s těmi obrázky máš pravdu. A neukládejte do mezipaměti určitou stránku (například z panelu administrátora). Je to možné?

  15. Igore

    Samozřejmě je to možné. Pokud používáte plugin pro ukládání do mezipaměti, jako je Hyper Cache, pak má jeho nastavení spoustu různých možností, včetně možnosti vyloučit stránky, které nelze uložit do mezipaměti.

  16. Jaroslav

    Velmi užitečný článek, už dlouho jsem chtěl nastavit ukládání do mezipaměti, ale dříve jsem všude našel první prezentovanou metodu a neudělalo to absolutně nic.
    Ale díky druhému způsobu vše funguje s třeskem!! PS 91

  17. Igore

    Dobrý výsledek, Jaroslave.

  18. stan

    žádný způsob nefunguje

  19. Igore

    Stane, je možné, že to do značné míry závisí na hostiteli.

  20. Ilya

    Neexistují slova, jak dlouho jsem hledal článek o tom, jak povolit čas ukládání do mezipaměti prohlížeče, musel jsem vložit úplně horní kód. Díky za článek.

  21. Igore

    Prosím, Ilyo.

  22. Šedá

    Díky, funguje to!

  23. Sergej

    ani jedna metoda nefunguje
    Hoster je dostatečný

    Zřejmě budou muset napsat na podporu

  24. Igor Gornov

    Ano, možná, Sergeji. Sami vidíte, že se to mnohým daří realizovat.

  25. Alexandr Puzatykh

    Děkuju. Skvělé informace. Nyní to na svém webu opravím. Jinak pgespeed dává červenou značku.

  26. Yuri

    Udělal jsem vše, jak je popsáno, ale rychlost načítání PageSpeed ​​​​Insights se nezměnila (74 %). Jaký by mohl být důvod?

  27. Yuri

    Zde je můj htaccess
    # ZAČNĚTE WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %(REQUEST_FILENAME) !-f
    RewriteCond %(REQUEST_FILENAME) !-d
    RewriteRule. /index.php [L]

    #ENDWordPress
    Přidám váš kód a nic se nezmění
    PageSpeed ​​​​Insights zůstává na 74 %.
    Řekněte mi v čem může být problém???

  28. Igor Gornov

    V konkrétní konfiguraci vašeho hostingového serveru, kde se stránka nachází. Podle mého názoru jsem již v článku a komentářích poznamenal, že tato metoda není vhodná pro každého.

  29. Valery

    Igore, dobrý článek. Chtěl jsem to udělat už dlouho, ale nevěděl jsem jak. Teď je to jasné. Mám jednu otázku: "Kam v souboru .htaccess mám vložit kód?"

  30. Igor Gornov

    Valery, pokud již máte nějaké fragmenty kódu v .htaccess, pak by tam měl být řádek jako tento:

    #ENDWordPress

    V tomto případě by měl být nad tento řádek umístěn nejen tento, ale jakýkoli kód. Na zbytku nezáleží.

  31. vokacan

    Informace jsou užitečné, ale pro začátečníka podle mě dost těžko pochopitelné.

  32. Aely

    Kupodivu totéž nefungovalo pro mě, ale co mám dělat, nebo spíše, na co se mám zeptat hostitele?

  33. Igor Gornov

    Musíte se hostitele zeptat na následující: je možné povolit ukládání do mezipaměti na serveru pro všechny možné soubory? Možná už mají hotový algoritmus, který se liší od toho, který jsem navrhoval.

  34. Aely

    Děkuji, teď jsem to napsal.

  35. Aely

    Tady je vtip, oni (hostitel) řekli, že mají vše zahrnuto, a já jim řekl, a Googlespeedtest ukazuje „použijte mezipaměť prohlížeče“ a řekli mi, že to jsou otázky pro Googlespeedtest. Nemůžu přijít na to, komu mám věřit? :)

  36. Igor Gornov

    Aely, tento přístup ke klientovi ze strany hostitele je přinejmenším zvláštní. Teoreticky by měli vysvětlit a uvést možný algoritmus pro jeho přidání do souboru .htaccess za účelem aktivace funkce, i když ji mají povolenou. Zajímalo by mě, jestli to není poprvé, co jste službu podpory kontaktovali, jak se chovala v jiných situacích?

  • htaccess caching ukládá obsah webové stránky do místního počítače, když ji uživatel navštíví;
  • Použití mezipaměti prohlížeče – Správce webu dává prohlížečům pokyny, jak zacházet se zdroji.

Když prohlížeč vykresluje webovou stránku, musí načíst logo, soubor CSS a další zdroje:

Mezipaměť prohlížeče si „pamatuje“ prostředky, které prohlížeč již stáhl. Když návštěvník přejde na jinou stránku webu, logo, soubory CSS atd. by neměly být znovu staženy, protože si je prohlížeč již "pamatoval" (uložil). To je důvod, proč se webová stránka načítá při první návštěvě déle než při opakovaných návštěvách.

Když používáte ukládání do mezipaměti, soubory webových stránek budou uloženy do mezipaměti prohlížeče. Stránky se při opakovaných návštěvách načítají mnohem rychleji. Stane se tak i u jiných stránek, které používají stejné zdroje.

Jak povolit ukládání do mezipaměti prohlížeče

  • Upravte hlavičky požadavku na zdroj tak, aby používala ukládání do mezipaměti;
  • Optimalizujte svou strategii ukládání do mezipaměti.

Změna záhlaví požadavků

Pro většinu lidí je jediným způsobem, jak uložit do mezipaměti htaccess webu, přidání kódu do souboru .htaccess na webovém serveru.

Soubor .htaccess řídí mnoho důležitých nastavení vašeho webu.

Ukládání do mezipaměti prohlížeče prostřednictvím souboru .htaccess

Níže uvedený kód prohlížeči sděluje, co uložit do mezipaměti a jak dlouho si to má „pamatovat“. Mělo by být přidáno na začátek souboru .htaccess:

VYPRŠÍ CACHOVÁNÍ ExpiresActive On ExpiresByType image/jpg "přístup 1 rok" ExpiresByType image/jpeg "přístup 1 rok" ExpiresByType image/gif "přístup 1 rok" ExpiresByType image/png "přístup 1 rok" ExpiresByType text/css "ExpiresByType text/css" html "přístup 1 měsíc" ExpiresByType application/pdf "přístup 1 měsíc" ExpiresByType text/x-javascript "přístup 1 měsíc" ExpiresByType application/x-shockwave-flash "přístup 1 měsíc" ExpiresByType image/x-icon "přístup 1 rok" ExpiresDefault "přístup 1 měsíc" VYPRŠÍ CACHOVÁNÍ

Uložte soubor .htaccess a poté obnovte webovou stránku.

Jak nastavit čas mezipaměti pro různé typy souborů

Výše uvedený kód specifikuje časové intervaly. Například 1 rok (1 rok) nebo 1 měsíc (1 měsíc). Týkají se typů souborů. Výše uvedený kód uvádí, že soubory .jpg (obrázky) by měly být ukládány do mezipaměti po dobu jednoho roku.

Pokud byste to chtěli změnit tak, aby se obrázky ve formátu JPG také ukládaly do mezipaměti po dobu jednoho měsíce, pak byste jednoduše nahradili „1 rok“ za „1 měsíc“. Výše uvedené hodnoty mezipaměti htaccess jsou optimální pro většinu webových stránek.

Alternativní metoda ukládání do mezipaměti pro .htaccess

Výše popsaná metoda se nazývá " Platnost vyprší“, pomáhá většině začátečníků s ukládáním do mezipaměti. Jakmile se s ukládáním do mezipaměti seznámíte, můžete vyzkoušet jinou metodu ukládání do mezipaměti nazvanou Cache-Control, která vám poskytuje více možností.

Je možné, že metoda Expires nebude na vašem serveru fungovat, v takovém případě můžete zkusit použít Cache-Control.

Cache-Control

Tato metoda vám umožňuje získat větší kontrolu nad ukládáním stránek do mezipaměti v prohlížeči, ale pro mnoho lidí je jednodušší zadat všechna nastavení jednou.

Příklad použití v souboru .htaccess:

#1 měsíc pro většinu statických aktiv Sada záhlaví Cache-Control "max-age=2592000, public"

Výše uvedený kód nastavuje hlavičku Cache-Control v závislosti na typu souboru.

Jak Cache-Control funguje?

Zvažte výše uvedený řádek kódu pro ukládání do mezipaměti v prohlížeči htaccess:

#1 měsíc pro většinu statických aktiv

Tento řádek je jen poznámka. Soubor .htaccess ignoruje řádky začínající znakem #. Tato poznámka je doporučena, protože jako řešení pro ukládání souborů do mezipaměti můžete mít několik různých sad dat:

Výše zmíněný řádek říká, že „ pokud je soubor jedním z těchto typů, pak s ním něco uděláme...»

Nejdůležitější na tomto řádku je, že uvádí různé typy souborů ( CSS, JS, JPEG, PNG atd. ) a že na tyto typy souborů by měly být aplikovány pokyny pro ukládání do mezipaměti. Pokud například nechcete, aby se soubory JPG ukládaly do mezipaměti po určitou dobu, můžete odstranit " JPG". Pokud chcete přidat HTML, musíte v tomto řádku uvést „ HTML«:

Sada záhlaví Cache-Control "max-age=2592000, public"

Výše zmíněný řádek nastavuje skutečné záhlaví a hodnoty:

  • část" Sada záhlaví Cache-Control» — nastaví titul;
  • proměnná" maximální věk=2592000"—udává, jak dlouho bude proces ukládání do mezipaměti trvat (v sekundách). V tomto případě ukládáme do mezipaměti jeden měsíc (2592000) sekund;
  • část" veřejnost» hlásí, že je veřejně dostupný.

Tento řádek mezipaměti htaccess zavře příkaz a ukončí blok kódu.

Obecný problém s mezipamětí

Pokud sestavujete seznam obrázků, které budou ukládány do mezipaměti rok nebo déle, pamatujte, že pokud na svých stránkách provedete změny, nemusí být viditelné pro všechny uživatele. Protože uživatelé budou přistupovat k souborům uloženým v mezipaměti spíše než k těm existujícím. Pokud existuje soubor, který pravidelně upravujete ( například - soubor CSS), pak můžete problém s mezipamětí překonat pomocí otisku URL.

Otisk adresy URL

Získání nového (neuloženého) souborového prostředku je možné, pokud existuje jedinečný název. Pokud je například soubor CSS pojmenován „main.css“, mohli bychom jej místo toho pojmenovat „main_1.css“. Až příště změníme jeho název, můžeme soubor pojmenovat „main_2.css“. To je užitečné pro soubory, které se pravidelně mění.




Nahoru