Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

Buforowanie (cache)

Moduł 6: Szybkość · Czas czytania: 9 minut

Cel lekcji: Po tej lekcji będą Państwo potrafili wyjaśnić, jakie rodzaje pamięci podręcznej (cache) istnieją, oraz poprawnie skonfigurować i sprawdzić pamięć podręczną strony (paginacache).

Kluczowe pojęcia: pamięć podręczna strony, pamięć podręczna przeglądarki, Cache-Control, pamięć podręczna obiektów, Redis, OPcache, CDN, wtyczka cache, LiteSpeed Cache, wyjątki (zalogowany, koszyk, finalizacja zamówienia), czyszczenie pamięci podręcznej, podwójne wtyczki cache

Cache: nie wykonuj tej samej pracy dwa razy

Pamięć podręczna (cache) przechowuje wynik wykonanej pracy, dzięki czemu następnym razem nie trzeba jej powtarzać. W witrynie WordPress istnieją cztery miejsca, w których to się dzieje, od największego do najmniejszego:

RodzajCo jest przechowywaneGdzieEfekt
Pamięć podręczna stronyKompletny kod HTML stronyNa serwerze (lub w CDN)Największy zysk: pomijane są PHP, wtyczki i baza danych
Pamięć podręczna przeglądarkiArkusze stylów, skrypty, obrazy, czcionkiW przeglądarce odwiedzającegoKolejna strona ładuje się szybciej, ponieważ pliki już tam są
Pamięć podręczna obiektówWyniki zapytań do bazy danychW pamięci serwera (Redis, Memcached)Pomaga tam, gdzie pamięć podręczna strony nie działa, np. przy zalogowanych użytkownikach i sklepach internetowych
OPcachePrzetłumaczony kod PHPW pamięci PHPPHP nie musi za każdym razem odczytywać plików od nowa; u większości dostawców hostingu jest domyślnie włączony

Pamięć podręczna strony

Lekcja 1.2 pokazała to: bez pamięci podręcznej WordPress przy każdej wizycie tworzy całą stronę od nowa. Dzięki pamięci podręcznej strony pierwszy odwiedzający ją tworzy, a kolejni otrzymują zapisany kod HTML. Czas TTFB wynoszący sekundę może w ten sposób zmniejszyć się do kilku setnych sekundy, a Państwa pakiet hostingowy może obsłużyć znacznie więcej odwiedzających jednocześnie.

Sposób uzyskania pamięci podręcznej strony zależy od serwera WWW:

  • LiteSpeed (wiele hostingów współdzielonych, w tym WebOké): serwer WWW ma własną pamięć podręczną. Bezpłatna wtyczka LiteSpeed Cache steruje nią z poziomu WordPressa: które strony mogą trafić do pamięci podręcznej, kiedy są czyszczone. Ponieważ pamięć podręczna znajduje się w serwerze WWW, PHP w ogóle nie jest uruchamiane dla zapisanej strony.
  • Apache lub nginx: wtyczka cache, która zapisuje kod HTML jako pliki, np. WP Super Cache, W3 Total Cache lub płatna wtyczka, taka jak WP Rocket. Albo pamięć podręczna obsługiwana przez dostawcę hostingu na poziomie serwera.
  • Zarządzany hosting WordPress często ma własną pamięć podręczną; w takim przypadku zwykle nie instaluje się wtyczki cache.

Proszę wybrać jedną opcję. Dwie wtyczki cache działające jednocześnie (na przykład LiteSpeed Cache i WP Rocket) przeszkadzają sobie nawzajem: podwójna praca, strony, które nie są czyszczone, dziwne błędy. Na serwerze LiteSpeed wtyczka LiteSpeed Cache współpracuje z pamięcią podręczną serwera WWW; inna wtyczka cache nie jest w stanie tego zrobić.

Co nie może trafić do pamięci podręcznej

Pamięć podręczna strony daje wszystkim ten sam kod HTML. To nie działa poprawnie w przypadku stron, które różnią się w zależności od odwiedzającego:

  • zalogowani użytkownicy (pasek administracyjny, „Witaj, Lisa”);
  • koszyk, finalizacja zamówienia i Moje konto w sklepie internetowym;
  • strony z formularzem z jednorazowym kodem (nonce), który po pewnym czasie wygasa;
  • strony, które na podstawie lokalizacji, języka lub pliku cookie pokazują coś innego.

Dobre wtyczki cache automatycznie pomijają zalogowanych użytkowników i znane strony WooCommerce. W przypadku innych wtyczek (sekcja dla członków, system rezerwacji) trzeba samodzielnie ustawić wyjątki. Oznaka, że coś idzie nie tak: odwiedzający widzi koszyk kogoś innego lub formularz pokazuje „wygasło” albo „nieprawidłowe żądanie”.

Czyszczenie: kiedy pamięć podręczna jest nieaktualna?

Jeśli zmodyfikują Państwo stronę, zapisana wersja musi zniknąć. Wtyczki cache przy zapisywaniu wpisu zwykle czyszczą tę stronę, stronę główną i archiwa. Przy zmianie menu, motywu lub widżetu często trzeba wyczyścić całą pamięć podręczną. Jeśli po zmianie widzą Państwo starą wersję, proszę wyczyścić pamięć podręczną (na pasku administracyjnym wtyczki cache) i sprawdzić efekt w oknie prywatnym, aby własna pamięć podręczna przeglądarki nie zakłócała wyniku.

Pamięć podręczna przeglądarki

Serwer informuje przeglądarkę za pomocą nagłówków, jak długo może przechowywać plik:

cache-control: public, max-age=31536000

