Przejdź do głównej zawartości

Szybka konfiguracja

Po instalacji P2Lab Cache działa z bezpiecznymi defaultami: backend Filesystem, inwalidacja Smart, browser cache wyłączony, server TTL 1 dzień. W większości sklepów wystarczy potwierdzić kilka wyborów przed wejściem na produkcję.

Wszystkie ustawienia są pod Settings → Speed Boost i podzielone na cztery zakładki:

  • Dashboard — pokrętła runtime, które zmieniasz najczęściej (TTL-e, cache’owalne trasy)
  • Core — tryb inwalidacji, backend storage, kompresja
  • Reverse proxy — ustawienia Varnisha
  • Help — linki i materiały referencyjne

Każde liczbowe ustawienie można nadpisać per kanał sprzedaży ze standardowego przełącznika kanałów w headerze.

Otwórz Core → Cache Storage i wybierz:

  • Filesystem (domyślny) — bez dodatkowej infrastruktury. Dobry dla single-server. Cache leży pod var/cache/ na dysku.
  • Redis — rekomendowany dla multi-server i klastrów. Wypełnij Redis DSN (redis://host:6379) i opcjonalnie Cache namespace (domyślnie p2lab_cache).
  • APCu — najszybszy dla pojedynczego hosta. Wymaga rozszerzenia PHP apcu. Nie używaj na multi-server — APCu jest process-local.

Zobacz Backendy storage po szczegóły kompromisów.

Otwórz Core → Settings → Cache Invalidation Mode:

  • Manual — nigdy nie inwaliduje automatycznie. Używaj tylko, jeśli sam wywołujesz purge przez CLI lub REST API.
  • Basic — cache’uje strony produktów, inwaliduje na zmianach produktu.
  • Extended — rozszerza Basic o kaskadową inwalidację dla kategorii i listingów.
  • Precise — cache’uje wszystko, inwaliduje produkty + listingi, bez kaskady kategorii.
  • Smart (rekomendowany, domyślny) — sprawdza, które pola faktycznie się zmieniły, i czyści tylko dotknięte wpisy.

Zobacz Tryby inwalidacji po pełny breakdown.

Otwórz Dashboard → Cacheable Routes. Każda trasa ma osobny przełącznik:

  • Cache Home Page (on)
  • Cache Navigation Pages (on) — kategorie / listingi
  • Cache Navigation Pages (AJAX) (on) — paginacja listingów + filtry
  • Cache Navigation Filters (AJAX) (on) — agregacje filtrów
  • Cache Product Pages (on)
  • Cache CMS Pages (on)
  • Cache Async Buybox (AJAX) (off domyślnie) — włącz tylko, jeśli Twój storefront używa async buybox, a odpowiedź nie zależy od klienta

Otwórz Dashboard → Configuration:

  • Cache TTL (domyślnie: 1 dzień) — jak długo wpisy żyją w backendzie.
  • max-age (domyślnie: 0 — bez browser cache) — wysyłane jako Cache-Control: max-age=… do przeglądarek. Zostaw 0, jeśli chcesz, aby każdy odwiedzający revalidował (cache i tak serwuje odpowiedź szybko).
  • s-maxage (domyślnie: 6 godzin) — wysyłane jako Cache-Control: s-maxage=… do shared cache między Tobą a przeglądarką.
  • CDN-Cache-Control (domyślnie: wyłączone) — osobny nagłówek rozpoznawany przez Cloudflare, Fastly, Akamai. Używaj, gdy chcesz, by CDN cache’ował przez inny czas niż inne shared cache.

Zobacz Nagłówki Cache-Control po semantykę nagłówków odpowiedzi.

Otwórz Core → Cache Storage → Enable Cache Compression (domyślnie: on, level 6).

Kompresja działa na danych zapisywanych w backendzie — nie wpływa na transfer HTTP. Typowe oszczędności to 40–60% dysku lub pamięci, w zamian za mały koszt CPU przy zapisie i odczycie cache. Poziomy:

  • 1 — najszybsze, najmniejszy ratio
  • 3 — szybkie
  • 6 — zbalansowane (rekomendowane)
  • 9 — najmniejsze, najwolniejsze

Krok 6 — Reverse proxy (tylko jeśli używasz Varnisha)

Dział zatytułowany „Krok 6 — Reverse proxy (tylko jeśli używasz Varnisha)”

Otwórz Reverse proxy → Settings:

  1. Enable Varnish Cache (on domyślnie — działa tylko, jeśli sam Shopware jest skonfigurowany na reverse proxy).
  2. Xkey Invalidation Strategy — Default / Precise / Smart. Wybierz Smart dla typowego sklepu.
  3. (Opcjonalnie) Split xkey Headers — jeśli Varnish odrzuca długie xkey, podziel na kilka HTTP headerów.
  4. (Opcjonalnie) Shorten xkey Tags — MD5-hashuj długie nazwy tagów, by zmieścić się w limitach.
  5. (Opcjonalnie) Xkey Tag Blocklist — wyklucz kategorie tagów (theme, translations, snippets itp.), które nie powinny triggerować purgów.

Zobacz Reverse proxy (Varnish) po pełen obraz.

Kliknij Save w prawym górnym rogu. Nowe ustawienia działają natychmiast dla nowych żądań. Istniejące wpisy cache pozostają ważne, aż wygaśnie ich TTL lub odpali się inwalidacja.

Przejdź do Pierwsze trafienie cache, aby potwierdzić, że cache faktycznie serwuje strony.