{"id":17908,"date":"2026-02-22T11:48:24","date_gmt":"2026-02-22T10:48:24","guid":{"rendered":"https:\/\/webhosting.de\/wordpress-cache-invalidierung-performance-schneller\/"},"modified":"2026-02-22T11:48:24","modified_gmt":"2026-02-22T10:48:24","slug":"szybsza-wydajnosc-uniewazniania-pamieci-podrecznej-wordpress","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pl\/wordpress-cache-invalidierung-performance-schneller\/","title":{"rendered":"Uniewa\u017cnianie pami\u0119ci podr\u0119cznej WordPress: Dlaczego strony staj\u0105 si\u0119 nieoczekiwanie wolne?"},"content":{"rendered":"<p><strong>uniewa\u017cnienie pami\u0119ci podr\u0119cznej wordpress<\/strong> decyduje o tym, czy odwiedzaj\u0105cy zobacz\u0105 aktualn\u0105 zawarto\u015b\u0107, czy te\u017c sko\u0144cz\u0105 na kosztownych przerwach w \u0142adowaniu. Nieoczekiwane spowolnienie pojawia si\u0119, gdy usuwanie pami\u0119ci podr\u0119cznej idzie za daleko, przychodzi zbyt p\u00f3\u017ano lub koliduje z wtyczkami i regu\u0142ami CDN.<\/p>\n\n<h2>Punkty centralne<\/h2>\n<p>Pokr\u00f3tce podsumuj\u0119 najwa\u017cniejsze aspekty, aby\u015b m\u00f3g\u0142 podj\u0105\u0107 ukierunkowane dzia\u0142ania i unikn\u0105\u0107 niepotrzebnych strat wydajno\u015bci.<\/p>\n<ul>\n  <li><strong>Uniewa\u017cnienie<\/strong>Usuwanie nieaktualnych wpis\u00f3w z pami\u0119ci podr\u0119cznej bez spowalniania ca\u0142ego systemu.<\/li>\n  <li><strong>TTL<\/strong>Dobierz czasy uruchamiania tak, aby zawarto\u015b\u0107 pozosta\u0142a \u015bwie\u017ca, a obci\u0105\u017cenie niskie.<\/li>\n  <li><strong>\u0141adowanie wst\u0119pne<\/strong>Zape\u0142nij zimne skrytki z wyprzedzeniem, aby pierwszy odwiedzaj\u0105cy nie musia\u0142 czeka\u0107.<\/li>\n  <li><strong>Pami\u0119\u0107 podr\u0119czna obiekt\u00f3w<\/strong>Zmniejszenie liczby dost\u0119p\u00f3w do bazy danych i utrzymanie stabilnych czas\u00f3w reakcji.<\/li>\n  <li><strong>Konflikty<\/strong>Wtyczki buforuj\u0105ce, CDN i zasady hostingu musz\u0105 by\u0107 odpowiednio zharmonizowane.<\/li>\n<\/ul>\n\n<h2>Co w\u0142a\u015bciwie oznacza uniewa\u017cnienie pami\u0119ci podr\u0119cznej w WordPress?<\/h2>\n<p><strong>Uniewa\u017cnienie pami\u0119ci podr\u0119cznej<\/strong> w WordPressie specjalnie usuwa nieaktualne kopie stron, zapyta\u0144 lub zasob\u00f3w, gdy tylko oryginalne dane ulegn\u0105 zmianie. Je\u015bli aktualizuj\u0119 post, system musi rozpozna\u0107 odpowiednie pami\u0119ci podr\u0119czne: Page cache, object cache, cache przegl\u0105darki i ewentualnie CDN. G\u0142\u00f3wnym zadaniem jest dostarczanie \u015bwie\u017cych tre\u015bci bez zwi\u0119kszania czasu \u0142adowania. Zbyt cz\u0119ste usuwanie tworzy pustyni\u0119 pami\u0119ci podr\u0119cznej, kt\u00f3ra zauwa\u017calnie spowalnia ponowne \u0142adowanie. Zbyt rzadkie usuwanie zapewnia nieaktualne informacje, co kosztuje zaufanie, je\u015bli chodzi o ceny, dost\u0119pno\u015b\u0107 i wiadomo\u015bci. Prawid\u0142owo wdro\u017cony, utrzymuj\u0119 wysoki wsp\u00f3\u0142czynnik trafie\u0144, aktualne dane i kr\u00f3tki czas reakcji.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/02\/serverraum-langsam-7823.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Dlaczego strony nagle \u0142aduj\u0105 si\u0119 wolniej?<\/h2>\n<p><strong>powolno\u015b\u0107<\/strong> cz\u0119sto ma prost\u0105 przyczyn\u0119: zimne pami\u0119ci podr\u0119czne po usuni\u0119ciu zbyt wielu stron lub zmianie o du\u017cym zakresie. Je\u015bli wiele stron staje si\u0119 niewa\u017cnych w tym samym czasie, nowe \u017c\u0105dania trafiaj\u0105 do bazy danych i PHP bez sprawdzenia i powoduj\u0105 przeci\u0105\u017cenie. Nieprawid\u0142owo ustawione TTL prowadz\u0105 r\u00f3wnie\u017c do kr\u00f3tkich faz du\u017cego obci\u0105\u017cenia, na przyk\u0142ad gdy wiele popularnych stron dzia\u0142a w tym samym czasie. Konflikty mi\u0119dzy pami\u0119ci\u0105 podr\u0119czn\u0105 wtyczki, pami\u0119ci\u0105 podr\u0119czn\u0105 serwera i CDN zaostrzaj\u0105 problem, poniewa\u017c ka\u017cda cz\u0119\u015b\u0107 uniewa\u017cnia si\u0119 inaczej. Je\u015bli wyst\u0119puje r\u00f3wnie\u017c niezoptymalizowany kod lub rozd\u0119ta baza danych, timeouty staj\u0105 si\u0119 cz\u0119stsze. Czasy \u0142adowania szybko przekraczaj\u0105 krytyczne 3 sekundy, podczas gdy czyste buforowanie cz\u0119sto pozostaje poni\u017cej 500 milisekund.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/02\/wp_cache_meeting_4723.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Por\u00f3wnanie metod uniewa\u017cniania pami\u0119ci podr\u0119cznej<\/h2>\n<p><strong>Wyb\u00f3r metod<\/strong> decyduje o tym, czy mog\u0119 stworzy\u0107 aktualno\u015b\u0107 i szybko\u015b\u0107 w tym samym czasie. Usuwanie oparte na czasie (TTL) jest proste, ale mo\u017ce powodowa\u0107 zbyt wiele nowych tre\u015bci lub zbyt wiele nieaktualnych tre\u015bci. Uniewa\u017cnianie sterowane zdarzeniami precyzyjnie reaguje na zmiany i niezawodnie utrzymuje \u015bwie\u017co\u015b\u0107 tre\u015bci. Selektywne usuwanie skupia si\u0119 na dotkni\u0119tych stronach lub trasach i chroni reszt\u0119 krajobrazu pami\u0119ci podr\u0119cznej. Podej\u015bcia typu write-through zapisuj\u0105 zmiany w pami\u0119ci podr\u0119cznej i \u017ar\u00f3dle danych r\u00f3wnolegle, co wygl\u0105da czysto, ale poch\u0142ania czas obliczeniowy. Ca\u0142kowite wyczyszczenie pozostaje hamulcem bezpiecze\u0144stwa, kt\u00f3rego unikam, poniewa\u017c powoduje szczyty obci\u0105\u017cenia i spowalnia odwiedzaj\u0105cych.<\/p>\n<table>\n  <thead>\n    <tr>\n      <th>Metoda<\/th>\n      <th>Mocne strony<\/th>\n      <th>Ryzyko<\/th>\n      <th>Odpowiedni dla<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Czasowe (TTL)<\/td>\n      <td>Prosty <strong>System sterowania<\/strong><\/td>\n      <td>Jednoczesne dzia\u0142anie generuje obci\u0105\u017cenie<\/td>\n      <td>Strony statyczne, zasoby, archiwa<\/td>\n    <\/tr>\n    <tr>\n      <td>Zorientowane na wydarzenia<\/td>\n      <td>\u015awie\u017ca zawarto\u015b\u0107 bez <strong>Nad g\u0142ow\u0105<\/strong><\/td>\n      <td>Brakuj\u0105ce zdarzenia pozostawiaj\u0105 nieaktualne dane<\/td>\n      <td>Katalogi produkt\u00f3w, aktualno\u015bci, ceny<\/td>\n    <\/tr>\n    <tr>\n      <td>Zapis bezpo\u015bredni<\/td>\n      <td>Wysoki <strong>Synchroniczno\u015b\u0107<\/strong><\/td>\n      <td>Wi\u0119cej operacji we\/wy, w\u0105skie gard\u0142a przy du\u017cym nat\u0119\u017ceniu ruchu<\/td>\n      <td>Krytyczne strony szczeg\u00f3\u0142\u00f3w, ma\u0142e zestawy danych<\/td>\n    <\/tr>\n    <tr>\n      <td>Oczyszczanie selektywne<\/td>\n      <td>Delikatny <strong>Zasoby<\/strong><\/td>\n      <td>Wymaga dok\u0142adnego przypisania odpowiednich klawiszy<\/td>\n      <td>Blogi, sklepy, portale<\/td>\n    <\/tr>\n    <tr>\n      <td>Pe\u0142ne oczyszczenie<\/td>\n      <td>Szybko <strong>Remont<\/strong><\/td>\n      <td>Zimna pami\u0119\u0107 podr\u0119czna, d\u0142uga faza odbudowy<\/td>\n      <td>Rozwi\u0105zywanie problem\u00f3w, wyj\u0105tki<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n<p><strong>Praktyczny<\/strong> \u0141\u0105cz\u0119 TTL dla plik\u00f3w statycznych, zdarzenia dla zawarto\u015bci dynamicznej i selektywne czyszczenie dla dotkni\u0119tych tras. Dzi\u0119ki temu strona g\u0142\u00f3wna, bestsellery i kategorie pozostaj\u0105 ciep\u0142e, a prze\u0142adowywane s\u0105 tylko zmienione strony szczeg\u00f3\u0142owe. W sieciach CDN polegam na czyszczeniu poszczeg\u00f3lnych \u015bcie\u017cek lub tag\u00f3w zamiast czyszczenia wszystkiego. Na poziomie serwera u\u017cywam grup pami\u0119ci podr\u0119cznej, aby trasy administratora i API mia\u0142y twarde regu\u0142y. Ta mieszanka zauwa\u017calnie skraca czas uruchamiania i utrzymuje stabilny wska\u017anik odpowiedzi.<\/p>\n\n<h2>WooCommerce i spersonalizowana zawarto\u015b\u0107<\/h2>\n<p><strong>Sklepy<\/strong> wymagaj\u0105 szczeg\u00f3lnej uwagi, poniewa\u017c koszyk, ceny lub grupy klient\u00f3w s\u0105 spersonalizowane. Buforowanie HTML dla <em>Go\u015bcie<\/em> Agresywne i izolowane wra\u017cliwe trasy: \/cart, \/checkout, \/my-account, wc-ajax, admin-ajax.php, punkty ko\u0144cowe REST z autoryzacj\u0105. Pliki cookie, takie jak <code>woocommerce_items_in_cart<\/code>, <code>woocommerce_cart_hash<\/code>, <code>wp_woocommerce_session_*<\/code>, <code>wordpress_logged_in_*<\/code> oraz <code>woocommerce_recently_viewed<\/code> sygnalizuj\u0105, \u017ce HTML nie mo\u017ce by\u0107 ju\u017c udost\u0119pniany globalnie. W takich przypadkach ustawiam warto\u015b\u0107 <strong>Zmienne oparte na plikach cookie<\/strong> lub ca\u0142kowicie omin\u0105\u0107 pami\u0119\u0107 podr\u0119czn\u0105 strony.<\/p>\n<p><strong>Fragmenty<\/strong> takie jak mini-kartoteka, listy \u017cycze\u0144 lub personalizacje s\u0105 enkapsulowane oddzielnie: albo za po\u015brednictwem ESI na kraw\u0119dzi (mini-komponenty z kr\u00f3tkim TTL), albo po stronie serwera jako przej\u015bciowa\/fragmentowa pami\u0119\u0107 podr\u0119czna, kt\u00f3ra tylko ponownie renderuje te obszary. Dzi\u0119ki temu strony kategorii i listy produkt\u00f3w pozostaj\u0105 ciep\u0142e, podczas gdy koszyk jest wy\u015bwietlany na nowo. Wa\u017cne: Nonces, tokeny CSRF i ceny specyficzne dla klienta nie mog\u0105 trafi\u0107 do globalnej pami\u0119ci podr\u0119cznej; albo trzymam je poza pami\u0119ci\u0105 podr\u0119czn\u0105, albo od\u015bwie\u017cam je za pomoc\u0105 JavaScript po za\u0142adowaniu strony.<\/p>\n<p><strong>Ceny<\/strong> oraz <strong>Dost\u0119pno\u015b\u0107<\/strong> cz\u0119sto zmieniaj\u0105 si\u0119 asynchronicznie. Zamiast opr\u00f3\u017cnia\u0107 ca\u0142e kategorie, mapuj\u0119 wyczyszczenia na dotkni\u0119te strony produkt\u00f3w, ich kategorie, archiwa marek i ewentualnie stron\u0119 startow\u0105, je\u015bli element si\u0119 tam pojawia. W przypadku masowych zmian (np. import zapas\u00f3w) u\u017cywam kolejki oczyszczania z backoffem, aby CDN nie osi\u0105gn\u0105\u0142 \u017cadnych limit\u00f3w szybko\u015bci, a Origin nie przegrza\u0142 si\u0119.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/02\/wordpresscacheinvalidierung1234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Konfiguracja: od TTL do wst\u0119pnego \u0142adowania pami\u0119ci podr\u0119cznej<\/h2>\n<p><strong>TTL<\/strong> Ustawiam roz\u0142o\u017cone w czasie czasy trwania: D\u0142ugie czasy uruchamiania dla statycznych zasob\u00f3w (np. 7-30 dni), \u015brednie dla stron z rzadkimi zmianami (np. 1-6 godzin) i kr\u00f3tkie dla bardzo dynamicznych tras (np. 5-20 minut). W ten spos\u00f3b unikam du\u017cych, jednoczesnych proces\u00f3w. Ponadto aktywnie zasilam pami\u0119\u0107 podr\u0119czn\u0105 strony, aby pierwszy prawdziwy odwiedzaj\u0105cy nie sta\u0142 si\u0119 testerem wydajno\u015bci dnia. Aby si\u0119 rozgrza\u0107, u\u017cywam map witryn, wewn\u0119trznych metryk i ostatnich najpopularniejszych adres\u00f3w URL tygodnia. Ustrukturyzowany <a href=\"https:\/\/webhosting.de\/pl\/wordpress-cache-warmup-cold-cache-wydajnosc-warmboost\/\">Rozgrzewanie pami\u0119ci podr\u0119cznej<\/a> zapobiega powstawaniu zimnych kraw\u0119dzi i skraca rzeczywisty czas pierwszego bajtu. Pozostaje to wa\u017cne: Wst\u0119pne \u0142adowanie szczeg\u00f3lnie po wdro\u017ceniach lub aktualizacjach cen, aby nie wszystko uruchamia\u0142o si\u0119 od razu.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/02\/wordpress-cache-sanduhr-verlangsamt-0947.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Prawid\u0142owe korzystanie z pami\u0119ci podr\u0119cznej obiekt\u00f3w<\/h2>\n<p><strong>Pami\u0119\u0107 podr\u0119czna obiekt\u00f3w<\/strong> (Redis lub Memcached) zapisuje zapytania do bazy danych i stabilizuje stron\u0119 pod obci\u0105\u017ceniem. Zapewniam wysoki wsp\u00f3\u0142czynnik trafie\u0144 poprzez buforowanie powtarzaj\u0105cych si\u0119 zapyta\u0144, opcji i stan\u00f3w przej\u015bciowych. Zbyt du\u017ce lub rzadko u\u017cywane obiekty zapychaj\u0105 pami\u0119\u0107 i wypieraj\u0105 wa\u017cne klucze, dlatego pilnuj\u0119 maksymalnych rozmiar\u00f3w. Trwa\u0142o\u015b\u0107 zapewnia, \u017ce zawarto\u015b\u0107 pami\u0119ci podr\u0119cznej przetrwa wdro\u017cenia, podczas gdy selektywne p\u0142ukanie wp\u0142ywa tylko na zmienione grupy. W przypadku cz\u0119sto odwiedzanych stron, dobra pami\u0119\u0107 podr\u0119czna obiekt\u00f3w przyspiesza dostarczanie o rz\u0119dy wielko\u015bci, zw\u0142aszcza gdy przychodzi wiele podobnych \u017c\u0105da\u0144. Je\u015bli pami\u0119\u0107 podr\u0119czna jest pe\u0142na, monitoruj\u0119 statystyki LRU i dostosowuj\u0119 pami\u0119\u0107, TTL i wyj\u0105tki.<\/p>\n\n<h2>Wielozak\u0142adowo\u015b\u0107, wieloj\u0119zyczno\u015b\u0107 i kluczowe strategie<\/h2>\n<p><strong>Multisite<\/strong> oraz <strong>Wieloj\u0119zyczno\u015b\u0107<\/strong> wymagaj\u0105 czystych przestrzeni kluczy. Oddzielam klucze pami\u0119ci podr\u0119cznej obiekt\u00f3w wed\u0142ug identyfikatora\/prefiksu bloga, aby czyszczenie nie trafi\u0142o przypadkowo na s\u0105siednie strony. W przypadku pami\u0119ci podr\u0119cznej stron zapobiegam mieszaniu wariant\u00f3w, nadaj\u0105c \u015bcie\u017ckom j\u0119zykowym (np. \/de\/, \/en\/) lub domenom w\u0142asne wiadra. R\u00f3\u017cne regu\u0142y dotycz\u0105ce <em>Akceptuj j\u0119zyk<\/em> poniewa\u017c generuj\u0105 niekontrolowane warianty; zamiast tego unikalne j\u0119zykowe adresy URL s\u0105 bardziej niezawodne.<\/p>\n<p><strong>Zakres oczyszczania<\/strong> pomaga utrzyma\u0107 du\u017ce instancje pod kontrol\u0105: Post w \/en\/ uniewa\u017cnia tylko jego wariant j\u0119zykowy oraz powi\u0105zane archiwa i kana\u0142y. Nawigacje, stopki i wid\u017cety s\u0105 cz\u0119sto wieloj\u0119zyczne lub wielostronicowe; przypisuj\u0119 im w\u0142asne klucze zast\u0119pcze, aby specjalnie je wyczy\u015bci\u0107, gdy menu s\u0105 aktualizowane bez zamiatania ca\u0142ych witryn. W przypadku mapowania domen zapewniam oddzielne walidacje CDN dla ka\u017cdej nazwy hosta, aby nie wszyscy klienci zaczynali zimno w tym samym czasie.<\/p>\n<p><strong>Warianty mobilne<\/strong> Rozdzielam je tylko wtedy, gdy struktura HTML naprawd\u0119 si\u0119 r\u00f3\u017cni. Projekt responsywny bez r\u00f3\u017cnic w HTML nie wymaga wariantu mobilnego, w przeciwnym razie niepotrzebnie zmniejszasz o po\u0142ow\u0119 wska\u017anik HIT. Tam, gdzie to konieczne, u\u017cywam zdefiniowanej zmiennej (np. na oddzielnym pliku cookie urz\u0105dzenia) zamiast podzia\u0142u user-agent, kt\u00f3ry generuje zbyt wiele wariant\u00f3w.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/02\/wordpress-cache-langsamer-2903.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Bezkonfliktowe korzystanie z pami\u0119ci podr\u0119cznej wtyczek i hostingu<\/h2>\n<p><strong>Konflikty<\/strong> powstaj\u0105, gdy pami\u0119\u0107 podr\u0119czna wtyczki, pami\u0119\u0107 podr\u0119czna po stronie serwera i CDN stosuj\u0105 w\u0142asne regu\u0142y w tym samym czasie. Zwykle pozwalam tylko jednej warstwie na przechowywanie pami\u0119ci podr\u0119cznej strony HTML i u\u017cywam innych warstw g\u0142\u00f3wnie do dostarczania zasob\u00f3w i kraw\u0119dzi. Oznaczam administracj\u0119, kas\u0119 i spersonalizowane trasy jako niepodlegaj\u0105ce buforowaniu, aby sesje i koszyki pozosta\u0142y czyste. Je\u015bli host wymaga ju\u017c mikrobuforowania Nginx lub Varnish, dezaktywuj\u0119 zduplikowane funkcje buforowania stron we wtyczce. Kontroluj\u0119 sieci CDN za pomoc\u0105 oczyszczania \u015bcie\u017cek lub tag\u00f3w i \u0142\u0105cz\u0119 je ze zdarzeniami WordPressa, aby zmiany pojawia\u0142y si\u0119 natychmiast. Zapobiega to sprzecznym sygna\u0142om i zapewnia przejrzysto\u015b\u0107 kontroli.<\/p>\n\n<h2>Rozwi\u0105zywanie problem\u00f3w: Nieaktualna zawarto\u015b\u0107 i zimna pami\u0119\u0107 podr\u0119czna<\/h2>\n<p><strong>Diagnoza<\/strong> Zaczynam od sprawdzenia nag\u0142\u00f3wk\u00f3w: czy Cache-Control, Age i HIT\/MISS dzia\u0142aj\u0105 zgodnie z oczekiwaniami? Nast\u0119pnie sprawdzam dzienniki czyszczenia i zadania cron, kt\u00f3rych mo\u017ce brakowa\u0107 lub kt\u00f3re s\u0105 uruchamiane zbyt rzadko. Je\u015bli strony pozostaj\u0105 zimne, cz\u0119sto brakuje wst\u0119pnego \u0142adowania lub mapa witryny nie zawiera odpowiednich \u015bcie\u017cek. Nieaktualna zawarto\u015b\u0107 wskazuje na brakuj\u0105ce wydarzenia lub nieprawid\u0142ow\u0105 kategoryzacj\u0119, na przyk\u0142ad je\u015bli kategorie s\u0105 aktualizowane, ale tylko poszczeg\u00f3lne posty s\u0105 opr\u00f3\u017cniane. W przypadku niewyt\u0142umaczalnych waha\u0144, przygl\u0105dam si\u0119 jednoczesnym procesom TTL wielu najlepszych sprzedawc\u00f3w. Ukierunkowane wdro\u017cenie staggeringu TTL szybko rozwi\u0105zuje ten w\u0119ze\u0142.<\/p>\n\n<h2>ESI, buforowanie fragment\u00f3w i cz\u0119\u015bciowe buforowanie<\/h2>\n<p><strong>Buforowanie fragment\u00f3w<\/strong> umo\u017cliwia statyczne pow\u0142oki z dynamicznymi wyspami. Dzi\u0119ki ESI (Edge Side Includes), CDN mo\u017ce z\u0142o\u017cy\u0107 stron\u0119 z kilku blok\u00f3w: Pow\u0142oka (d\u0142ugi TTL) plus ma\u0142e fragmenty, takie jak status logowania lub mini-kartoteka (kr\u00f3tki TTL lub no-cache). Po stronie serwera polegam na <strong>Cz\u0119\u015bciowe buforowanie<\/strong> poprzez Transients\/Options i pogrupuj je wed\u0142ug funkcji (np. <em>fragment:menu:primary<\/em>). Tylko dana grupa jest uniewa\u017cniana, gdy menu, banery lub bloki ulegaj\u0105 zmianie.<\/p>\n<p><strong>Nonces<\/strong> a tokeny krytyczne czasowo nie nale\u017c\u0105 do globalnej pami\u0119ci podr\u0119cznej. Renderuj\u0119 je w blokach ESI lub zast\u0119puj\u0119 je po za\u0142adowaniu strony przez Ajax. Zapobiega to komunikatom o b\u0142\u0119dach z powodu wygas\u0142ych token\u00f3w na buforowanych stronach. W przypadku witryn o du\u017cym nat\u0119\u017ceniu ruchu warto zastosowa\u0107 limit renderowania na fragment oraz koalescencj\u0119 \u017c\u0105da\u0144, aby setki \u017c\u0105da\u0144 nie tworzy\u0142y tej samej sekcji w tym samym czasie.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/02\/wordpress_cache_2784.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Pu\u0142apki wydajno\u015bci: Cache busting, ci\u0105gi zapyta\u0144, OPcache<\/h2>\n<p><strong>Niszczenie pami\u0119ci podr\u0119cznej<\/strong> U\u017cywanie losowych ci\u0105g\u00f3w zapyta\u0144 (np. ?v=123) za\u015blepia cache i tworzy niepotrzebne warianty. U\u017cywam parametr\u00f3w wersji tylko w kontrolowany spos\u00f3b, najlepiej jako cz\u0119\u015b\u0107 nazwy pliku w kompilacji zasob\u00f3w. Bior\u0119 r\u00f3wnie\u017c pod uwag\u0119 PHP OPcache: du\u017ce zmiany kodu lub cz\u0119ste uniewa\u017cnianie mog\u0105 powodowa\u0107 kr\u00f3tkoterminowe skoki op\u00f3\u017anie\u0144. Je\u015bli wdro\u017cenia b\u0119d\u0105 p\u0142ynne, a resetowanie OPcache wykonywane oszcz\u0119dnie, TTFB b\u0119dzie dzia\u0142a\u0107 p\u0142ynniej. T\u0142o i \u015brodki zaradcze podsumowa\u0142em w moim artykule na stronie <a href=\"https:\/\/webhosting.de\/pl\/php-opcache-uniewaznienie-wzrosty-wydajnosci-przyspieszenie-serwera\/\">Walidacja OPcache<\/a> razem. Te szczeg\u00f3\u0142y decyduj\u0105 o tym, czy uruchomienie przebiega p\u0142ynnie, czy te\u017c wszyscy u\u017cytkownicy czekaj\u0105 w tym samym czasie.<\/p>\n\n<h2>Strategie buforowania HTTP: stale-while-revalidate, stale-if-error i koalescencja<\/h2>\n<p><strong>Stale-While-Revalidate<\/strong> kontynuuje dostarczanie starej zawarto\u015bci odwiedzaj\u0105cym przez kr\u00f3tki czas, podczas gdy nowa zawarto\u015b\u0107 jest tworzona w tle. Pozwala to utrzyma\u0107 niski czas reakcji i unikn\u0105\u0107 szczyt\u00f3w obci\u0105\u017cenia po oczyszczeniu. <strong>Stale-If-Error<\/strong> zapewnia dost\u0119pno\u015b\u0107, gdy Origin jest s\u0142aby: lepsza nieco przestarza\u0142a zawarto\u015b\u0107 w kr\u00f3tkim okresie ni\u017c b\u0142\u0119dy 5xx. W po\u0142\u0105czeniu z <strong>\u017b\u0105danie koalescencji<\/strong> (Collapsed Forwarding), tylko jedno \u017c\u0105danie Origin jest odpowiedzialne za uzupe\u0142nienie, wszystkie inne czekaj\u0105 lub staj\u0105 si\u0119 nieaktualne.<\/p>\n<p><strong>Przyk\u0142ad nag\u0142\u00f3wka<\/strong> dla strony HTML z czasami buforowania:<\/p>\n<pre><code>Cache-Control: public, max-age=300, stale-while-revalidate=30, stale-if-error=86400\nSurrogate-Control: max-age=300, stale-while-revalidate=30, stale-if-error=86400\nVary: Cookie<\/code><\/pre>\n<p><strong>Precyzyjna regulacja<\/strong>W przypadku cz\u0119sto odwiedzanych stron zwi\u0119kszam <em>stale-while-revalidate<\/em>, aby wszyscy u\u017cytkownicy nigdy nie czekali na prze\u0142adowanie. W przypadku wra\u017cliwych stron (np. przegl\u0105d\u00f3w cen) utrzymuj\u0119 kr\u00f3tkie okna. Wa\u017cna jest sp\u00f3jno\u015b\u0107 mi\u0119dzy Edge, proxy i przegl\u0105dark\u0105: Przegl\u0105darki mog\u0105 mie\u0107 bardziej rygorystyczny maksymalny wiek, podczas gdy s-maxage\/Surrogate-Control pozwala CDN trzyma\u0107 d\u0142u\u017cej.<\/p>\n\n<h2>Poprawne ustawienie nag\u0142\u00f3wka HTTP<\/h2>\n<p><strong>Nag\u0142\u00f3wek<\/strong> kontroluj\u0105 spos\u00f3b buforowania przez przegl\u0105darki, serwery proxy i CDN: Cache-Control, s-maxage, ETag i Vary bezpo\u015brednio wp\u0142ywaj\u0105 na wska\u017anik trafie\u0144. W przypadku stron skierowanych do u\u017cytkownika ustawiam Vary na pliki cookie lub nag\u0142\u00f3wki, aby unikn\u0105\u0107 mieszanych wynik\u00f3w. Statyczne zasoby otrzymuj\u0105 d\u0142ugie warto\u015bci s-maxage w CDN, podczas gdy TTL przegl\u0105darki pozostaje umiarkowany, aby aktualizacje dociera\u0142y. U\u017cywam kluczy zast\u0119pczych do oczyszczania okre\u015blonych kolekcji stron, takich jak wszystkie posty w kategorii. Je\u015bli mieszasz nieczyste dyrektywy, mimowolnie sabotujesz buforowanie; szczeg\u00f3\u0142y mo\u017cna znale\u017a\u0107 pod adresem <a href=\"https:\/\/webhosting.de\/pl\/http-cache-headers-sabotieren-caching-cachefix\/\">Nag\u0142\u00f3wek pami\u0119ci podr\u0119cznej HTTP<\/a> wyja\u015bnione. Czysta, sp\u00f3jna strategia stanowi r\u00f3\u017cnic\u0119 mi\u0119dzy HIT-fest a MISS-orgy.<\/p>\n\n<h2>REST API, wyszukiwanie i konfiguracje bezg\u0142owe<\/h2>\n<p><strong>Interfejsy API REST i GraphQL<\/strong> s\u0105 predestynowane do buforowania, o ile \u017c\u0105dania s\u0105 anonimowe i idempotentne (GET). Buforuj\u0119 \u017c\u0105dania GET z ci\u0105gami zapyta\u0144 na poziomie kraw\u0119dzi i w pami\u0119ci podr\u0119cznej obiekt\u00f3w, ale r\u00f3\u017cni\u0105 si\u0119 one od <em>Autoryzacja<\/em> i odpowiednie nag\u0142\u00f3wki, aby spersonalizowane odpowiedzi nie by\u0142y udost\u0119pniane. W przypadku zapyta\u0144 wyszukiwania (<code>?s=<\/code>), ustawiam umiarkowany TTL i normalizuj\u0119 parametry, aby unikn\u0105\u0107 duplikat\u00f3w (np. spacji, wielkich\/ma\u0142ych liter). Listy trafie\u0144 z <code>WP_Query<\/code> trafiaj\u0105 do pami\u0119ci podr\u0119cznej obiekt\u00f3w z ostro\u017cnym TTL, podczas gdy pami\u0119\u0107 podr\u0119czna HTML strony dla wynik\u00f3w wyszukiwania jest zwykle kr\u00f3tka.<\/p>\n<p><strong>Bezg\u0142owy<\/strong>-Frontendy korzystaj\u0105 z oczyszczania opartego na tagach: zmodyfikowany post czy\u015bci sw\u00f3j zas\u00f3b API i wszystkie listy\/kana\u0142y, kt\u00f3re go zawieraj\u0105. Czyszczenia \u0142\u0105cz\u0119 w partie i zwalniam Origin z koalescencji. Webhooki, wywo\u0142ania zwrotne p\u0142atno\u015bci i akcje administratora pozostaj\u0105 \u015bci\u015ble niebuforowane, dzi\u0119ki czemu integracje dzia\u0142aj\u0105 niezawodnie.<\/p>\n\n<h2>Monitorowanie i testowanie: pomiar zamiast zgadywania<\/h2>\n<p><strong>Zmierzone warto\u015bci<\/strong> dostarczaj\u0105 dowod\u00f3w: TTFB, stosunek HIT\/MISS, wska\u017aniki b\u0142\u0119d\u00f3w, obci\u0105\u017cenia szczytowe i czasy rozgrzewania nale\u017c\u0105 do pulpitu nawigacyjnego. Najpierw testuj\u0119 zmiany w etapach przej\u015bciowych, sprawdzam uruchomienia formularzy, kasy i spersonalizowane strony oraz symuluj\u0119 obci\u0105\u017cenie za pomoc\u0105 zimnej i ciep\u0142ej pami\u0119ci podr\u0119cznej. Rozk\u0142adam rollouty na okna czasowe, aby TTL nie ko\u0144czy\u0142y si\u0119 w tym samym czasie. U\u017cywam kontroli syntetycznych do rozpoznawania grup stron, kt\u00f3re uruchamiaj\u0105 si\u0119 cz\u0119\u015bciej ni\u017c planowano. Testy A\/B dla TTL i interwa\u0142\u00f3w \u0142adowania wst\u0119pnego pokazuj\u0105, gdzie mog\u0119 zaoszcz\u0119dzi\u0107 zasoby bez utraty \u015bwie\u017co\u015bci. Je\u015bli mierzysz w spos\u00f3b przejrzysty, mo\u017cesz szybko i niezawodnie znale\u017a\u0107 \u015bruby regulacyjne.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/02\/wordpress-cache-langsamer-2903.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Strategie wydawania i wdra\u017cania<\/h2>\n<p><strong>wdro\u017cenia<\/strong> Starannie planuj\u0119: przed wdro\u017ceniem rozgrzewam krytyczne \u015bcie\u017cki (strona startowa, kategorie, bestsellery) w ukierunkowany spos\u00f3b. Zmieniam wersje zasob\u00f3w w kontrolowany spos\u00f3b bez tworzenia niepotrzebnych wariant\u00f3w HTML. Resety OPcache wykonuj\u0119 etapami i poza godzinami szczytu, aby zminimalizowa\u0107 szczyty op\u00f3\u017anie\u0144. Po wdro\u017ceniu uruchamiam <strong>oczyszczanie selektywne<\/strong> (tagi\/\u015bcie\u017cki) zamiast opr\u00f3\u017cniania ca\u0142ego CDN.<\/p>\n<p><strong>Orkiestracja oczyszczania<\/strong> zapobiega limitom stawek: Zbieram zdarzenia (post-update, zmiana menu, import cen) w kolejce, usuwam duplikaty identycznych cel\u00f3w (debounce) i wysy\u0142am partie w ustalonych odst\u0119pach czasu. W przypadku bardzo du\u017cych witryn dodaj\u0119 <em>okres karencji<\/em>-Mechanizm: Najpierw czyszczenie na cz\u0119\u015bci kraw\u0119dzi, nast\u0119pnie rozgrzewanie, a nast\u0119pnie globalne wdro\u017cenie. Utrzymuje to niski poziom b\u0142\u0119d\u00f3w, nawet je\u015bli zmieni si\u0119 wiele zasob\u00f3w.<\/p>\n<p><strong>Grzmi\u0105cy piec<\/strong> Unikam tego dzi\u0119ki mikrobuforowaniu (kr\u00f3tkie TTL w zakresie sekund), koalescencji i strategiom nieaktualno\u015bci. Nginx\/varnish busy locks i CDN collapsed forwarding zapewniaj\u0105, \u017ce nie wi\u0119cej ni\u017c jedno \u017c\u0105danie wyzwala przebudow\u0119. Rezultatem s\u0105 p\u0142ynne op\u00f3\u017anienia - nawet bezpo\u015brednio po oczyszczeniu lub podczas szczyt\u00f3w ruchu.<\/p>\n\n<h2>Ko\u0144cowe przemy\u015blenia<\/h2>\n<p><strong>Podsumowanie<\/strong> Dbam o szybko\u015b\u0107 WordPressa, celowo planuj\u0105c uniewa\u017cnienia, zamiast usuwa\u0107 je w ca\u0142o\u015bci. Zdarzenia czyszcz\u0105 w ukierunkowany spos\u00f3b, selektywne czyszczenie chroni ciep\u0142e cz\u0119\u015bci pami\u0119ci podr\u0119cznej, a stopniowane TTL pozwalaj\u0105 unikn\u0105\u0107 fal obci\u0105\u017cenia. Aktywne \u0142adowanie wst\u0119pne sprawia, \u017ce pierwsze trafienie jest szybkie, podczas gdy pami\u0119\u0107 podr\u0119czna obiekt\u00f3w i czyste nag\u0142\u00f3wki stabilizuj\u0105 baz\u0119. Konsekwentnie rejestrowane czyszczenie, niezawodne zadania cron i czyste procedury wdra\u017cania zapobiegaj\u0105 nieprzyjemnym niespodziankom. Je\u015bli rozwi\u0105\u017cesz konflikty mi\u0119dzy wtyczkami, serwerem i pami\u0119ci\u0105 podr\u0119czn\u0105 CDN i powa\u017cnie potraktujesz monitorowanie, osi\u0105gniesz kr\u00f3tkie czasy \u0142adowania, \u015bwie\u017c\u0105 zawarto\u015b\u0107 i lepsze rankingi. W ten spos\u00f3b wydajno\u015b\u0107 staje si\u0119 siln\u0105 sta\u0142\u0105, a nie codziennym cudem.<\/p>","protected":false},"excerpt":{"rendered":"<p>Napraw uniewa\u017cnianie pami\u0119ci podr\u0119cznej WordPress: Dowiedz si\u0119, dlaczego strony dzia\u0142aj\u0105 wolno, rozwi\u0105\u017c problemy z pami\u0119ci\u0105 podr\u0119czn\u0105 wp i zoptymalizuj problemy z wydajno\u015bci\u0105.<\/p>","protected":false},"author":1,"featured_media":17901,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","inline_featured_image":false,"footnotes":""},"categories":[733],"tags":[],"class_list":["post-17908","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"864","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"wordpress cache invalidation","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"17901","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/17908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/comments?post=17908"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/17908\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media\/17901"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media?parent=17908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/categories?post=17908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/tags?post=17908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}