Oznacza to: przechowuj to przez rok. Dla arkuszy stylów, skryptów, czcionek i obrazów długi czas jest jak najbardziej odpowiedni, ponieważ WordPress przy nowej wersji dodaje za adresem inny parametr ?ver=, dzięki czemu przeglądarka widzi go jako nowy plik. Dla samego kodu HTML zwykle stosuje się krótki czas (lub brak), aby odwiedzający szybko widzieli zmiany.

Wielu dostawców hostingu i wtyczek cache zajmuje się tym automatycznie. W zadaniu tej lekcji sprawdzą to Państwo samodzielnie.

Pamięć podręczna obiektów i Redis

Pamięć podręczna strony nie pomaga przy zalogowanych użytkownikach ani przy koszyku. Tam pomaga pamięć podręczna obiektów: WordPress przechowuje wynik zapytań do bazy danych w pamięci, w programie takim jak Redis lub Memcached. Gdy następnym razem pojawi się to samo zapytanie, WordPress pobiera odpowiedź z pamięci zamiast z bazy danych.

Jest to szczególnie przydatne dla sklepów internetowych, witryn dla członków i witryn z wieloma zalogowanymi redaktorami. Dla zwykłej witryny informacyjnej z pamięcią podręczną strony różnica jest niewielka. Pamięć podręczna obiektów wymaga, aby dostawca hostingu oferował Redis lub Memcached; następnie włącza się ją za pomocą wtyczki (LiteSpeed Cache to potrafi, istnieją też osobne wtyczki).

CDN

CDN (content delivery network) to sieć serwerów w wielu miejscach na świecie, które przechowują kopie Państwa plików (a czasem całych stron). Odwiedzający otrzymuje je z najbliższego serwera. Pomaga to szczególnie w przypadku odwiedzających z daleka i przy dużym ruchu. Dla strony skierowanej do lokalnych odbiorców, obsługiwanej przez lokalny serwer, zysk jest niewielki. CDN z funkcją proxy (taki jak Cloudflare) zmienia również Państwa DNS i certyfikat (kurs DNS, lekcja 7.5); proszę nie robić tego bez zrozumienia, co to oznacza.

W praktyce: jak to wygląda w panelu

Jako przykład używamy LiteSpeed Cache na serwerze LiteSpeed. Inne wtyczki cache mają podobne ustawienia pod innymi nazwami.

  1. Proszę zainstalować i aktywować LiteSpeed Cache w Wtyczki > Dodaj nową.
  2. Proszę otworzyć LiteSpeed Cache > Cache: opcja „Włącz pamięć podręczną” jest włączona, opcja „Pamięć podręczna dla zalogowanych użytkowników” jest wyłączona (chyba że wiedzą Państwo, co robią).
  3. W przypadku sklepu internetowego: proszę sprawdzić w sekcji Pomiń, czy koszyk, finalizacja zamówienia i Moje konto są tam uwzględnione (przy WooCommerce dzieje się to automatycznie).
  4. Proszę na razie pozostawić wyłączone pozostałe elementy (optymalizacja CSS i JavaScript, obrazów). Proszę włączać je pojedynczo i testować po każdym kroku: to właśnie te elementy czasem psują motyw.
  5. Proszę sprawdzić w oknie prywatnym za pomocą narzędzi deweloperskich (F12, Sieć, pierwsze żądanie): przy drugim wczytaniu powinien pojawić się nagłówek x-litespeed-cache: hit.

Podsumowanie

  • Istnieją cztery rodzaje pamięci podręcznej: strony (największy zysk), przeglądarki, obiektów i OPcache.
  • Na serwerze LiteSpeed wtyczka LiteSpeed Cache steruje pamięcią podręczną serwera WWW; na Apache lub nginx używa się innej wtyczki cache. Proszę wybrać jedną.
  • Zalogowani użytkownicy, koszyk, finalizacja zamówienia i strony osobiste nie powinny trafiać do pamięci podręcznej strony.
  • Proszę czyścić pamięć podręczną po zmianach w menu lub motywie i sprawdzać efekt w oknie prywatnym.
  • Pamięć podręczna obiektów (Redis) pomaga w sklepach internetowych i przy zalogowanych użytkownikach; CDN pomaga głównie przy dużych odległościach i dużym ruchu.

Quiz

1. Która pamięć podręczna zwykle daje największy zysk szybkości dla zwykłej strony informacyjnej?



2. Klient widzi w swoim koszyku produkty kogoś innego. Co prawdopodobnie jest nie tak?



3. Dlaczego nie należy instalować dwóch wtyczek cache jednocześnie?



4. Komu najbardziej pomaga pamięć podręczna obiektów, taka jak Redis?



Zadanie

Zadanie A6.2: Czy Państwa pamięć podręczna stron działa? Proszę wpisać adres swojej strony. Program dwukrotnie wczyta stronę główną krótko po sobie, bez plików cookie, i przy drugim razie sprawdzi nagłówki wskazujące trafienie w pamięci podręcznej (x-litespeed-cache: hit, x-cache: HIT, cf-cache-status: HIT, wartość age większą od 0, lub nagłówek innej znanej pamięci podręcznej). Następnie program pobierze jeden arkusz stylów ze strony głównej i sprawdzi, czy przeglądarka może go przechowywać przez co najmniej siedem dni (cache-control: max-age lub expires). Proszę zanotować, z jakiej pamięci podręcznej Państwo korzystają.

Zadanie A6.2: Czy Państwa cache stron działa?



Wprowadzone dane i wyniki sprawdzania nie są zapisywane. Przeglądarka zapamiętuje udzielone odpowiedzi oraz informację, czy zadanie zostało zaliczone. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało zaliczone (lub prawie zaliczone); tam można ją również usunąć.

Dalsza lektura

Te artykuły opisują kroki w panelach WebOké; w innych panelach działają one w podobny sposób.

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…