{"id":15340,"date":"2025-09-01T19:19:13","date_gmt":"2025-09-01T17:19:13","guid":{"rendered":"https:\/\/dhosting.pl\/pomoc\/?post_type=manual_kb&#038;p=15340"},"modified":"2025-09-01T19:19:13","modified_gmt":"2025-09-01T17:19:13","slug":"woocommerce-na-cdn-co-cacheowac-czego-nie","status":"publish","type":"manual_kb","link":"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/woocommerce-na-cdn-co-cacheowac-czego-nie\/","title":{"rendered":"WooCommerce na CDN &#8211; co cache\u2019owa\u0107, czego nie"},"content":{"rendered":"<p><!-- Meta description: Praktyczny przewodnik cache dla WooCommerce na CDN - co przyspiesza\u0107, czego unika\u0107 oraz jak ustawi\u0107 logowanie, koszyk, checkout i parametry sesji. --><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-left counter-flat ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Spis tre\u015bci<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/woocommerce-na-cdn-co-cacheowac-czego-nie\/#Zasady_cache_dla_WooCommerce_na_CDN\" >Zasady cache dla WooCommerce na CDN<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/woocommerce-na-cdn-co-cacheowac-czego-nie\/#Co_cacheowac_czego_nie_%E2%80%93_konkretne_listy_i_reguly\" >Co cache\u2019owa\u0107, czego nie &#8211; konkretne listy i regu\u0142y<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/woocommerce-na-cdn-co-cacheowac-czego-nie\/#Konfiguracja_na_Cloudflare_%E2%80%93_logowanie_koszyk_checkout_i_sesje\" >Konfiguracja na Cloudflare &#8211; logowanie, koszyk, checkout i sesje<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/woocommerce-na-cdn-co-cacheowac-czego-nie\/#Podsumowanie\" >Podsumowanie<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Zasady_cache_dla_WooCommerce_na_CDN\"><\/span>Zasady cache dla WooCommerce na CDN<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WooCommerce intensywnie korzysta z sesji i cookies &#8211; dlatego strategia cache musi rozr\u00f3\u017cnia\u0107 go\u015bci od u\u017cytkownik\u00f3w zalogowanych oraz strony statyczne od dynamicznych. Klucz jest prosty: cache\u2019uj HTML tylko dla go\u015bci i tylko tam, gdzie nie wyst\u0119puje personalizacja. Dla zalogowanych, koszyka i checkoutu wymuszaj omijanie cache.<\/p>\n<p>CDN \u015bwietnie obs\u0142uguje zasoby statyczne &#8211; obrazy, CSS, JS &#8211; oraz wybrane strony HTML dla go\u015bci. \u201eCache everything\u201d bez wyj\u0105tk\u00f3w to proszenie si\u0119 o k\u0142opoty &#8211; zamiast tego zbuduj bia\u0142\u0105 list\u0119 tego, co przyspiesza\u0107, i czarn\u0105 list\u0119 \u015bcie\u017cek oraz cookies, kt\u00f3re maj\u0105 cache omija\u0107. Dzi\u0119ki temu skracasz TTFB i LCP, a jednocze\u015bnie nie ryzykujesz wyciek\u00f3w stanu sesji.<\/p>\n<p>Pami\u0119taj o metodach HTTP i nag\u0142\u00f3wkach. Tylko GET nadaje si\u0119 do cache; POST, PUT czy PATCH zawsze omijaj\u0105 CDN. Odpowiedzi, kt\u00f3re ustawiaj\u0105 cookies, powinny mie\u0107 nag\u0142\u00f3wki \u201eno-store\u201d albo by\u0107 wykluczone regu\u0142ami, by nie trafi\u0142y do wsp\u00f3lnego cache. CDN ma respektowa\u0107 nag\u0142\u00f3wki <code class=\"\" data-line=\"\">Cache-Control<\/code> z originu &#8211; to Twoje bezpieczniki na wypadek b\u0142\u0119dnej regu\u0142y.<\/p>\n<div id=\"dhost-592565595\" class=\"dhost-inpost dhost-entity-placement\"><a href=\"https:\/\/dhosting.pl\/opieka-stron.html?utm_source=pomoc&utm_medium=artykul&utm_campaign=pomoc\" target=\"_blank\">\r\n\t<img decoding=\"async\" src=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2025\/01\/baner-opieka.png\" alt=\"opieka stron www\">\r\n<\/a>\r\n<br \/>\r\n<br \/><\/div><h2><span class=\"ez-toc-section\" id=\"Co_cacheowac_czego_nie_%E2%80%93_konkretne_listy_i_reguly\"><\/span>Co cache\u2019owa\u0107, czego nie &#8211; konkretne listy i regu\u0142y<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Co warto cache\u2019owa\u0107:<\/strong><\/p>\n<ul>\n<li>Strony produktowe i kategorie dla go\u015bci &#8211; stabilny HTML, du\u017cy ruch, realny zysk w LCP i TTFB.<\/li>\n<li>Strona g\u0142\u00f3wna i tre\u015bci poradnikowe &#8211; blog, landing pages, FAQ.<\/li>\n<li>Zasoby statyczne &#8211; obrazy, miniatury, ikony, CSS, JS, czcionki w WOFF2.<\/li>\n<li>Warianty obraz\u00f3w i generowane miniatury &#8211; d\u0142ugie TTL na kraw\u0119dzi i w przegl\u0105darce.<\/li>\n<\/ul>\n<p><strong>Czego nie cache\u2019owa\u0107:<\/strong><\/p>\n<ul>\n<li><code class=\"\" data-line=\"\">\/cart\/<\/code>, <code class=\"\" data-line=\"\">\/checkout\/<\/code>, <code class=\"\" data-line=\"\">\/my-account\/<\/code> &#8211; zawieraj\u0105 stan u\u017cytkownika i p\u0142atno\u015bci.<\/li>\n<li>Endpoints AJAX i API &#8211; <code class=\"\" data-line=\"\">\/wc-ajax\/*<\/code>, <code class=\"\" data-line=\"\">\/wp-json\/*<\/code> dla operacji wra\u017cliwych, <code class=\"\" data-line=\"\">\/wp-admin\/*<\/code>.<\/li>\n<li>Linki akcyjne i parametry sesji &#8211; <code class=\"\" data-line=\"\">?add-to-cart=*<\/code>, linki usuwania z koszyka, tokeny resetu has\u0142a.<\/li>\n<li>Odpowiedzi ustawiaj\u0105ce cookies sesji lub logowania.<\/li>\n<\/ul>\n<p><strong>Cookies, kt\u00f3re powinny omija\u0107 cache (prefiksy):<\/strong> <code class=\"\" data-line=\"\">wordpress_logged_in_<\/code>, <code class=\"\" data-line=\"\">wordpress_sec_<\/code>, <code class=\"\" data-line=\"\">wp_woocommerce_session_<\/code>, <code class=\"\" data-line=\"\">woocommerce_cart_hash<\/code>, <code class=\"\" data-line=\"\">woocommerce_items_in_cart<\/code>, <code class=\"\" data-line=\"\">woocommerce_recently_viewed<\/code>.<\/p>\n<p><strong>Parametry i nag\u0142\u00f3wki do normalizacji:<\/strong> ignoruj <code class=\"\" data-line=\"\">utm_*<\/code>, <code class=\"\" data-line=\"\">gclid<\/code>, <code class=\"\" data-line=\"\">fbclid<\/code>, a zachowaj parametry funkcjonalne, kt\u00f3re realnie zmieniaj\u0105 HTML. Nie cache\u2019uj, gdy obecny jest nag\u0142\u00f3wek <code class=\"\" data-line=\"\">Authorization<\/code> lub odpowied\u017a zawiera <code class=\"\" data-line=\"\">Set-Cookie<\/code> dla cookies WooCommerce.<\/p>\n<p><strong>Praktyczne TTL:<\/strong> HTML dla go\u015bci &#8211; TTL na kraw\u0119dzi 10\u201360 minut z <code class=\"\" data-line=\"\">stale-while-revalidate<\/code>; obrazy i czcionki &#8211; 7\u201330 dni z wersjonowaniem; CSS\/JS z procesu budowania &#8211; d\u0142ugi TTL z hashami.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Konfiguracja_na_Cloudflare_%E2%80%93_logowanie_koszyk_checkout_i_sesje\"><\/span>Konfiguracja na Cloudflare &#8211; logowanie, koszyk, checkout i sesje<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>1) Wykluczenia krytyczne<\/strong><br \/>\n&#8211; Regu\u0142a \u201eBypass cache\u201d dla \u015bcie\u017cek: <code class=\"\" data-line=\"\">\/cart*<\/code>, <code class=\"\" data-line=\"\">\/checkout*<\/code>, <code class=\"\" data-line=\"\">\/my-account*<\/code>, <code class=\"\" data-line=\"\">\/wp-admin*<\/code>, <code class=\"\" data-line=\"\">\/wc-ajax*<\/code>.<br \/>\n&#8211; Bypass dla \u017c\u0105da\u0144 z metod\u0105 inn\u0105 ni\u017c GET.<br \/>\n&#8211; Bypass, gdy obecny jest nag\u0142\u00f3wek <code class=\"\" data-line=\"\">Authorization<\/code>.<\/p>\n<p><strong>2) Bypass na cookies WooCommerce<\/strong><br \/>\n&#8211; \u201eBypass cache on cookie\u201d dla: <code class=\"\" data-line=\"\">wordpress_logged_in_<\/code>, <code class=\"\" data-line=\"\">wp_woocommerce_session_<\/code>, <code class=\"\" data-line=\"\">woocommerce_cart_hash<\/code>, <code class=\"\" data-line=\"\">woocommerce_items_in_cart<\/code>.<br \/>\n&#8211; Cel &#8211; zalogowani i osoby z koszykiem omijaj\u0105 cache HTML.<\/p>\n<p><strong>3) Akcyjne parametry i linki<\/strong><br \/>\n&#8211; Wyklucz z cache adresy z <code class=\"\" data-line=\"\">?add-to-cart=*<\/code>, <code class=\"\" data-line=\"\">?remove_item=*<\/code>, <code class=\"\" data-line=\"\">?undo_item=*<\/code>.<br \/>\n&#8211; Normalizuj klucz cache &#8211; ignoruj <code class=\"\" data-line=\"\">utm_*<\/code>, <code class=\"\" data-line=\"\">gclid<\/code>, <code class=\"\" data-line=\"\">fbclid<\/code>.<\/p>\n<p><strong>4) \u201eCache everything\u201d tylko dla go\u015bci<\/strong><br \/>\n&#8211; Jedna regu\u0142a \u201eCache everything\u201d dla dokument\u00f3w HTML poza wykluczeniami.<br \/>\n&#8211; TTL na kraw\u0119dzi 30 minut, TTL przegl\u0105darki 5\u201310 minut oraz <code class=\"\" data-line=\"\">stale-while-revalidate<\/code>.<br \/>\n&#8211; \u201eRespect origin\u201d dla zasob\u00f3w statycznych &#8211; proces budowania steruje TTL.<\/p>\n<p><strong>5) Nag\u0142\u00f3wki po stronie originu<\/strong><br \/>\n&#8211; Odpowiedzi ze stanem u\u017cytkownika oznacz <code class=\"\" data-line=\"\">Cache-Control: no-store<\/code>.<br \/>\n&#8211; Publiczne strony: <code class=\"\" data-line=\"\">Cache-Control: public, max-age=300, stale-while-revalidate=30<\/code>.<br \/>\n&#8211; Czcionki i obrazy &#8211; d\u0142ugi <code class=\"\" data-line=\"\">max-age<\/code> z wersjonowaniem.<\/p>\n<p><strong>6) Testy i bezpiecze\u0144stwo stanu<\/strong><br \/>\n&#8211; Sprawd\u017a <code class=\"\" data-line=\"\">CF-Cache-Status<\/code> &#8211; koszyk i checkout musz\u0105 by\u0107 <code class=\"\" data-line=\"\">BYPASS<\/code> lub <code class=\"\" data-line=\"\">DYNAMIC<\/code>.<br \/>\n&#8211; W narz\u0119dziach deweloperskich przegl\u0105darki zweryfikuj brak wsp\u00f3\u0142dzielenia koszyka mi\u0119dzy u\u017cytkownikami.<br \/>\n&#8211; Monitoruj, czy odpowiedzi z <code class=\"\" data-line=\"\">Set-Cookie<\/code> nie trafiaj\u0105 do cache.<\/p>\n<p><strong>7) Checkout i p\u0142atno\u015bci<\/strong><br \/>\n&#8211; Ca\u0142y proces p\u0142atno\u015bci omija cache &#8211; w tym powroty i stron\u0119 podzi\u0119kowania.<br \/>\n&#8211; Wymu\u015b HTTPS, HSTS i wy\u0142\u0105cz transformacje tre\u015bci na tych \u015bcie\u017ckach.<\/p>\n<p><strong>8) Dodatkowe optymalizacje bez ryzyka stanu<\/strong><br \/>\n&#8211; D\u0142ugie TTL dla obraz\u00f3w produktowych i czcionek z wersjonowaniem.<br \/>\n&#8211; <em>Early Hints 103<\/em> i <code class=\"\" data-line=\"\">preload<\/code> krytycznych zasob\u00f3w dla list i kart produktu.<br \/>\n&#8211; Minifikacja i kompresja Brotli dla CSS\/JS.<\/p>\n<p><strong>Kontrola jako\u015bci i monitoring<\/strong><br \/>\n&#8211; Panel: hit ratio HTML dla go\u015bci, TTFB dokumentu, LCP.<br \/>\n&#8211; Por\u00f3wnuj konwersj\u0119 i porzucenia koszyka przed i po.<br \/>\n&#8211; Alarmuj na spadek hit ratio z powodu fragmentacji parametr\u00f3w.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Podsumowanie\"><\/span>Podsumowanie<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Skuteczny cache WooCommerce na CDN polega na selekcji &#8211; szybkie HTML dla go\u015bci i twardy bypass dla logowania, koszyka oraz checkoutu. Zadbaj o regu\u0142y omijania cache na cookies i parametry akcyjne, normalizuj \u201eszum\u201d marketingowy w kluczu cache i pilnuj nag\u0142\u00f3wk\u00f3w <code class=\"\" data-line=\"\">Cache-Control<\/code>. W Cloudflare ustaw kolejno: wykluczenia, bypass na cookies, \u201ecache everything\u201d dla reszty oraz rozs\u0105dne TTL z <code class=\"\" data-line=\"\">stale-while-revalidate<\/code>. Dzi\u0119ki temu poprawisz LCP i TTFB bez ryzyka naruszenia stanu sesji u\u017cytkownika.<\/p>\n","protected":false},"author":6,"featured_media":10957,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[96,95],"manual_kb_tag":[5903,5898,5897,5907,952,5904,80,5905,5885,5906,5908,1479,1516,5902,5896,5901,5899,5900],"class_list":["post-15340","manual_kb","type-manual_kb","status-publish","format-standard","has-post-thumbnail","hentry","manualknowledgebasecat-aplikacje-internetowe-cms","manualknowledgebasecat-hosting","manual_kb_tag-add-to-cart","manual_kb_tag-bypass-cache-on-cookie","manual_kb_tag-cache-everything","manual_kb_tag-cache-control","manual_kb_tag-cdn","manual_kb_tag-checkout","manual_kb_tag-cloudflare","manual_kb_tag-koszyk","manual_kb_tag-lcp","manual_kb_tag-logowanie","manual_kb_tag-stale-while-revalidate","manual_kb_tag-ttfb","manual_kb_tag-ttl","manual_kb_tag-wc-ajax","manual_kb_tag-woocommerce-cache","manual_kb_tag-woocommerce_cart_hash","manual_kb_tag-wordpress_logged_in_","manual_kb_tag-wp_woocommerce_session_"],"_links":{"self":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/15340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":1,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/15340\/revisions"}],"predecessor-version":[{"id":15341,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/15340\/revisions\/15341"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media\/10957"}],"wp:attachment":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media?parent=15340"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manualknowledgebasecat?post=15340"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb_tag?post=15340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}