{"id":28304,"date":"2025-12-20T13:21:10","date_gmt":"2025-12-20T13:21:10","guid":{"rendered":"https:\/\/purethemes.net\/?p=28304"},"modified":"2026-03-10T12:41:53","modified_gmt":"2026-03-10T12:41:53","slug":"optymalizacja-predkosci-wordpress-kompletny-przewodnik-techniczny","status":"publish","type":"post","link":"https:\/\/purethemes.net\/pl\/optymalizacja-predkosci-wordpress-kompletny-przewodnik-techniczny\/","title":{"rendered":"Maksymalna optymalizacja szybko\u015bci WordPressa: kompletny przewodnik techniczny 2026"},"content":{"rendered":"<p class=\"translation-block\">Twoja witryna WordPress jest wolna. Ty to wiesz, Twoi u\u017cytkownicy to wiedz\u0105, a co gorsza \u2013 wie o tym Google. Ka\u017cda sekunda op\u00f3\u017anienia kosztuje Ci\u0119 <strong>konwersje<\/strong>, <strong>pozycje w wynikach wyszukiwania<\/strong> i <strong>przychody<\/strong>. Dobra wiadomo\u015b\u0107? Wi\u0119kszo\u015b\u0107 problem\u00f3w z wydajno\u015bci\u0105 wynika z tej samej garstki b\u0142\u0119d\u00f3w, a ich naprawa wcale nie wymaga dyplomu z informatyki.<\/p>\n\n\n\n<p class=\"translation-block\">Ten poradnik obejmuje <strong>wszystko<\/strong>, czego potrzebujesz, aby zmieni\u0107 oci\u0119\u017ca\u0142\u0105 stron\u0119 WordPress w prawdziwego demona szybko\u015bci. M\u00f3wimy o <strong>czasie \u0142adowania poni\u017cej 2 sekund<\/strong> i <strong>wynikach 90+ w PageSpeed<\/strong>. Zero lania wody, zero og\u00f3lnik\u00f3w, kt\u00f3re czyta\u0142e\u015b ju\u017c setki razy. Tylko konkretne, sprawdzone techniki, kt\u00f3re naprawd\u0119 dzia\u0142aj\u0105.<\/p>\n\n\n\n<p>Naprawmy Twoj\u0105 stron\u0119.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Zrozumienie, dlaczego WordPress zwalnia<\/h2>\n\n\n\n<p>Zanim zaczniesz zasypywa\u0107 problem wtyczkami, musisz zrozumie\u0107, co tak naprawd\u0119 spowalnia stron\u0119. Sam WordPress jest ca\u0142kiem wydajny. Spowolnienie wynika z tego, co dok\u0142adamy ponad jego podstaw\u0119.<\/p>\n\n\n\n<p><strong>Typowi podejrzani:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>Nieskompresowane obrazy<\/strong> poch\u0142aniaj\u0105ce transfer (cz\u0119sto <strong>50\u201370% ca\u0142kowitej wagi strony<\/strong>)<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Zbyt wiele wtyczek<\/strong> wykonuje zapytania do bazy danych i \u0142aduje skrypty<\/li>\n\n\n\n<li><strong>No caching<\/strong> forcing WordPress to rebuild pages from scratch every time<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Prze\u0142adowane motywy<\/strong> z funkcjami, kt\u00f3rych nigdy nie u\u017cyjesz<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Za\u015bmiecona baza danych<\/strong> latami wersji roboczych, spamu i porzuconych danych wtyczek<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Zasoby blokuj\u0105ce renderowanie<\/strong>, kt\u00f3re zmuszaj\u0105 przegl\u0105darki do czekania przed wy\u015bwietleniem tre\u015bci<\/li>\n<\/ul>\n\n\n\n<p class=\"translation-block\">Kluczowe spostrze\u017cenie jest takie, \u017ce optymalizacja szybko\u015bci to nie jedna rzecz. To <strong>warsstwy<\/strong>. Ka\u017cda zoptymalizowana warstwa wzmacnia korzy\u015bci p\u0142yn\u0105ce z pozosta\u0142ych. Strona z \u015bwietnym cache\u2019owaniem, ale fatalnie zoptymalizowanymi obrazami, wci\u0105\u017c b\u0119dzie wolna. Strona z zoptymalizowanymi obrazami, ale bez cache\u2019owania, tak\u017ce b\u0119dzie wolna.<\/p>\n\n\n\n<p class=\"translation-block\">You need to address <strong>all the layers<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-32-1024x731.png\" alt=\"\" class=\"wp-image-28310\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-32-1024x731.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-32-300x214.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-32-768x548.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-32-18x12.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-32-710x507.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-32.png 1062w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Pomiar aktualnej wydajno\u015bci<\/h2>\n\n\n\n<p>Nie mo\u017cesz ulepszy\u0107 czego\u015b, czego nie mierzysz. Zanim cokolwiek zmienisz, zr\u00f3b benchmark swojej obecnej wydajno\u015bci, aby m\u00f3c \u015bledzi\u0107 post\u0119py.<\/p>\n\n\n\n<p class=\"translation-block\">Jak wida\u0107, jako autorzy motyw\u00f3w dbamy o optymalizacj\u0119 naszych produkt\u00f3w. Poni\u017cej znajduj\u0105 si\u0119 wyniki dla naszego motywu <a href=\"https:\/\/purethemes.net\/listeo\/\" target=\"_self\">Listeo<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"384\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-64-1024x384.png\" alt=\"\" class=\"wp-image-28381\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-64-1024x384.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-64-300x113.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-64-768x288.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-64-18x7.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-64-710x266.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-64.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Narz\u0119dzia testowe, kt\u00f3rych naprawd\u0119 potrzebujesz<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"translation-block\"><strong><a href=\"https:\/\/pagespeed.web.dev\" rel=\"nofollow noopener\" target=\"_blank\">Google PageSpeed Insights<\/a><\/strong> (pagespeed.web.dev) dostarcza metryk, kt\u00f3rych Google faktycznie u\u017cywa do ranking\u00f3w. Sekcja \u201efield data\u201d pokazuje rzeczywiste do\u015bwiadczenia u\u017cytkownik\u00f3w, natomiast \u201elab data\u201d prezentuje wyniki test\u00f3w w kontrolowanych warunkach. Oba typy danych maj\u0105 znaczenie.<\/li>\n\n\n\n<li class=\"translation-block\"><strong><a href=\"https:\/\/gtmetrix.com\" rel=\"nofollow noopener\" target=\"_blank\">GTmetrix<\/a><\/strong> (gtmetrix.com) oferuje szczeg\u00f3\u0142owe wykresy typu waterfall, pokazuj\u0105ce dok\u0142adnie, co \u0142aduje si\u0119 i kiedy. Darmowy plan wystarczy do wi\u0119kszo\u015bci analiz i diagnostyki.<\/li>\n\n\n\n<li class=\"translation-block\"><strong><a href=\"https:\/\/webpagetest.org\" rel=\"nofollow noopener\" target=\"_blank\">WebPageTest<\/a><\/strong> (webpagetest.org) oferuje zaawansowane testy z wielu lokalizacji oraz widok filmu poklatkowego, kt\u00f3ry pokazuje, jak Twoja strona jest renderowana klatka po klatce.<\/li>\n\n\n\n<li class=\"translation-block\"><strong><a href=\"https:\/\/wordpress.org\/plugins\/query-monitor\/\" rel=\"nofollow noopener\" target=\"_blank\">Query Monitor<\/a><\/strong> to wtyczka WordPress do debugowania zaplecza. Pokazuje, kt\u00f3re wtyczki wykonuj\u0105 wolne zapytania do bazy danych, ile zapyta\u0144 generuje ka\u017cda strona oraz kt\u00f3re skrypty \u0142aduj\u0105 si\u0119 w jakich miejscach.<\/li>\n\n\n\n<li class=\"translation-block\"><strong><a href=\"https:\/\/wordpress.org\/plugins\/wpbenchmark\/\" rel=\"nofollow noopener\" target=\"_blank\">Hosting Benchmark Tool<\/a><\/strong> \u2013 Ta wtyczka umo\u017cliwia szczeg\u00f3\u0142ow\u0105 ocen\u0119 wydajno\u015bci serwera hostingowego WordPressa na podstawie szczeg\u00f3\u0142owych, obiektywnych metryk<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"627\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/wordpress-speed-gtmetrix-1024x627.jpg\" alt=\"\" class=\"wp-image-28308\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/wordpress-speed-gtmetrix-1024x627.jpg 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/wordpress-speed-gtmetrix-300x184.jpg 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/wordpress-speed-gtmetrix-768x470.jpg 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/wordpress-speed-gtmetrix-1536x940.jpg 1536w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/wordpress-speed-gtmetrix-2048x1253.jpg 2048w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/wordpress-speed-gtmetrix-18x12.jpg 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/wordpress-speed-gtmetrix-710x435.jpg 710w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Jak prawid\u0142owo testowa\u0107<\/h3>\n\n\n\n<p class=\"translation-block\">Przeprowad\u017a <strong>co najmniej 3 testy<\/strong> dla ka\u017cdej strony i u\u017cyj wyniku \u015brodkowego. Sieci si\u0119 zmieniaj\u0105, serwery maj\u0105 lepsze i gorsze momenty, a pojedyncze testy mog\u0105 by\u0107 myl\u0105ce.<\/p>\n\n\n\n<p class=\"translation-block\">Testuj z <strong>lokalizacji, w kt\u00f3rych faktycznie znajduj\u0105 si\u0119 Twoi u\u017cytkownicy<\/strong>. Je\u015bli Twoja publiczno\u015b\u0107 jest w Niemczech, testowanie z Wirginii niewiele Ci powie.<\/p>\n\n\n\n<p class=\"translation-block\">Zawsze testuj <strong>wydajno\u015b\u0107 mobiln\u0105 w pierwszej kolejno\u015bci<\/strong>. Google korzysta z indeksowania mobile-first, a wyniki na urz\u0105dzeniach mobilnych s\u0105 prawie zawsze gorsze ni\u017c na komputerach stacjonarnych. Je\u015bli Tw\u00f3j wynik mobilny jest dobry, wersja desktopowa zadba o siebie sama.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Wyczy\u015b\u0107 wszystkie pami\u0119ci podr\u0119czne<\/strong> mi\u0119dzy testami podczas wprowadzania zmian. Obejmuje to pami\u0119\u0107 podr\u0119czn\u0105 WordPressa, CDN oraz przegl\u0105darki. W przeciwnym razie testujesz stare wersje.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Najpierw przetestuj sw\u00f3j hosting (to kluczowe)<\/h2>\n\n\n\n<p class=\"translation-block\">Oto prawda, kt\u00f3r\u0105 wi\u0119kszo\u015b\u0107 poradnik\u00f3w optymalizacyjnych pomija: <strong>\u017cadna ilo\u015b\u0107 cache\u2019owania, kompresji obraz\u00f3w ani modyfikacji kodu nie naprawi wolnego hostingu<\/strong>. Je\u015bli Tw\u00f3j serwer potrzebuje 2 sekund tylko na odpowied\u017a, walczysz z jedn\u0105 r\u0119k\u0105 zwi\u0105zan\u0105 za plecami.<\/p>\n\n\n\n<p class=\"translation-block\">Zanim po\u015bwi\u0119cisz godziny na optymalizacje, <strong>przetestuj wydajno\u015b\u0107 swojego hostingu<\/strong>. Musisz wiedzie\u0107, czy g\u00f3rny limit wydajno\u015bci nie wynika z samego serwera.<\/p>\n\n\n\n<p class=\"translation-block\">Wtyczka do testowania wydajno\u015bci hostingu: <a href=\"https:\/\/wordpress.org\/plugins\/wpbenchmark\/\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/wordpress.org\/plugins\/wpbenchmark\/<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-62-1024x536.png\" alt=\"\" class=\"wp-image-28371\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-62-1024x536.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-62-300x157.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-62-768x402.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-62-1536x805.png 1536w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-62-18x9.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-62-710x372.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-62.png 1764w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Dlaczego wydajno\u015b\u0107 hostingu ma wi\u0119ksze znaczenie, ni\u017c my\u015blisz<\/h3>\n\n\n\n<p>Ka\u017cde \u017c\u0105danie strony zaczyna si\u0119 od Twojego serwera. Przegl\u0105darka prosi o stron\u0119, a Tw\u00f3j serwer musi:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Odbierz \u017c\u0105danie<\/li>\n\n\n\n<li>Wykonaj PHP<\/li>\n\n\n\n<li>Wykonanie zapytania do bazy danych<\/li>\n\n\n\n<li>Zbuduj odpowied\u017a<\/li>\n\n\n\n<li>Wy\u015blij to z powrotem<\/li>\n<\/ol>\n\n\n\n<p class=\"translation-block\">Dzieje si\u0119 to <strong>zanim<\/strong> jakakolwiek optymalizacja frontendu w og\u00f3le si\u0119 rozpocznie. Serwer, kt\u00f3ry potrzebuje <strong>800 ms<\/strong> na wykonanie tej pracy, oznacza, \u017ce Twoja strona nigdy nie za\u0142aduje si\u0119 szybciej ni\u017c w 800 ms, kropka. Tymczasem dobrej jako\u015bci hosting ko\u0144czy to w <strong>mniej ni\u017c 200 ms<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\">R\u00f3\u017cnica mi\u0119dzy tanim wsp\u00f3\u0142dzielonym hostingiem a porz\u0105dnym hostingiem WordPress mo\u017ce wynosi\u0107 <strong>500\u20131500 ms<\/strong> przy ka\u017cdym \u0142adowaniu strony. Tego nie da si\u0119 zniwelowa\u0107 wtyczkami.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Jak przeprowadzi\u0107 benchmark swojego hostingu<\/h3>\n\n\n\n<p class=\"translation-block\">U\u017cyj <strong><a href=\"https:\/\/wordpress.org\/plugins\/wpbenchmark\/\" rel=\"nofollow noopener\" target=\"_blank\">narz\u0119dzia Hosting Benchmark<\/a><\/strong>, aby zmierzy\u0107 realn\u0105 wydajno\u015b\u0107 swojego serwera w r\u00f3\u017cnych obszarach. W przeciwie\u0144stwie do prostych test\u00f3w szybko\u015bci, odpowiednie narz\u0119dzie benchmarkowe wykonuje testy obci\u0105\u017ceniowe dok\u0142adnie tych element\u00f3w, na kt\u00f3rych opiera si\u0119 WordPress:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>CPU i pami\u0119\u0107<\/strong> \u2013 Testuje, jak szybko serwer przetwarza dane. Wp\u0142ywa to na szybko\u015b\u0107 wykonywania PHP, co bezpo\u015brednio przek\u0142ada si\u0119 na tempo generowania stron przez WordPress. Narz\u0119dzie wykonuje operacje na du\u017cych zbiorach danych tekstowych oraz losowych danych binarnych, aby zmierzy\u0107 surow\u0105 moc obliczeniow\u0105.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>System plik\u00f3w<\/strong> \u2013 Testuje pr\u0119dko\u015bci odczytu\/zapisu na dysku twojego serwera. WordPress nieustannie odczytuje pliki motyw\u00f3w, wtyczek oraz zapisuje pliki cache. Wolny system plik\u00f3w = wolne wszystko. Testy cz\u0105stkowe obejmuj\u0105 mo\u017cliwo\u015b\u0107 zapisu, pr\u0119dko\u015b\u0107 kopiowania plik\u00f3w oraz operacje IO na ma\u0142ych plikach.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Baza danych<\/strong> \u2013 To ma ogromne znaczenie dla WordPressa. Narz\u0119dzie testuje import du\u017cych ilo\u015bci danych, proste zapytania na pojedynczych tabelach oraz z\u0142o\u017cone zapytania obejmuj\u0105ce wiele tabel. Je\u015bli wyniki test\u00f3w bazy danych s\u0105 niskie, cierpi na tym ka\u017cde \u0142adowanie strony.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Object Cache<\/strong> \u2013 Testuje, czy trwa\u0142e buforowanie obiekt\u00f3w (Redis\/Memcached) jest w\u0142\u0105czone i jak szybko dzia\u0142a. Podtesty mierz\u0105 pr\u0119dko\u015b\u0107 zapisu do pami\u0119ci podr\u0119cznej, pr\u0119dko\u015b\u0107 odczytu oraz mieszane operacje odczytu\/zapisu. Je\u015bli pami\u0119\u0107 podr\u0119czna obiekt\u00f3w jest wy\u0142\u0105czona lub wolna, tracisz istotn\u0105 okazj\u0119 do optymalizacji.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Sie\u0107<\/strong> \u2013 Testuje pr\u0119dko\u015b\u0107 pobierania z Twojego serwera. Wp\u0142ywa to na to, jak szybko serwer mo\u017ce pobiera\u0107 zewn\u0119trzne zasoby i jak szybko mo\u017ce wysy\u0142a\u0107 dane do odwiedzaj\u0105cych.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/hosting-performance-test.png\"><img decoding=\"async\" width=\"1024\" height=\"920\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/hosting-performance-test-1024x920.png\" alt=\"\" class=\"wp-image-28460\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/hosting-performance-test-1024x920.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/hosting-performance-test-300x269.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/hosting-performance-test-768x690.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/hosting-performance-test-1536x1380.png 1536w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/hosting-performance-test-13x12.png 13w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/hosting-performance-test-710x638.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/hosting-performance-test.png 2034w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Zrozumienie wynik\u00f3w test\u00f3w wydajno\u015bci<\/h3>\n\n\n\n<p class=\"translation-block\">Narz\u0119dzie podaje zar\u00f3wno <strong>procentowe wyniki kategorii<\/strong> (ile test\u00f3w zaliczono), jak i <strong>wyniki poszczeg\u00f3lnych test\u00f3w<\/strong> w skali do 10. Tw\u00f3j og\u00f3lny <strong>wynik serwera<\/strong> \u0142\u0105czy wszystko w jedn\u0105 liczb\u0119.<\/p>\n\n\n\n<p><strong>Interpretacja wyniku:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>8-10<\/strong>: Doskonale. Tw\u00f3j hosting jest solidny.<\/li>\n\n\n\n<li><strong>7-8<\/strong>: Dobrze. Jest pole do poprawy, ale da si\u0119 z tym pracowa\u0107.<\/li>\n\n\n\n<li><strong>6-7<\/strong>: Przeci\u0119tnie. Tw\u00f3j hosting Ci\u0119 spowalnia.<\/li>\n\n\n\n<li><strong>Below 6<\/strong>: S\u0142abo. Powa\u017cnie rozwa\u017c zmian\u0119 hostingu.<\/li>\n<\/ul>\n\n\n\n<p>Zwr\u00f3\u0107 szczeg\u00f3ln\u0105 uwag\u0119 na te wyniki:<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Wyniki bazy danych maj\u0105 najwi\u0119ksze znaczenie<\/strong> w WordPressie. Je\u015bli \u201eZ\u0142o\u017cone zapytania do bazy danych na wielu tabelach\u201d uzyskaj\u0105 wynik poni\u017cej 5, Twoja strona b\u0119dzie mia\u0142a problemy z czymkolwiek innym ni\u017c proste blogi. Sklepy WooCommerce, serwisy cz\u0142onkowskie i ruchliwe blogi wymagaj\u0105 wysokiej wydajno\u015bci bazy danych.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Status pami\u0119ci podr\u0119cznej obiekt\u00f3w jest krytyczny<\/strong>. Je\u015bli \u201ePersistent object cache enabled\u201d pokazuje niski wynik lub w og\u00f3le si\u0119 nie pojawia, tracisz jedn\u0105 z najwi\u0119kszych korzy\u015bci wydajno\u015bciowych. Wiele tanich hosting\u00f3w w og\u00f3le nie oferuje Redis ani Memcached.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Wyniki test\u00f3w systemu plik\u00f3w wp\u0142ywaj\u0105 na cache<\/strong>. Wtyczki do buforowania stron zapisuj\u0105 tysi\u0105ce ma\u0142ych plik\u00f3w. Je\u015bli wynik \u201eSmall file IO test\u201d jest s\u0142aby, generowanie i serwowanie pami\u0119ci podr\u0119cznej b\u0119dzie powolne.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Co oznaczaj\u0105 Twoje wyniki<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>Wynik serwera 7+<\/strong>: Tw\u00f3j hosting jest solidny. Przejd\u017a do optymalizacji opisanych w tym poradniku, a zobaczysz \u015bwietne rezultaty.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Wynik serwera 6<\/strong>: Tw\u00f3j hosting jest wystarczaj\u0105cy, ale ma s\u0142abe punkty. Sprawd\u017a, kt\u00f3re kategorie uzyska\u0142y najni\u017csze wyniki. Je\u015bli jest to baza danych lub pami\u0119\u0107 podr\u0119czna obiekt\u00f3w, te konkretne optymalizacje b\u0119d\u0105 mia\u0142y ograniczony efekt, dop\u00f3ki nie zaktualizujesz hostingu.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Wynik serwera poni\u017cej 6<\/strong>: <strong>Twoje hosting jest problemem<\/strong>. \u017badne dostrajanie wtyczek nie zrekompensuje zasadniczo wolnej infrastruktury. Musisz albo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ulepsz sw\u00f3j plan hostingu (wsp\u00f3\u0142dzielony \u2192 zarz\u0105dzany WordPress)<\/li>\n\n\n\n<li>Przejd\u017a na hosting zoptymalizowany pod WordPress<\/li>\n\n\n\n<li>Przenie\u015b si\u0119 na VPS z odpowiedni\u0105 konfiguracj\u0105<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"732\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-40-1024x732.png\" alt=\"\" class=\"wp-image-28335\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-40-1024x732.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-40-300x214.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-40-768x549.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-40-18x12.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-40-710x508.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-40.png 1035w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Szybkie kontrole serwera, kt\u00f3re mo\u017cesz zrobi\u0107 od razu<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>Sprawd\u017a wersj\u0119 PHP<\/strong> (Kokpit \u2192 Narz\u0119dzia \u2192 Kondycja witryny \u2192 Informacje \u2192 Serwer). Korzystanie z <strong>PHP 8.3+<\/strong> jest kluczowe. PHP 7.4 jest wyra\u017anie wolniejsze i osi\u0105gn\u0119\u0142o koniec wsparcia.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Sprawd\u017a dost\u0119pn\u0105 pami\u0119\u0107<\/strong>. Je\u015bli Tw\u00f3j hosting ogranicza Ci\u0119 do 64MB lub 128MB pami\u0119ci PHP, z\u0142o\u017cone strony b\u0119d\u0105 mie\u0107 problemy z dzia\u0142aniem.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Sprawd\u017a lokalizacj\u0119 serwera<\/strong>. Je\u015bli tw\u00f3j serwer znajduje si\u0119 w USA, a odbiorcy s\u0105 w Europie, ka\u017cde \u017c\u0105danie musi pokona\u0107 Atlantyk. CDN pomaga, ale bli\u017cszy hosting jest lepszy.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Kiedy zmieni\u0107 hosting<\/h3>\n\n\n\n<p>Rozwa\u017c zmian\u0119, je\u015bli:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\">Benchmark pokazuje stabilny TTFB powy\u017cej <strong>500 ms<\/strong><\/li>\n\n\n\n<li>Wydajno\u015b\u0107 bardzo si\u0119 r\u00f3\u017cni mi\u0119dzy testami (niestabilni \u201es\u0105siedzi\u201d na hostingu wsp\u00f3\u0142dzielonym)<\/li>\n\n\n\n<li>Tw\u00f3j hosting nie oferuje PHP 8.x<\/li>\n\n\n\n<li>Buforowanie obiekt\u00f3w Redis\/Memcached jest niedost\u0119pne<\/li>\n\n\n\n<li>Wsparcie nie potrafi wyja\u015bni\u0107, dlaczego Twoja strona jest wolna<\/li>\n<\/ul>\n\n\n\n<p>The cost difference between budget hosting ($5\/month) and quality WordPress hosting provider like\u00a0<a href=\"https:\/\/kinsta.com\/wordpress-hosting\/\" target=\"_blank\" rel=\"noopener\">Kinsta<\/a> ($25-50\/month) is trivial compared to the performance gains. <strong>Don&#8217;t build a speed-optimized site on a slow foundation.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Cache\u2019owanie: najwa\u017cniejszy pojedynczy zysk wydajno\u015bci<\/h2>\n\n\n\n<p class=\"translation-block\">If you do nothing else from this guide, <strong>set up proper caching<\/strong>. It\u2019s the single most impactful optimization you can make.<\/p>\n\n\n\n<p class=\"translation-block\">Oto dlaczego: bez cache\u2019owania ka\u017cde \u017c\u0105danie odwiedzaj\u0105cego zmusza WordPress do wykonania kodu PHP, odpytywania bazy danych, z\u0142o\u017cenia strony i odes\u0142ania jej z powrotem. Ten proces zajmuje <strong>co najmniej setki milisekund<\/strong>, a cz\u0119sto znacznie wi\u0119cej.<\/p>\n\n\n\n<p class=\"translation-block\">Dzi\u0119ki buforowaniu stron WordPress tworzy stron\u0119 <strong>tylko raz<\/strong>, zapisuje j\u0105 jako statyczny HTML i serwuje ten wst\u0119pnie zbudowany plik wszystkim. Serwer po prostu odczytuje i wysy\u0142a plik. M\u00f3wimy tu o <strong>pojedynczych milisekundach<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warte uwagi wtyczki do buforowania stron<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"translation-block\"><strong><a href=\"https:\/\/wp-rocket.me\/\" rel=\"nofollow noopener\" target=\"_blank\">WP Rocket<\/a><\/strong> (59 USD\/rok) to z\u0142oty standard. Po aktywacji automatycznie stosuje <strong>80% optymalizacji<\/strong> i oferuje najlepsze do\u015bwiadczenie u\u017cytkownika. Je\u015bli bud\u017cet na to pozwala, to jest moja rekomendacja. Sprawd\u017a nasze <a href=\"https:\/\/purethemes.net\/pl\/przetestowalismy-wp-rocket-oto-bezpieczne-zalecane-ustawienia\/\" target=\"_self\">zalecane ustawienia dla WP Rocket<\/a><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/wordpress.org\/plugins\/litespeed-cache\/\" rel=\"nofollow noopener\" target=\"_blank\">LiteSpeed Cache<\/a><\/strong> (darmowy) to najlepsza bezp\u0142atna opcja, je\u015bli Tw\u00f3j hosting dzia\u0142a na serwerach LiteSpeed. Zawiera funkcje, za kt\u00f3re inne darmowe wtyczki pobieraj\u0105 op\u0142aty.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/flyingpress.com\/\" rel=\"nofollow noopener\" target=\"_blank\">FlyingPress<\/a><\/strong> ($60\/rok) to nowsza alternatywa z doskona\u0142\u0105 optymalizacj\u0105 Core Web Vitals. Warto rozwa\u017cy\u0107, je\u015bli szukasz czego\u015b nowoczesnego.<\/li>\n\n\n\n<li><a href=\"http:\/\/wordpress.org\/plugins\/wp-super-cache\/\" rel=\"nofollow noopener\" target=\"_blank\"><strong>WP Super Cache<\/strong> <\/a>(darmowa) to oficjalna wtyczka cache od Automattic. Lekka i niezawodna, cho\u0107 mniej rozbudowana pod wzgl\u0119dem funkcji.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/wordpress.org\/plugins\/w3-total-cache\/\" rel=\"nofollow noopener\" target=\"_blank\">W3 Total Cache<\/a><\/strong> (darmowy) jest pot\u0119\u017cny, ale z\u0142o\u017cony. Opcje konfiguracji mog\u0105 przyt\u0142oczy\u0107 pocz\u0105tkuj\u0105cych, ale w odpowiednich r\u0119kach jest bardzo skuteczny.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"705\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-34-1024x705.png\" alt=\"\" class=\"wp-image-28317\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-34-1024x705.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-34-300x206.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-34-768x528.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-34-18x12.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-34-710x489.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-34.png 1350w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Kluczowe ustawienia cacheowania<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>W\u0142\u0105cz wst\u0119pne \u0142adowanie pami\u0119ci podr\u0119cznej<\/strong>. Dzi\u0119ki temu z wyprzedzeniem generowane s\u0105 w tle zbuforowane strony, zanim pojawi\u0105 si\u0119 odwiedzaj\u0105cy, wi\u0119c nikt nigdy nie trafi na niebuforowan\u0105 stron\u0119.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Tw\u00f3rz osobny cache mobilny tylko wtedy, gdy<\/strong> serwujesz inn\u0105 tre\u015b\u0107 u\u017cytkownikom mobilnym. Je\u015bli Twoja strona jest responsywna (to samo HTML, inne CSS), nie potrzebujesz tego. To jedynie podwaja zaj\u0119to\u015b\u0107 pami\u0119ci podr\u0119cznej.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Wyklucz dynamiczne strony<\/strong> z cache\u2019owania. Obejmuje to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\/cart\/*<\/code><\/li>\n\n\n\n<li><code>\/checkout\/*<\/code><\/li>\n\n\n\n<li><code>\/my-account\/*<\/code><\/li>\n\n\n\n<li>Ka\u017cda strona z tre\u015bciami specyficznymi dla u\u017cytkownika<\/li>\n<\/ul>\n\n\n\n<p class=\"translation-block\"><strong>Ustaw odpowiedni czas wyga\u015bni\u0119cia pami\u0119ci podr\u0119cznej<\/strong>. Dla wi\u0119kszo\u015bci stron dobrze sprawdzi si\u0119 okres <strong>24 godzin<\/strong>. Serwisy informacyjne mog\u0105 potrzebowa\u0107 kr\u00f3tszego, a statyczne witryny d\u0142u\u017cszego czasu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Enable <strong>Object Caching with Redis, Memcached, or Docket<\/strong><\/h3>\n\n\n\n<p class=\"translation-block\">Buforowanie stron obs\u0142uguje \u017c\u0105dania frontendu. <strong>Buforowanie obiekt\u00f3w<\/strong> obs\u0142uguje backend, przechowuj\u0105c w pami\u0119ci wyniki zapyta\u0144 do bazy danych.<\/p>\n\n\n\n<p>Pomy\u015bl o tym w ten spos\u00f3b: nawet przy cache\u2019owaniu stron u\u017cytkownicy zalogowani, strony administracyjne i tre\u015bci dynamiczne wci\u0105\u017c nieustannie odwo\u0142uj\u0105 si\u0119 do bazy danych. Cache obiekt\u00f3w sprawia, \u017ce WordPress najpierw sprawdza pami\u0119\u0107 (mikrosekundy), zanim uderzy w MySQL (milisekundy).<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Oto haczyk:<\/strong> <strong>Nie mo\u017cesz samodzielnie po prostu w\u0142\u0105czy\u0107 Redis lub Memcached. Tw\u00f3j dostawca hostingu musi je obs\u0142ugiwa\u0107 na poziomie serwera. <\/strong>Sprawd\u017a panel sterowania hostingu lub skontaktuj si\u0119 z pomoc\u0105 techniczn\u0105, aby dowiedzie\u0107 si\u0119, czy buforowanie obiektowe jest dost\u0119pne w Twoim planie. Wiele wsp\u00f3\u0142dzielonych hosting\u00f3w go nie oferuje, podczas gdy zarz\u0105dzane hostingi WordPress i dostawcy VPS zazwyczaj tak.<\/p>\n\n\n\n<p><strong>Gdy ju\u017c potwierdzisz, \u017ce Tw\u00f3j hosting to obs\u0142uguje:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\">Dla <strong>serwer\u00f3w LiteSpeed: wtyczka LiteSpeed Cache<\/strong> zawiera wbudowan\u0105 pami\u0119\u0107 podr\u0119czn\u0105 obiekt\u00f3w<\/li>\n\n\n\n<li class=\"translation-block\">Dla <strong>Redis:<\/strong> zainstaluj wtyczk\u0119 <strong>Redis Object Cache<\/strong><\/li>\n\n\n\n<li class=\"translation-block\">Dla <strong>Memcached<\/strong>: U\u017cyj wtyczki W3 Total Cache lub podobnej z obs\u0142ug\u0105 Memcached<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/object-cache-scaled.jpg\"><img decoding=\"async\" width=\"1024\" height=\"527\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/object-cache-1024x527.jpg\" alt=\"\" class=\"wp-image-28470\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/object-cache-1024x527.jpg 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/object-cache-300x154.jpg 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/object-cache-768x395.jpg 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/object-cache-1536x790.jpg 1536w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/object-cache-2048x1053.jpg 2048w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/object-cache-18x9.jpg 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/object-cache-710x365.jpg 710w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"translation-block\"><strong>Brak Redis lub Memcached?<\/strong> Wypr\u00f3buj <a href=\"https:\/\/wordpress.org\/plugins\/docket-cache\/\" rel=\"nofollow noopener\" target=\"_blank\">Docket Cache<\/a>. To plikowa pami\u0119\u0107 podr\u0119czna obiekt\u00f3w, kt\u00f3ra dzia\u0142a na ka\u017cdym hostingu, bez wymaga\u0144 na poziomie serwera. Nie dor\u00f3wna wydajno\u015bci Redis, ale jest zdecydowanie lepsza ni\u017c ca\u0142kowity brak cache\u2019owania obiekt\u00f3w i nie wymaga \u017cadnej konfiguracji serwera.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.org\/plugins\/docket-cache\/\" rel=\"nofollow noopener\" target=\"_blank\"><img decoding=\"async\" width=\"1024\" height=\"423\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-97-1024x423.png\" alt=\"\" class=\"wp-image-28471\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-97-1024x423.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-97-300x124.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-97-768x318.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-97-1536x635.png 1536w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-97-18x7.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-97-710x294.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-97.png 1814w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Optymalizacja obraz\u00f3w: zmniejszenie wagi strony o po\u0142ow\u0119<\/h2>\n\n\n\n<p>Obrazy s\u0105 zazwyczaj najci\u0119\u017cszymi elementami na ka\u017cdej stronie. Pojedynczy, niezoptymalizowany obraz typu hero mo\u017ce wa\u017cy\u0107 wi\u0119cej ni\u017c ca\u0142y Tw\u00f3j kod HTML, CSS i JavaScript razem wzi\u0119te.<\/p>\n\n\n\n<p class=\"translation-block\">Celem s\u0105 <strong>mniejsze rozmiary plik\u00f3w bez widocznej utraty jako\u015bci<\/strong>. Nowoczesna kompresja radzi sobie z tym zaskakuj\u0105co dobrze.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kompresja: stratna vs bezstratna<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>Kompresja stratna<\/strong> trwale usuwa cz\u0119\u015b\u0107 danych obrazu. Przy <strong>poziomach jako\u015bci 60-90%<\/strong> r\u00f3\u017cnica wizualna jest dla cz\u0142owieka niezauwa\u017calna, natomiast rozmiary plik\u00f3w spadaj\u0105 o <strong>40-70%<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Kompresja bezstratna<\/strong> zachowuje wszystkie dane obrazu, ale optymalizuje spos\u00f3b ich przechowywania. Daje mniejsze zyski (10\u201330%), ale bez jakiejkolwiek utraty jako\u015bci.<\/p>\n\n\n\n<p class=\"translation-block\">Dla zdj\u0119\u0107 i wi\u0119kszo\u015bci grafik webowych <strong>kompresja stratna przy jako\u015bci 80\u201385%<\/strong> jest idealnym kompromisem.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wtyczki do optymalizacji obraz\u00f3w<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>ShortPixel<\/strong> (4,99 USD\/miesi\u0105c za 5 000 obraz\u00f3w) wyr\u00f3\u017cnia si\u0119 kompresj\u0105 PNG i oferuje og\u00f3lnie najlepsz\u0105 jako\u015b\u0107. Zawiera darmowe CDN.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Imagify<\/strong> (4,99 USD\/miesi\u0105c za 10 000 obraz\u00f3w) dzia\u0142a bezproblemowo z WP Rocket i zapewnia doskona\u0142\u0105 jako\u015b\u0107 obraz\u00f3w JPG.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>EWWW Image Optimizer<\/strong> oferuje darmow\u0105 lokaln\u0105 optymalizacj\u0119 (wolniejsz\u0105, wykorzystuj\u0105c\u0105 zasoby Twojego serwera) lub tani\u0105 obr\u00f3bk\u0119 w chmurze (0,003 USD\/obraz).<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Optimole<\/strong> stosuje inne podej\u015bcie, oferuj\u0105c optymalizacj\u0119 w locie oraz wbudowany CDN. Darmowy dla stron z mniej ni\u017c 5 000 odwiedzaj\u0105cych miesi\u0119cznie.<\/li>\n<\/ol>\n\n\n\n<p class=\"translation-block\">Wszystkie te wtyczki mog\u0105 <strong>automatycznie optymalizowa\u0107 obrazy podczas wysy\u0142ania<\/strong> oraz <strong>hurtowo optymalizowa\u0107 istniej\u0105ce obrazy<\/strong>. Uruchamiaj hurtow\u0105 optymalizacj\u0119 w godzinach niskiego ruchu, poniewa\u017c jest zasobo\u017cerna.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-35-1024x559.png\" alt=\"\" class=\"wp-image-28319\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-35-1024x559.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-35-300x164.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-35-768x419.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-35-18x10.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-35-710x387.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-35.png 1408w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Prawid\u0142owo wdro\u017cone leniwe \u0142adowanie<\/h3>\n\n\n\n<p class=\"translation-block\">Lazy loading op\u00f3\u017ania pobieranie obraz\u00f3w, dop\u00f3ki u\u017cytkownik nie przewinie w ich pobli\u017ce. Oszcz\u0119dza to transfer i przyspiesza pocz\u0105tkowe \u0142adowanie strony, ale jest haczyk: <strong>lazy loading obrazu hero zabija Tw\u00f3j wynik LCP<\/strong>. Element Largest Contentful Paint musi wczyta\u0107 si\u0119 natychmiast, a nie czeka\u0107 na przewijanie.<\/p>\n\n\n\n<p>Dobre wtyczki optymalizacyjne obs\u0142uguj\u0105 to automatycznie.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>WP Rocket<\/strong> wykrywa obrazy znajduj\u0105ce si\u0119 w obszarze above-the-fold i wyklucza je z leniwego \u0142adowania. Mo\u017cesz te\u017c r\u0119cznie wykluczy\u0107 konkretne obrazy wed\u0142ug klasy CSS lub nazwy pliku w Ustawienia \u2192 WP Rocket \u2192 Media.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Perfmatters<\/strong> pozwala wyklucza\u0107 obrazy wed\u0142ug adresu URL, klasy lub ustawi\u0107 liczb\u0119 obraz\u00f3w do pomini\u0119cia (np. \u201epomi\u0144 pierwsze 3 obrazy\u201d).<\/li>\n\n\n\n<li class=\"translation-block\"><strong>FlyingPress<\/strong> ma automatyczne wykrywanie obrazu LCP. Identyfikuje Tw\u00f3j element LCP i wyklucza go z leniwego \u0142adowania bez potrzeby jakiejkolwiek konfiguracji.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>LiteSpeed Cache<\/strong> zawiera opcj\u0119 \u201eExclude LCP Image\u201d, kt\u00f3ra robi dok\u0142adnie to, co sugeruje jej nazwa.<\/li>\n<\/ol>\n\n\n\n<p class=\"translation-block\"><strong>Je\u015bli Tw\u00f3j obraz LCP nadal \u0142aduje si\u0119 leniwie (lazy load)<\/strong> (PageSpeed Insights wy\u015bwietli w takim przypadku ostrze\u017cenie), poszukaj wtyczce cache opcji \u201eWyklucz z lazy load\u201d i dodaj nazw\u0119 pliku lub klas\u0119 CSS swojego obrazu hero.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"837\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-37-1024x837.png\" alt=\"\" class=\"wp-image-28325\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-37-1024x837.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-37-300x245.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-37-768x628.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-37-15x12.png 15w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-37-710x581.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-37.png 1179w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Optymalizacja bazy danych: porz\u0105dkowanie wieloletniego ba\u0142aganu<\/h2>\n\n\n\n<p class=\"translation-block\">Bazy danych WordPressa z czasem gromadz\u0105 \u015bmieci. <strong>Wersje robocze wpis\u00f3w si\u0119 mno\u017c\u0105<\/strong>, wtyczki zostawiaj\u0105 po sobie <strong>porzucone dane<\/strong>, a <strong>transienty wygasaj\u0105 bez czyszczenia<\/strong>. To spowolnienie obci\u0105\u017ca zapytania i marnuje miejsce na dysku.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">U\u017cyj wtyczki do czyszczenia bazy danych<\/h3>\n\n\n\n<p class=\"translation-block\">Nie ingeruj r\u0119cznie w zapytania SQL, skoro wtyczki robi\u0105 to <strong>bezpiecznie i automatycznie<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>WP-Optimize<\/strong> (darmowa) to najpopularniejsza opcja. Czy\u015bci:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Rewizje wpis\u00f3w<\/strong><\/li>\n\n\n\n<li><strong>Szkice automatyczne<\/strong><\/li>\n\n\n\n<li><strong>Usuni\u0119te wpisy<\/strong><\/li>\n\n\n\n<li><strong>Spam i usuni\u0119te komentarze<\/strong><\/li>\n\n\n\n<li><strong>Przeterminowane przej\u015bciowe dane<\/strong><\/li>\n\n\n\n<li><strong>Osierocone postmeta<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"translation-block\">Mo\u017cesz uruchamia\u0107 czyszczenia r\u0119cznie lub <strong>zaplanowa\u0107 je co tydzie\u0144\/co miesi\u0105c<\/strong>. Optymalizuje tak\u017ce tabele bazy danych jednym klikni\u0119ciem.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>WP-Sweep<\/strong> (darmowa) to l\u017cejsza alternatywa, kt\u00f3ra skupia si\u0119 wy\u0142\u0105cznie na czyszczeniu, bez dodatkowych funkcji. Dobra, je\u015bli zale\u017cy Ci na czym\u015b <strong>minimalnym<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Advanced Database Cleaner<\/strong> (darmowy z wersj\u0105 pro) oferuje najbardziej <strong>precyzyjn\u0105 kontrol\u0119<\/strong>. Wykrywa <strong>osierocone tabele po usuni\u0119tych wtyczkach<\/strong> i pozwala dok\u0142adnie zobaczy\u0107, co zostanie usuni\u0119te przed skasowaniem.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"691\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-50-1024x691.png\" alt=\"\" class=\"wp-image-28355\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-50-1024x691.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-50-300x203.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-50-768x519.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-50-18x12.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-50-710x479.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-50.png 1278w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Zalecany harmonogram czyszczenia<\/h3>\n\n\n\n<p class=\"translation-block\">Set your plugin to run <strong>automatically<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>Tygodniowo<\/strong>: Wyczy\u015b\u0107 komentarze spamowe, wygas\u0142e transienty, elementy w koszu<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Miesi\u0119cznie<\/strong>: Usu\u0144 stare wersje robocze, zoptymalizuj tabele<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Ogranicz liczb\u0119 wersji roboczych na przysz\u0142o\u015b\u0107<\/h3>\n\n\n\n<p class=\"translation-block\">WordPress domy\u015blnie zapisuje <strong>nieograniczon\u0105 liczb\u0119 wersji<\/strong>. Ich czyszczenie jest dobre, ale <strong>zapobieganie ich gromadzeniu si\u0119 jest jeszcze lepsze<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Perfmatters<\/strong> ma ustawienie <strong>\u201eLimit Post Revisions\u201d<\/strong>, w kt\u00f3rym mo\u017cesz okre\u015bli\u0107 liczb\u0119 (<strong>5 to rozs\u0105dna warto\u015b\u0107<\/strong>) lub ca\u0142kowicie je wy\u0142\u0105czy\u0107.<\/p>\n\n\n\n<p class=\"translation-block\">If you prefer not to use a plugin for this, add to <strong>wp-config.php<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>define('WP_POST_REVISIONS', 5);<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Sprawdzanie danych autoload (zaawansowane)<\/h3>\n\n\n\n<p class=\"translation-block\">To jeden z przypadk\u00f3w, w kt\u00f3rym <strong>r\u0119czne sprawdzenie naprawd\u0119 si\u0119 op\u0142aca<\/strong>. Opcje \u0142adowane automatycznie s\u0105 wczytywane przy <strong>ka\u017cdym pojedynczym \u017c\u0105daniu strony<\/strong>, a rozro\u015bni\u0119te dane autoload to <strong>ukryty zab\u00f3jca wydajno\u015bci<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\">Run this in <strong>phpMyAdmin<\/strong> or your database tool:<\/p>\n\n\n\n<p>sql<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT SUM(LENGTH(option_value)) \/ 1024 \/ 1024 AS autoload_mb \nFROM wp_options \nWHERE autoload='yes';<\/code><\/pre>\n\n\n\n<p class=\"translation-block\"><strong>Zdrowa: poni\u017cej 800KB<\/strong>. <strong>Problematyczna: powy\u017cej 1MB<\/strong>. <strong>Krytyczna: powy\u017cej 2MB<\/strong>.<\/p>\n\n\n\n<p>Znajd\u017a winowajc\u00f3w:<\/p>\n\n\n\n<p>sql<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT option_name, LENGTH(option_value) \/ 1024 AS size_kb \nFROM wp_options \nWHERE autoload='yes' \nORDER BY LENGTH(option_value) DESC \nLIMIT 20;<\/code><\/pre>\n\n\n\n<p class=\"translation-block\">Do typowych winowajc\u00f3w nale\u017c\u0105 <strong>stare regu\u0142y przekierowa\u0144<\/strong>, <strong>porzucone ustawienia wtyczek<\/strong> oraz <strong>przeci\u0105\u017cone opcje motywu<\/strong>. <strong>Advanced Database Cleaner Pro<\/strong> mo\u017ce wykrywa\u0107 i naprawia\u0107 problemy z autoload bezpo\u015brednio z poziomu interfejsu, je\u015bli wolisz nie dotyka\u0107 SQL.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Wy\u0142\u0105czanie zb\u0119dnych funkcji WordPress<\/h2>\n\n\n\n<p class=\"translation-block\">WordPress domy\u015blnie wczytuje kilka funkcji, kt\u00f3rych wiele stron w og\u00f3le nie potrzebuje. Ka\u017cda z nich dodaje <strong>JavaScript, CSS lub dodatkowe obci\u0105\u017cenie procesora<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0141atwy spos\u00f3b: u\u017cyj Perfmatters<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>Perfmatters<\/strong> (24,95 USD\/rok) jest <strong>stworzony dok\u0142adnie do tego celu<\/strong>. Jeden plugin, proste prze\u0142\u0105czniki i gotowe.<\/p>\n\n\n\n<p><strong>Karta Script Manager:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Disable emojis<\/strong><\/li>\n\n\n\n<li><strong>Disable embeds<\/strong> (oEmbed)<\/li>\n\n\n\n<li><strong>Disable XML-RPC<\/strong><\/li>\n\n\n\n<li><strong>Disable RSS feeds<\/strong><\/li>\n\n\n\n<li><strong>Disable REST API links<\/strong><\/li>\n\n\n\n<li><strong>Remove jQuery Migrate<\/strong><\/li>\n\n\n\n<li><strong>Remove dashicons<\/strong> for logged-out users<\/li>\n<\/ul>\n\n\n\n<p><strong>Extras tab:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Heartbeat control<\/strong> (disable, or reduce frequency)<\/li>\n\n\n\n<li><strong>Limit post revisions<\/strong><\/li>\n\n\n\n<li><strong>Disable self-pingbacks<\/strong><\/li>\n\n\n\n<li><strong>Remove shortlink<\/strong><\/li>\n\n\n\n<li><strong>Remove RSD link<\/strong><\/li>\n\n\n\n<li><strong>Disable Google Maps API<\/strong><\/li>\n\n\n\n<li><strong>Disable password strength meter<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"510\" height=\"1024\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-51-510x1024.png\" alt=\"\" class=\"wp-image-28356\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-51-510x1024.png 510w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-51-149x300.png 149w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-51-768x1542.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-51-765x1536.png 765w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-51-1020x2048.png 1020w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-51-6x12.png 6w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-51-710x1425.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-51.png 1247w\" sizes=\"(max-width: 510px) 100vw, 510px\" \/><\/figure>\n\n\n\n<p class=\"translation-block\">Zaznaczasz <strong>kilka p\u00f3l, zapisujesz i gotowe<\/strong>. Bez kodu, bez functions.php, bez ryzyka, \u017ce co\u015b zepsujesz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Alternatywa: Najpierw sprawd\u017a swoj\u0105 wtyczk\u0119 cacheuj\u0105c\u0105<\/h3>\n\n\n\n<p class=\"translation-block\">Zanim kupisz kolejny plugin, sprawd\u017a, co Tw\u00f3j plugin cache\u2019uj\u0105cy <strong>ju\u017c oferuje<\/strong>:<\/p>\n\n\n\n<p class=\"translation-block\"><strong>WP Rocket<\/strong> (Ustawienia \u2192 Media \u2192 Osadzanie) pozwala <strong>wy\u0142\u0105czy\u0107 osadzanie<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>LiteSpeed Cache<\/strong> (Page Optimization \u2192 Tuning) oferuje opcje <strong>usuwania parametr\u00f3w zapyta\u0144 (query strings)<\/strong>, <strong>optymalizacji czcionek Google<\/strong> oraz <strong>kontroli heartbeat<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>FlyingPress<\/strong> zawiera opcje, aby <strong>wy\u0142\u0105czy\u0107 emotikony<\/strong>, <strong>usun\u0105\u0107 nieu\u017cywany CSS<\/strong> oraz <strong>op\u00f3\u017ani\u0107 JavaScript<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\">Mo\u017cesz <strong>ju\u017c mie\u0107 te funkcje<\/strong>, nawet o tym nie wiedz\u0105c.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Darmowa alternatywa: Code Snippets<\/h3>\n\n\n\n<p class=\"translation-block\">Je\u015bli nie chcesz kupowa\u0107 Perfmatters, a Tw\u00f3j plugin cache\u2019uj\u0105cy nie zapewnia potrzebnych funkcji, u\u017cyj darmowej wtyczki <strong>Code Snippets<\/strong>, aby doda\u0107 ma\u0142e funkcje PHP <strong>bez dotykania plik\u00f3w motywu<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Wy\u0142\u0105cz Heartbeat<\/strong> (lub spowolnij go):<\/p>\n\n\n\n<p>php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>add_filter('heartbeat_settings', function($settings) {\n    $settings&#91;'interval'] = 60; <em>\/\/ Slow to 60 seconds instead of 15<\/em>\n    return $settings;\n});<\/code><\/pre>\n\n\n\n<p><strong>Disable Emojis:<\/strong><\/p>\n\n\n\n<p>php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>remove_action('wp_head', 'print_emoji_detection_script', 7);\nremove_action('wp_print_styles', 'print_emoji_styles');<\/code><\/pre>\n\n\n\n<p><strong>Disable XML-RPC<\/strong> (via .htaccess is more secure):<\/p>\n\n\n\n<p>apache<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;Files xmlrpc.php&gt;\n    Order Deny,Allow\n    Deny from all\n&lt;\/Files&gt;<\/code><\/pre>\n\n\n\n<p class=\"translation-block\">Ale szczerze, <strong>Perfmatters za 25&nbsp;$\/rok jest tego wart<\/strong> chocia\u017cby dla wygody i pewno\u015bci, \u017ce wszystko jest zrobione poprawnie.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Przegl\u0105d wtyczek: identyfikacja zab\u00f3jc\u00f3w wydajno\u015bci<\/h2>\n\n\n\n<p class=\"translation-block\">Wtyczki s\u0105 <strong>najwi\u0119ksz\u0105 niewiadom\u0105<\/strong> w wydajno\u015bci WordPressa. Jedna \u017ale napisana wtyczka mo\u017ce doda\u0107 <strong>setki milisekund<\/strong> do ka\u017cdego \u0142adowania strony.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Identyfikowanie wolnych wtyczek za pomoc\u0105 Query Monitor<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>Query Monitor<\/strong> (darmowy) jest <strong>niezb\u0119dny do diagnozowania problem\u00f3w z wydajno\u015bci\u0105 wtyczek<\/strong>. Zainstaluj go tymczasowo, przegl\u0105daj swoj\u0105 stron\u0119 i sprawd\u017a:<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Zapytania wed\u0142ug komponentu<\/strong>: Pokazuje zapytania do bazy danych wykonywane przez wtyczk\u0119. Szukaj wtyczek wykonuj\u0105cych <strong>50+ zapyta\u0144<\/strong> lub pojedynczych zapyta\u0144 trwaj\u0105cych ponad <strong>0,01 sekundy<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Skrypty i style<\/strong>: Pokazuje, kt\u00f3re wtyczki \u0142aduj\u0105 JavaScript i CSS oraz <strong>na jakich podstronach<\/strong>. Dzi\u0119ki temu wida\u0107 wtyczki \u0142aduj\u0105ce zasoby <strong>w ca\u0142ej witrynie, mimo \u017ce s\u0105 potrzebne tylko na konkretnych stronach<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-52-1024x559.png\" alt=\"\" class=\"wp-image-28359\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-52-1024x559.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-52-300x164.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-52-768x419.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-52-18x10.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-52-710x387.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-52.png 1408w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Typowe kategorie zasobo\u017cernych wtyczek<\/h3>\n\n\n\n<p class=\"translation-block\">Niekt\u00f3re typy wtyczek s\u0105 <strong>znane z powodowania problem\u00f3w z wydajno\u015bci\u0105<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>Page buildery<\/strong> (Elementor, Divi, WPBakery) dodaj\u0105 <strong>znaczn\u0105 nadmiarowo\u015b\u0107<\/strong>. S\u0105 wygodne, ale maj\u0105 swoj\u0105 cen\u0119.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Wtyczki do udost\u0119pniania w mediach spo\u0142eczno\u015bciowych<\/strong> cz\u0119sto \u0142aduj\u0105 skrypty z <strong>wielu zewn\u0119trznych us\u0142ug<\/strong>.<\/li>\n\n\n\n<li class=\"translation-block\">Wtyczki <strong>statystyk<\/strong>, kt\u00f3re \u015bledz\u0105 wszystko, <strong>mocno obci\u0105\u017caj\u0105 baz\u0119 danych zapisami<\/strong>.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Slidery i karuzele<\/strong> \u0142aduj\u0105 <strong>ci\u0119\u017ckie biblioteki JavaScript<\/strong>.<\/li>\n\n\n\n<li class=\"translation-block\">Wtyczki typu <strong>\u201ewszystko w jednym\u201d<\/strong> pr\u00f3buj\u0105 robi\u0107 wszystko, \u0142aduj\u0105c <strong>komponenty, kt\u00f3rych mo\u017cesz wcale nie potrzebowa\u0107<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p class=\"translation-block\">To nie oznacza, \u017ce nie mo\u017cesz u\u017cywa\u0107 tych wtyczek. Po prostu <strong>miej \u015bwiadomo\u015b\u0107 kompromis\u00f3w<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warunkowe \u0142adowanie wtyczek<\/h3>\n\n\n\n<p class=\"translation-block\">Wiele wtyczek \u0142aduje swoje pliki CSS i JavaScript na <strong>ka\u017cdej stronie<\/strong>, nawet gdy nie s\u0105 potrzebne. <strong>Contact Form 7 \u0142aduje si\u0119 na stronie g\u0142\u00f3wnej<\/strong>. <strong>Skrypty WooCommerce na wpisach blogowych<\/strong>. <strong>Lightboksy galerii na stronach bez galerii<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Asset CleanUp<\/strong> (darmowa) skanuje ka\u017cd\u0105 stron\u0119 i pokazuje <strong>wszystkie \u0142adowane pliki CSS\/JS<\/strong>. Mo\u017cesz wy\u0142\u0105cza\u0107 konkretne pliki <strong>dla danej strony, typu wpisu lub globalnie w ca\u0142ej witrynie<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Perfmatters Script Manager<\/strong> robi to samo, ale z <strong>czystszym interfejsem<\/strong>. Widzisz wszystkie skrypty i arkusze styl\u00f3w oraz mo\u017cesz je <strong>wy\u0142\u0105cza\u0107 prze\u0142\u0105cznikami<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"929\" height=\"1024\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-53-929x1024.png\" alt=\"\" class=\"wp-image-28360\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-53-929x1024.png 929w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-53-272x300.png 272w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-53-768x847.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-53-11x12.png 11w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-53-710x783.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-53.png 1388w\" sizes=\"(max-width: 929px) 100vw, 929px\" \/><\/figure>\n\n\n\n<p><strong>Przyk\u0142adowe oszcz\u0119dno\u015bci:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\">Wy\u0142\u0105cz <strong>Contact Form 7<\/strong> wsz\u0119dzie poza stron\u0105 kontaktow\u0105<\/li>\n\n\n\n<li class=\"translation-block\">Wy\u0142\u0105cz <strong>skrypty WooCommerce<\/strong> na stronach innych ni\u017c sklep<\/li>\n\n\n\n<li>Disable <strong>slider scripts<\/strong> on pages without sliders<\/li>\n\n\n\n<li class=\"translation-block\">Wy\u0142\u0105cz <strong>skrypty komentarzy<\/strong> na stronach z wy\u0142\u0105czonymi komentarzami<\/li>\n<\/ul>\n\n\n\n<p class=\"translation-block\">To samo mo\u017ce wyeliminowa\u0107 <strong>10\u201320 \u017c\u0105da\u0144 HTTP<\/strong> na stron\u0119 na prze\u0142adowanych witrynach.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Optymalizacja JavaScript<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>Render-blocking JavaScript<\/strong> to jeden z najcz\u0119stszych problem\u00f3w z wydajno\u015bci\u0105. Rozwi\u0105zaniem jest <strong>odroczenie lub op\u00f3\u017anienie skrypt\u00f3w<\/strong>, aby nie blokowa\u0142y renderowania strony.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Tw\u00f3j wtyczka cache\u2019uj\u0105ca zajmuje si\u0119 tym.<\/strong> Poszukaj takich ustawie\u0144:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>WP Rocket<\/strong>: File Optimization \u2192 JavaScript Files \u2192 <strong>\u201cLoad JavaScript deferred\u201d<\/strong> and <strong>\u201cDelay JavaScript execution\u201d<\/strong><\/li>\n\n\n\n<li><strong>FlyingPress<\/strong>: JavaScript \u2192 <strong>&#8220;Defer JavaScript&#8221;<\/strong> oraz <strong>&#8220;Delay JavaScript&#8221;<\/strong><\/li>\n\n\n\n<li><strong>LiteSpeed Cache<\/strong>: Page Optimization \u2192 JS Settings \u2192 <strong>&#8220;Load JS Deferred&#8221;<\/strong><\/li>\n\n\n\n<li><strong>Perfmatters<\/strong>: Assets \u2192 <strong>&#8220;Defer JavaScript&#8221;<\/strong> oraz <strong>&#8220;Delay JavaScript&#8221;<\/strong><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"943\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-54-1024x943.png\" alt=\"\" class=\"wp-image-28361\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-54-1024x943.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-54-300x276.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-54-768x707.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-54-13x12.png 13w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-54-710x654.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-54.png 1403w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"translation-block\"><strong>Op\u00f3\u017anianie JavaScriptu<\/strong> jest szczeg\u00f3lnie pot\u0119\u017cne. <strong>Zapobiega uruchamianiu skrypt\u00f3w do momentu interakcji u\u017cytkownika<\/strong> (ruch mysz\u0105, przewini\u0119cie lub klikni\u0119cie). Analityka, widgety czatu i skrypty spo\u0142eczno\u015bciowe <strong>nie musz\u0105 dzia\u0142a\u0107, dop\u00f3ki kto\u015b faktycznie nie wejdzie w interakcj\u0119<\/strong> ze stron\u0105.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Je\u015bli masz problemy po w\u0142\u0105czeniu odk\u0142adania skrypt\u00f3w:<\/strong> Niekt\u00f3re motywy i wtyczki zawieraj\u0105 \u017ale napisany JavaScript, kt\u00f3ry przestaje dzia\u0142a\u0107 po odroczeniu. Twoja wtyczka b\u0119dzie mia\u0142a <strong>pole wyklucze\u0144<\/strong>, w kt\u00f3rym mo\u017cesz wskaza\u0107 konkretne skrypty, aby \u0142adowa\u0142y si\u0119 normalnie. <strong>jQuery jest najcz\u0119stszym skryptem<\/strong>, kt\u00f3ry wymaga wykluczenia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">CSS Optimization<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>Krytyczne CSS<\/strong> wyodr\u0119bnia style potrzebne do tre\u015bci widocznej od razu po za\u0142adowaniu strony i <strong>osadza je inline<\/strong>. Reszta \u0142aduje si\u0119 <strong>bez blokowania renderowania<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>WP Rocket<\/strong>: File Optimization \u2192 CSS Files \u2192 <strong>&#8220;Optimize CSS delivery&#8221;<\/strong> (generates critical CSS automatically)<\/li>\n\n\n\n<li><strong>FlyingPress<\/strong>: CSS \u2192 <strong>&#8220;Generate Critical CSS&#8221;<\/strong><\/li>\n\n\n\n<li><strong>Perfmatters<\/strong>: CSS \u2192 <strong>&#8220;Remove Unused CSS&#8221;<\/strong> (generates used CSS per page)<\/li>\n\n\n\n<li><strong>LiteSpeed Cache<\/strong>: Page Optimization \u2192 CSS Settings \u2192 <strong>&#8220;Generate Critical CSS&#8221;<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"translation-block\"><strong>Remove Unused CSS<\/strong> idzie jeszcze dalej. Zamiast jedynie priorytetyzowa\u0107 CSS widoczny nad lini\u0105 za\u0142adowania, <strong>analizuje ka\u017cd\u0105 stron\u0119<\/strong> i tworzy <strong>minimalny arkusz styl\u00f3w<\/strong> zawieraj\u0105cy wy\u0142\u0105cznie faktycznie u\u017cywany CSS. Mo\u017ce to zmniejszy\u0107 rozmiar CSS o <strong>70\u201390%<\/strong> na stronach, kt\u00f3re \u0142aduj\u0105 prze\u0142adowane arkusze styl\u00f3w motywu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"825\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-55-1024x825.png\" alt=\"\" class=\"wp-image-28362\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-55-1024x825.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-55-300x242.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-55-768x618.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-55-15x12.png 15w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-55-710x572.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-55.png 1402w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Konfiguracja CDN: szybsze dostarczanie tre\u015bci na ca\u0142ym \u015bwiecie<\/h2>\n\n\n\n<p class=\"translation-block\">CDN (Content Delivery Network) buforuje Twoje tre\u015bci na <strong>globalnych serwerach brzegowych<\/strong>. Odwiedzaj\u0105cy pobieraj\u0105 zasoby z <strong>najbli\u017cszej lokalizacji<\/strong>, a nie z Twojego serwera \u017ar\u00f3d\u0142owego.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cloudflare: najlepsza darmowa opcja<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>Darmowy plan Cloudflare<\/strong> zapewnia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\">Globalny CDN z <strong>ponad 300 lokalizacjami brzegowymi<\/strong><\/li>\n\n\n\n<li><strong>Darmowy certyfikat SSL<\/strong><\/li>\n\n\n\n<li><strong>Ochrona przed DDoS<\/strong><\/li>\n\n\n\n<li class=\"translation-block\">Podstawowe optymalizacje (<strong>minifikacja, kompresja Brotli<\/strong>)<\/li>\n<\/ul>\n\n\n\n<p class=\"translation-block\"><strong>Cloudflare APO<\/strong> (5 USD\/mies.) buforuje <strong>ca\u0142e strony WordPress<\/strong> na kraw\u0119dzi sieci, a nie tylko statyczne zasoby. To jest <strong>zdecydowanie najlepsze ulepszenie wydajno\u015bci<\/strong> dla stron z geograficznie rozproszon\u0105 publiczno\u015bci\u0105.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Zalecane ustawienia Cloudflare<\/h3>\n\n\n\n<p><strong>Speed \u2192 Optimization:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Auto Minify: <strong>Enable for CSS, JS, HTML<\/strong> (or disable if your caching plugin handles this)<\/li>\n\n\n\n<li>Brotli: <strong>Enable<\/strong><\/li>\n\n\n\n<li>Early Hints: <strong>Enable<\/strong><\/li>\n\n\n\n<li>Rocket Loader: <strong>Disable<\/strong> (conflicts with most caching plugins)<\/li>\n<\/ul>\n\n\n\n<p><strong>Caching:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Caching Level: <strong>Standard<\/strong><\/li>\n\n\n\n<li>Browser Cache TTL: <strong>Respect Existing Headers<\/strong><\/li>\n\n\n\n<li>Tiered Cache: <strong>Enable<\/strong><\/li>\n<\/ul>\n\n\n\n<p><strong>Network:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HTTP\/3: <strong>Enable<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Alternatywne CDN<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>BunnyCDN<\/strong> (zaczyna si\u0119 od <strong>0,01 USD\/GB<\/strong>) oferuje znakomit\u0105 warto\u015b\u0107 dzi\u0119ki <strong>119+ PoP<\/strong>. U\u017cyj go z wtyczk\u0105 <strong>BunnyCDN<\/strong> lub <strong>CDN Enabler<\/strong>, aby \u0142atwo zintegrowa\u0107 go z WordPressem.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>KeyCDN<\/strong> (<strong>minimum 0,04 USD\/GB<\/strong>) oferuje analiz\u0119 w czasie rzeczywistym i prost\u0105 konfiguracj\u0119.<\/p>\n\n\n\n<p class=\"translation-block\">Je\u015bli ju\u017c u\u017cywasz <strong>WP Rocket<\/strong>, zawiera on <strong>RocketCDN<\/strong> (8,99 USD\/miesi\u0105c), kt\u00f3ry dzia\u0142a na StackPath i <strong>integruje si\u0119 bezproblemowo<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Optymalizacje po stronie serwera<\/h2>\n\n\n\n<p class=\"translation-block\">Niekt\u00f3re optymalizacje zachodz\u0105 na <strong>poziomie serwera<\/strong>, poza WordPressem.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PHP Version<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>PHP 8.2 lub 8.3<\/strong> zapewnia <strong>ponad 30% lepsz\u0105 wydajno\u015b\u0107<\/strong> w por\u00f3wnaniu z PHP 7.4. Sprawd\u017a swoj\u0105 wersj\u0119 w <strong>Kokpit \u2192 Narz\u0119dzia \u2192 Stan witryny \u2192 Informacje \u2192 Serwer<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\">Aktualizacja to <strong>darmowy wzrost wydajno\u015bci<\/strong>. Wi\u0119kszo\u015b\u0107 hosting\u00f3w pozwala zmieni\u0107 wersj\u0119 PHP w panelu zarz\u0105dzania. Po prostu <strong>najpierw upewnij si\u0119, \u017ce twoje wtyczki s\u0105 z ni\u0105 kompatybilne<\/strong> (praktycznie na pewno ju\u017c s\u0105).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">GZIP and Brotli Compression<\/h3>\n\n\n\n<p>Kompresja zmniejsza rozmiar plik\u00f3w tekstowych poprzez <strong>70-90%<\/strong>.<\/p>\n\n\n\n<p><strong>Dobra wiadomo\u015b\u0107: Tw\u00f3j plugin cache\u2019uj\u0105cy prawdopodobnie ju\u017c si\u0119 tym zajmuje.<\/strong><\/p>\n\n\n\n<p class=\"translation-block\"><strong>WP Rocket<\/strong> automatycznie w\u0142\u0105cza GZIP. <strong>LiteSpeed Cache<\/strong> na serwerach LiteSpeed zajmuje si\u0119 tym samodzielnie. Wi\u0119kszo\u015b\u0107 <strong>zarz\u0105dzanych hosting\u00f3w WordPress<\/strong> w\u0142\u0105cza kompresj\u0119 na poziomie serwera.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Aby sprawdzi\u0107, czy kompresja dzia\u0142a<\/strong>, przepu\u015b\u0107 swoj\u0105 stron\u0119 przez <strong>GTmetrix<\/strong>. Je\u015bli GZIP\/Brotli jest w\u0142\u0105czony, zobaczysz to w zak\u0142adce Waterfall w sekcji <strong>nag\u0142\u00f3wk\u00f3w Content-Encoding<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Je\u015bli kompresja nie jest w\u0142\u0105czona<\/strong>, dodaj to do pliku <strong>.htaccess<\/strong>:<\/p>\n\n\n\n<p>apache<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;IfModule mod_deflate.c&gt;\n    AddOutputFilterByType DEFLATE text\/html text\/plain text\/xml\n    AddOutputFilterByType DEFLATE text\/css text\/javascript\n    AddOutputFilterByType DEFLATE application\/javascript application\/json\n    AddOutputFilterByType DEFLATE image\/svg+xml\n&lt;\/IfModule&gt;<\/code><\/pre>\n\n\n\n<p class=\"translation-block\"><strong>Brotli<\/strong> zapewnia <strong>o 20% lepsz\u0105 kompresj\u0119<\/strong> ni\u017c GZIP. <strong>Cloudflare udost\u0119pnia Brotli za darmo<\/strong>. W przeciwnym razie wymaga to konfiguracji na poziomie serwera.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PHP Memory Limits<\/h3>\n\n\n\n<p class=\"translation-block\">Je\u015bli widzisz <strong>bia\u0142e ekrany lub b\u0142\u0119dy przekroczenia limitu czasu<\/strong> na z\u0142o\u017conych stronach, mo\u017cesz potrzebowa\u0107 wi\u0119cej pami\u0119ci. Dodaj do <strong>wp-config.php<\/strong>:<\/p>\n\n\n\n<p>php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>define('WP_MEMORY_LIMIT', '256M');\ndefine('WP_MAX_MEMORY_LIMIT', '512M');<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Core Web Vitals: Metryki, na kt\u00f3rych zale\u017cy Google<\/h2>\n\n\n\n<p class=\"translation-block\"><strong>Core Web Vitals<\/strong> to metryki do\u015bwiadczenia u\u017cytkownika Google, kt\u00f3re <strong>bezpo\u015brednio wp\u0142ywaj\u0105 na pozycje w wynikach wyszukiwania<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>LCP (Largest Contentful Paint)<\/strong>: Jak szybko \u0142aduje si\u0119 g\u0142\u00f3wna tre\u015b\u0107. Cel: <strong>\u22642,5 sekundy<\/strong><\/li>\n\n\n\n<li class=\"translation-block\"><strong>CLS (Cumulative Layout Shift)<\/strong>: Jak bardzo uk\u0142ad strony przesuwa si\u0119 podczas \u0142adowania. Cel: <strong>\u22640,1<\/strong><\/li>\n\n\n\n<li class=\"translation-block\"><strong>INP (Interaction to Next Paint)<\/strong>: Jak szybko strona reaguje na interakcj\u0119 u\u017cytkownika. Cel: <strong>\u2264200 ms<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"623\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-59-1024x623.png\" alt=\"\" class=\"wp-image-28366\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-59-1024x623.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-59-300x182.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-59-768x467.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-59-18x12.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-59-710x432.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-59.png 1480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Optymalizacja LCP<\/h3>\n\n\n\n<p class=\"translation-block\">LCP mierzy moment, w kt\u00f3rym <strong>najwi\u0119kszy widoczny element<\/strong> ko\u0144czy si\u0119 \u0142adowa\u0107. Zazwyczaj jest to Twoje <strong>zdj\u0119cie w sekcji hero<\/strong>, <strong>miniatura wideo<\/strong> lub <strong>du\u017cy blok tekstu<\/strong>.<\/p>\n\n\n\n<p><strong>Tw\u00f3j wtyczka optymalizacyjna mo\u017ce automatycznie zaj\u0105\u0107 si\u0119 LCP:<\/strong><\/p>\n\n\n\n<p class=\"translation-block\"><strong>WP Rocket<\/strong>: W\u0142\u0105cz opcj\u0119 <strong>\u201ePreload critical images\u201d<\/strong> w zak\u0142adce Media. WP Rocket <strong>automatycznie wykrywa i wst\u0119pnie \u0142aduje<\/strong> obraz LCP.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>FlyingPress<\/strong>: Ma wbudowane <strong>automatyczne wykrywanie LCP<\/strong>. \u017badna konfiguracja nie jest wymagana.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Perfmatters<\/strong>: Dodaj adres URL obrazu hero do <strong>pola \u201ePreload\u201d<\/strong> lub u\u017cyj funkcji <strong>Critical Images<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Je\u015bli PageSpeed nadal zg\u0142asza problemy z LCP<\/strong>, sprawd\u017a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\">Czy Tw\u00f3j obraz w sekcji hero jest <strong>za du\u017cy<\/strong>? Skompresuj go.<\/li>\n\n\n\n<li class=\"translation-block\">Czy Tw\u00f3j obraz w sekcji hero jest <strong>\u0142aduj\u0105cy si\u0119 leniwie (lazy loaded)<\/strong>? Wyklucz go (om\u00f3wione w sekcji o leniwym \u0142adowaniu).<\/li>\n\n\n\n<li class=\"translation-block\">Tw\u00f3j <strong>serwer dzia\u0142a wolno<\/strong>? \u017baden plugin nie naprawi wolnego hostingu.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Naprawa CLS<\/h3>\n\n\n\n<p class=\"translation-block\">CLS mierzy <strong>nieoczekiwane przesuni\u0119cia uk\u0142adu<\/strong>. Przemieszczanie si\u0119 element\u00f3w podczas \u0142adowania strony frustruje u\u017cytkownik\u00f3w.<\/p>\n\n\n\n<p><strong>Zawsze okre\u015blaj wymiary obraz\u00f3w:<\/strong><\/p>\n\n\n\n<p>html<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;img src=&quot;photo.jpg&quot; width=&quot;800&quot; height=&quot;600&quot; alt=&quot;Description&quot;&gt;<\/code><\/pre>\n\n\n\n<p class=\"translation-block\">WordPress obs\u0142uguje to automatycznie dla obraz\u00f3w w Bibliotece medi\u00f3w od <strong>wersji 5.5<\/strong>.<\/p>\n\n\n\n<p><strong>Zarezerwuj miejsce na dynamiczn\u0105 tre\u015b\u0107:<\/strong><\/p>\n\n\n\n<p>css<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em>\/* Ad containers *\/<\/em>\n.ad-slot {\n    min-height: 250px;\n}\n\n<em>\/* Embeds *\/<\/em>\n.video-container {\n    aspect-ratio: 16 \/ 9;\n}<\/code><\/pre>\n\n\n\n<p class=\"translation-block\"><strong>\u0141adowanie czcionek powoduje CLS.<\/strong> Je\u015bli tekst <strong>widocznie si\u0119 przemieszcza<\/strong> w momencie \u0142adowania niestandardowych font\u00f3w, masz do czynienia z przesuni\u0119ciem uk\u0142adu zwi\u0105zanym z czcionk\u0105. Zobacz sekcj\u0119 Optymalizacja czcionek.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Poprawa wska\u017anika INP<\/h3>\n\n\n\n<p class=\"translation-block\">INP measures how quickly your page <strong>responds to user interactions<\/strong> throughout the entire page lifecycle.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>W\u0142\u0105cz opcj\u0119 \u201eOp\u00f3\u017anij JavaScript\u201d<\/strong> w swojej wtyczce cache\u2019uj\u0105cej. To <strong>zapobiega blokowaniu g\u0142\u00f3wnego w\u0105tku przez nieistotne skrypty<\/strong> do momentu interakcji u\u017cytkownika.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>WP Rocket<\/strong>: <strong>\u201cDelay JavaScript execution\u201d<\/strong> in File Optimization<\/p>\n\n\n\n<p><strong>FlyingPress<\/strong>: <strong>&#8220;Delay JavaScript&#8221;<\/strong><\/p>\n\n\n\n<p class=\"translation-block\"><strong>Flying Scripts<\/strong> (darmowa samodzielna wtyczka): Op\u00f3\u017ania \u0142adowanie skrypt\u00f3w do momentu interakcji u\u017cytkownika<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Du\u017cy rozmiar DOM r\u00f3wnie\u017c szkodzi INP.<\/strong> Je\u015bli Twoja strona ma <strong>tysi\u0105ce element\u00f3w HTML<\/strong> (cz\u0119ste w przypadku page builder\u00f3w), interakcje b\u0119d\u0105 odczuwalnie oci\u0119\u017ca\u0142e. <strong>Upro\u015b\u0107 swoje uk\u0142ady<\/strong>, gdzie tylko to mo\u017cliwe.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Optymalizacja czcionek<\/h2>\n\n\n\n<p class=\"translation-block\">Czcionki webowe mog\u0105 znacz\u0105co wp\u0142ywa\u0107 na <strong>wydajno\u015b\u0107 i stabilno\u015b\u0107 wizualn\u0105<\/strong>. Celem jest ich efektywne \u0142adowanie <strong>bez powodowania przesuni\u0119\u0107 uk\u0142adu<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Samodzielnie hostuj czcionki Google<\/h3>\n\n\n\n<p class=\"translation-block\">Bezpo\u015brednie korzystanie z Google Fonts oznacza <strong>dodatkowe zapytania DNS<\/strong> oraz potencjalne <strong>problemy z zgodno\u015bci\u0105 z RODO<\/strong>.<\/p>\n\n\n\n<p><strong>Wtyczki, kt\u00f3re automatycznie hostuj\u0105 lokalnie:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>OMGF<\/strong> (darmowa) \u2013 Skanuje Twoj\u0105 stron\u0119, pobiera czcionki Google i hostuje je lokalnie. <strong>Ustaw raz i zapomnij.<\/strong><\/li>\n\n\n\n<li class=\"translation-block\"><strong>WP Rocket<\/strong> \u2013 zak\u0142adka Media \u2192 prze\u0142\u0105cznik <strong>\u201eHostuj czcionki Google lokalnie\u201d<\/strong>. <strong>Jeden klik.<\/strong><\/li>\n\n\n\n<li class=\"translation-block\"><strong>Perfmatters<\/strong> \u2013 Assets \u2192 prze\u0142\u0105cznik <strong>\u201eLocal Google Fonts\u201d<\/strong>.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>LiteSpeed Cache<\/strong> \u2013 Page Optimization \u2192 Tuning \u2192 <strong>\u201eGoogle Fonts Async\u201d<\/strong><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"456\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-60-1024x456.png\" alt=\"\" class=\"wp-image-28367\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-60-1024x456.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-60-300x133.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-60-768x342.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-60-1536x683.png 1536w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-60-18x8.png 18w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-60-710x316.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-60.png 1742w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Preloaduj kluczowe fonty<\/h3>\n\n\n\n<p class=\"translation-block\">Preloadowanie m\u00f3wi przegl\u0105darkom, aby <strong>wcze\u015bniej pobiera\u0142y czcionki<\/strong>, zanim ich u\u017cycie zostanie wykryte podczas parsowania CSS.<\/p>\n\n\n\n<p><strong>Tw\u00f3j wtyczka do optymalizacji prawdopodobnie si\u0119 tym zajmuje:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"translation-block\"><strong>WP Rocket<\/strong>: <strong>Automatycznie wst\u0119pnie wczytuje czcionki<\/strong> u\u017cywane w obszarze above the fold po w\u0142\u0105czeniu \u201eOptimize CSS delivery.\u201d<\/li>\n\n\n\n<li class=\"translation-block\"><strong>Perfmatters<\/strong>: Dodaj adresy URL czcionek do pola <strong>Preload<\/strong>.<\/li>\n\n\n\n<li class=\"translation-block\"><strong>FlyingPress<\/strong>: <strong>Automatyczne wst\u0119pne \u0142adowanie czcionek<\/strong> po w\u0142\u0105czeniu krytycznego CSS.<\/li>\n<\/ul>\n\n\n\n<p class=\"translation-block\"><strong>Wczytuj r\u0119cznie (preload)<\/strong> tylko wtedy, gdy Tw\u00f3j plugin tego nie obs\u0142uguje. Dodaj <strong>jeden lub dwa kluczowe pliki czcionek<\/strong> (nie wszystkie):<\/p>\n\n\n\n<p>html<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;link rel=\"preload\" href=\"\/fonts\/inter.woff2\" as=\"font\" type=\"font\/woff2\" crossorigin&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Zmniejsz pliki czcionek<\/h3>\n\n\n\n<p class=\"translation-block\">Ka\u017cda grubo\u015b\u0107 i styl fontu to <strong>oddzielny plik<\/strong>. Zastan\u00f3w si\u0119: czy naprawd\u0119 u\u017cywasz <strong>Regular, Medium, Semi-bold, Bold ORAZ Italic<\/strong>?<\/p>\n\n\n\n<p class=\"translation-block\">Wi\u0119kszo\u015bci stron w zupe\u0142no\u015bci wystarcz\u0105 <strong>2\u20133 pliki font\u00f3w<\/strong> (Regular, Bold, ewentualnie Italic). <strong>Usu\u0144 pozosta\u0142e<\/strong> w ustawieniach motywu lub \u0142adowania font\u00f3w.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Fonty zmienne<\/strong> \u0142\u0105cz\u0105 wszystkie grubo\u015bci w <strong>jeden plik<\/strong>. Google Fonts domy\u015blnie udost\u0119pnia fonty zmienne, kiedy s\u0105 dost\u0119pne. <strong>Jeden plik zamiast pi\u0119ciu.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"972\" src=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-61-1024x972.png\" alt=\"\" class=\"wp-image-28368\" srcset=\"https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-61-1024x972.png 1024w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-61-300x285.png 300w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-61-768x729.png 768w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-61-13x12.png 13w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-61-710x674.png 710w, https:\/\/purethemes.net\/wp-content\/uploads\/2025\/12\/image-61.png 1150w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Ustawienia wy\u015bwietlania czcionek<\/h3>\n\n\n\n<p class=\"translation-block\">U\u017cyj <strong>font-display: swap<\/strong>, aby natychmiast wy\u015bwietla\u0107 czcionk\u0119 zast\u0119pcz\u0105, podczas gdy \u0142aduj\u0105 si\u0119 czcionki niestandardowe (<strong>zapobiega niewidocznemu tekstowi<\/strong>).<\/p>\n\n\n\n<p class=\"translation-block\">U\u017cyj <strong>font-display: optional<\/strong>, aby uzyska\u0107 <strong>najlepsze wyniki CLS<\/strong>. Przegl\u0105darka ma bardzo kr\u00f3tki czas na zastosowanie niestandardowej czcionki; je\u015bli nie za\u0142aduje si\u0119 na czas, <strong>czcionka zast\u0119pcza pozostaje na sta\u0142e<\/strong>. Zero przesuni\u0119\u0107 uk\u0142adu.<\/p>\n\n\n\n<p class=\"translation-block\">Wi\u0119kszo\u015b\u0107 wtyczek do czcionek pozwala wybra\u0107 to ustawienie. <strong>OMGF<\/strong> ma <strong>rozwijane menu font-display<\/strong>. <strong>Perfmatters<\/strong> umo\u017cliwia ustawienie tego osobno dla ka\u017cdej czcionki.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Zalecany zestaw wtyczek<\/h2>\n\n\n\n<p>Oto, jak zazwyczaj dzia\u0142a dobrze zoptymalizowana strona WordPress:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Je\u015bli bud\u017cet pozwala: WP Rocket + ShortPixel<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>WP Rocket<\/strong> (59 USD\/rok) zajmuje si\u0119 <strong>80% optymalizacji szybko\u015bci<\/strong> w jednym wtyczce:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Page caching<\/strong><\/li>\n\n\n\n<li><strong>Browser caching<\/strong><\/li>\n\n\n\n<li><strong>GZIP compression<\/strong><\/li>\n\n\n\n<li><strong>JavaScript defer\/delay<\/strong><\/li>\n\n\n\n<li><strong>CSS optimization and critical CSS<\/strong><\/li>\n\n\n\n<li><strong>Lazy loading with LCP protection<\/strong><\/li>\n\n\n\n<li><strong>Database cleanup<\/strong><\/li>\n\n\n\n<li><strong>Preloading and prefetching<\/strong><\/li>\n\n\n\n<li><strong>Local Google Fonts<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"translation-block\">Dla wi\u0119kszo\u015bci stron <strong>samo WP Rocket w zupe\u0142no\u015bci wystarczy<\/strong>. Nie potrzebujesz Perfmatters ponad to, chyba \u017ce zale\u017cy ci na <strong>Script Managerze do bardziej precyzyjnej kontroli<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>ShortPixel<\/strong> (4,99 USD\/mies.) lub <strong>Imagify<\/strong> (4,99 USD\/mies.) do optymalizacji obraz\u00f3w. <strong>WP Rocket tego nie obejmuje.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Opcja bud\u017cetowa: Darmowe wtyczki<\/h3>\n\n\n\n<p class=\"translation-block\">Mo\u017cesz osi\u0105gn\u0105\u0107 <strong>podobne rezultaty za pomoc\u0105 darmowych wtyczek<\/strong>, tylko z nieco wi\u0119ksz\u0105 ilo\u015bci\u0105 konfiguracji:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>LiteSpeed Cache<\/strong> lub <strong>WP Super Cache<\/strong> (caching)<\/li>\n\n\n\n<li><strong>EWWW Image Optimizer<\/strong> (image optimization)<\/li>\n\n\n\n<li><strong>Asset CleanUp<\/strong> (script management)<\/li>\n\n\n\n<li><strong>OMGF<\/strong> (local Google Fonts)<\/li>\n\n\n\n<li><strong>Flying Pages<\/strong> (prefetching)<\/li>\n\n\n\n<li><strong>WP-Optimize<\/strong> (database cleanup)<\/li>\n<\/ul>\n\n\n\n<p class=\"translation-block\"><strong>Wi\u0119cej wtyczek do zarz\u0105dzania<\/strong>, ale <strong>zero koszt\u00f3w<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">For Debugging<\/h3>\n\n\n\n<p class=\"translation-block\"><strong>Query Monitor<\/strong> (darmowy) \u2013 Zainstaluj tymczasowo, aby zdiagnozowa\u0107 problemy. <strong>Usu\u0144 go p\u00f3\u017aniej.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Najcz\u0119stsze b\u0142\u0119dy, kt\u00f3rych nale\u017cy unika\u0107<\/h2>\n\n\n\n<p class=\"translation-block\"><strong>Uruchamianie wielu wtyczek cache<\/strong> \u2013 powoduj\u0105 konflikty. <strong>Wybierz jedn\u0105<\/strong> i poprawnie j\u0105 skonfiguruj.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Nadoptymalizowanie<\/strong> \u2013 Sp\u0119dzanie godzin na zbiciu 50 ms, gdy <strong>nie masz ogarni\u0119tych podstaw<\/strong>. Najpierw wprowadzaj zmiany o najwi\u0119kszym wp\u0142ywie.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Ignorowanie urz\u0105dze\u0144 mobilnych<\/strong> \u2013 wyniki na desktopie nie maj\u0105 znaczenia, je\u015bli <strong>60% Twojego ruchu pochodzi z urz\u0105dze\u0144 mobilnych<\/strong>.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Brak testowania po zmianach<\/strong> \u2013 Ka\u017cda optymalizacja mo\u017ce potencjalnie co\u015b zepsu\u0107. <strong>Dok\u0142adnie testuj.<\/strong><\/p>\n\n\n\n<p class=\"translation-block\"><strong>U\u017cywanie wtyczek \u201eoptymalizacyjnych\u201d, kt\u00f3re dodaj\u0105 balast<\/strong> \u2013 Niekt\u00f3re wtyczki reklamowane jako przyspieszaj\u0105ce <strong>w rzeczywisto\u015bci spowalniaj\u0105 strony<\/strong>. Zmierz wyniki przed i po.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Fiksacja na idealnych wynikach<\/strong> \u2013 <strong>r\u00f3\u017cnica 95 vs 100 rzadko ma znaczenie<\/strong> dla u\u017cytkownik\u00f3w. Skup si\u0119 na rzeczywistym czasie \u0142adowania i do\u015bwiadczeniu u\u017cytkownika.<\/p>\n\n\n\n<p class=\"translation-block\"><strong>Nie sprawdzenie hostingu w pierwszej kolejno\u015bci<\/strong> \u2013 <strong>\u017baden wtyczka nie naprawi fundamentalnie wolnego serwera.<\/strong> Zr\u00f3b benchmark swojego hostingu, zanim sp\u0119dzisz godziny na optymalizacji.<\/p>","protected":false},"excerpt":{"rendered":"<p>Twoja strona na WordPressie jest wolna. Ty to wiesz, Twoi odwiedzaj\u0105cy to wiedz\u0105, a co gorsza \u2013 wie o tym Google. Ka\u017cda sekunda op\u00f3\u017anienia kosztuje Ci\u0119 konwersje, pozycje w wynikach wyszukiwania i przychody. Dobra wiadomo\u015b\u0107? Wi\u0119kszo\u015b\u0107 problem\u00f3w z wydajno\u015bci\u0105 wynika z tej samej garstki b\u0142\u0119d\u00f3w, a ich naprawa nie wymaga dyplomu z informatyki. Ten poradnik obejmuje wszystko [\u2026]<\/p>","protected":false},"author":1,"featured_media":28378,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_ayudawp_aiss_exclude":false,"_trp_exclude_from_translation":false,"footnotes":""},"categories":[154,155],"tags":[],"class_list":["post-28304","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-performance","category-guides"],"_links":{"self":[{"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/posts\/28304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/comments?post=28304"}],"version-history":[{"count":1,"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/posts\/28304\/revisions"}],"predecessor-version":[{"id":31056,"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/posts\/28304\/revisions\/31056"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/media\/28378"}],"wp:attachment":[{"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/media?parent=28304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/categories?post=28304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/purethemes.net\/pl\/wp-json\/wp\/v2\/tags?post=28304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}