Lokal360 Zamów telefon
Strony www

Dlaczego strona ładuje się wolno, 7 najczęstszych przyczyn i jak je rozpoznać

· aktualizacja: ·11 min czytania
Spis treści 12 sekcji
  1. Czemu szybkość strony jest dziś krytyczna
  2. 7 najczęstszych przyczyn wolnej strony
  3. 1. Za duże obrazy (problem #1, ~50% przypadków)
  4. 2. Wolny hosting (TTFB > 600ms)
  5. 3. Wtyczki WordPress (problem #2 dla WordPress, ~70% przypadków)
  6. 4. Niezoptymalizowane czcionki (web fonts)
  7. 5. Brak cache po stronie serwera
  8. 6. Blokujący JavaScript (render-blocking)
  9. 7. Brak CDN (Content Delivery Network)
  10. Co zrobić, checklista decyzyjna
  11. Kalkulacja: ile tracisz przez wolną stronę
  12. Powiązane wpisy
Wszystkie wpisy 71 wpisów
Strony www 6
Spacery 360° 16
Trendy 2026 16
Branże 16
Rezerwacje 11
SEO 6

📚 Część przewodnika: Strona internetowa dla małej firmy 2026, kompletny przewodnik →
Ten artykuł rozwija jeden z wątków pełnego przewodnika.

🎯 W skrócie: Strona ładuje się wolno z 7 powodów: ciężki framework (WordPress + plugins), nieoptymalne obrazy (JPG zamiast WebP), brak CDN, blokujący JS, niepreloadowane fonty, tani hosting, brak cache.

  • Cele 2026: LCP < 2,5 s, INP < 200 ms, CLS < 0,1
  • Quick wins: WebP zamiast JPG (50% redukcja), Cloudflare CDN (free), defer non-critical JS
  • Big fix: migracja WP → statyczna HTML (1 499 zł, 5-7 dni) = PageSpeed 30 → 99

Strona ładuje się 5 sekund na mobile? Tracisz 50% klientów zanim zobaczą cokolwiek. Google podaje konkretne dane: każda sekunda powyżej 3 sekund obniża konwersję o 20%. Jeśli Twoja strona ładuje się 6 sekund zamiast 2, tracisz 60% potencjalnych zapytań. To więcej niż większość firm wydaje na reklamy łącznie, i naprawienie tego nie kosztuje nic w porównaniu z permanentną stratą klientów.

Dobra wiadomość: 80% wolnych stron ma te same przyczyny. 7 najczęstszych, każdą rozpoznasz w 5 minut za darmo, i każda daje konkretną decyzję: optymalizować obecną stronę czy migrować na nowy stack.

Czemu szybkość strony jest dziś krytyczna

1. Mobilność. 70% ruchu na strony lokalnych firm pochodzi z telefonu. Przeciętny użytkownik mobilny ma słabsze połączenie (4G, czasem 3G w terenach mniej zurbanizowanych), słabszy procesor i mniej cierpliwości niż użytkownik desktopowy. Strona, która ładuje się 2 sekundy na desktopie, może ładować się 6 sekund na średnim Androidzie.

2. Google ranking. Od 2021 Core Web Vitals (LCP, FID/INP, CLS) są oficjalnym ranking factor. Strona z „poor” Core Web Vitals jest zepchnięta o 5-10 pozycji niżej w wynikach. Plus efekt pośredni: użytkownik klikający w wynik i wracający do Google po 2 sekundach (bo strona się nie ładuje) wysyła sygnał „pogo-sticking”. Google obniża ranking strony za każdym razem, gdy się to powtarza.

3. Konwersja. Klient otwierający stronę z linku w Google Maps, który widzi białą stronę przez 4 sekundy, zamyka kartę. Niezależnie, jak dobra jest oferta. Statystyki Akamai 2024: każde dodatkowe 100 ms opóźnienia ładowania = -7% konwersji.

4. Bounce rate i SEO. Wysoki bounce rate (klient zamknął stronę bez interakcji) jest sygnałem dla Google, że strona jest słaba. Wolne ładowanie = wysoki bounce = niższy ranking. Spirala śmierci.

7 najczęstszych przyczyn wolnej strony

1. Za duże obrazy (problem #1, ~50% przypadków)

Banner home page 4 MB w PNG, galeria 30 zdjęć po 2 MB każde w JPEG. Łącznie 60 MB do pobrania na mobile = 10+ sekund na 4G, 30+ sekund na 3G. Klasyczna sytuacja, gdy strona jest „piękna” na desktopie z szybkim łączem, ale nie do użytku na komórce.

Diagnoza: PageSpeed Insights (pagespeed.web.dev) → wpisz URL → sprawdź sekcję „Możliwości” i „Diagnostyka”. Typowe alerty:

  • „Properly size images”, obrazy są większe niż konieczne
  • „Serve images in next-gen formats”. JPEG/PNG zamiast WebP/AVIF
  • „Defer offscreen images”, brak lazy loading

Rozwiązanie:

  • Format WebP albo AVIF, 30-60% mniejsze niż JPEG przy tej samej jakości
  • Rozmiar dopasowany do ekranu, banner mobile 800×600, desktop 1920×800, nie ten sam plik dla obu
  • Lazy loading - loading="lazy" na wszystkich obrazach poniżej fold
  • Responsive images - srcset z różnymi rozmiarami dla różnych szerokości ekranu
  • Kompresja. TinyPNG, Squoosh, ImageOptim, bez utraty widocznej jakości

W stronach Lokal360 wszystkie obrazy są domyślnie WebP, lazy loaded, ze srcset. Banner home z 4 MB schodzi do 80 KB. Ten jeden krok rozwiązuje 50% wolnych stron.

2. Wolny hosting (TTFB > 600ms)

Tani shared hosting (10-20 zł/mies) dzieli serwer z setkami innych stron. W godzinach szczytu (18-22) procesor i RAM są walczone. Twoja strona czeka w kolejce na obsłużenie żądania. Time to First Byte (czas od żądania do pierwszego bajtu odpowiedzi) skacze z 200ms do 1500ms. Cała strona ładuje się o sekundę dłużej, zanim cokolwiek zacznie się dziać.

Diagnoza:

  • WebPageTest.org → sprawdź TTFB. > 600ms = problem.
  • Otwórz stronę w godzinach 18-22 z trybu incognito. Porównaj z 9-11 rano.
  • Chrome DevTools → Network → kolumna „Time” przy pierwszym żądaniu HTML

Rozwiązanie:

  • Premium hosting (50-100 zł/mies), dedykowane zasoby, lepsza wydajność. SeoHost, Zenbox, Cyberfolks na premium planach
  • Statyczny hosting. Cloudflare Pages (0 zł), Netlify (0 zł), Vercel (0 zł), strona serwowana z CDN, TTFB ~50-100ms
  • Migracja na stronę statyczną, eliminuje cały problem PHP+MySQL po stronie serwera

3. Wtyczki WordPress (problem #2 dla WordPress, ~70% przypadków)

Każda wtyczka dodaje JavaScript i CSS do każdej strony, niezależnie czy są tam wykorzystywane. Strona z 15 wtyczkami (Yoast SEO, Elementor, WPForms, WP Rocket, BackupBuddy, RankMath, Wordfence, NextGEN Gallery, Slider Revolution, Gravity Forms, MailChimp, Disqus, ShareThis, Akismet, Cookie Notice) = 2-5 MB samego JavaScript do pobrania i wykonania na każdym wyświetleniu.

Diagnoza: PageSpeed → „Reduce unused JavaScript”, „Reduce unused CSS”. Lista konkretnych plików do optymalizacji.

Rozwiązanie:

  • Audit wtyczek, wyłącz po jednej, sprawdzaj, co przestaje działać. Zostaw tylko niezbędne.
  • Połącz funkcje, zamiast 3 wtyczek od formularzy, używaj jednej
  • Usuń Slider Revolution (klasyczny ciężki), jeśli używasz tylko jednego slidera, użyj lekkiej alternatywy lub czystego CSS/JS
  • Migracja na statyczną, eliminacja całego ekosystemu wtyczek

4. Niezoptymalizowane czcionki (web fonts)

Strona ładuje 5 odmian Google Fonts po 100 KB każda = 500 KB tylko na fonty. Plus dodatkowe żądanie do fonts.googleapis.com (CORS, DNS lookup, TLS handshake) = +200ms na pierwsze załadowanie.

Diagnoza: PageSpeed → „Avoid enormous network payloads”, waga zasobów typu „font”. Chrome DevTools → Network → Filter: Font.

Rozwiązanie:

  • Maksymalnie 2-3 odmiany (regular + bold zwykle wystarcza)
  • Format WOFF2, najmniejszy rozmiar, wspierany przez wszystkie nowoczesne przeglądarki
  • Self-hosted zamiast Google Fonts, eliminuje zewnętrzne żądanie, lepiej dla RODO
  • font-display: swap, tekst jest widoczny od razu w fontu fallback, podmieniany po załadowaniu właściwego
  • Preload kluczowych fontów - <link rel="preload" as="font">

W Lokal360 używamy 2 fontów (Geist Sans + Geist Mono), self-hosted, WOFF2, preloaded. Łączna waga fontów: ~70 KB.

5. Brak cache po stronie serwera

Każde wyświetlenie strony WordPress generuje HTML od zera: PHP wykonuje kod motywu, każdej wtyczki, łączy się z MySQL, pobiera treść, renderuje szablon. Bez cache to 200-800ms procesowania per żądanie, przed wysłaniem czegokolwiek do klienta.

Diagnoza: PageSpeed → „Serve static assets with an efficient cache policy”. Plus wysokie TTFB.

Rozwiązanie:

  • WP Rocket (płatny, ~50 USD/rok), najlepsza wtyczka cache
  • W3 Total Cache (darmowy), gorszy interfejs, ale działa
  • LiteSpeed Cache (darmowy), jeśli serwer ma LiteSpeed
  • Cache na poziomie serwera, niektóre hostingi (Kinsta, WP Engine) mają to wbudowane
  • Migracja na statyczną, cache jest natywny, każda strona to gotowy plik HTML

6. Blokujący JavaScript (render-blocking)

JavaScript w <head> blokuje renderowanie HTML do czasu pobrania i wykonania. Jeśli skrypt analytics waży 200 KB i jest pobierany 500ms, strona jest pusta przez te 500ms.

Diagnoza: PageSpeed → „Eliminate render-blocking resources”. Lista konkretnych skryptów blokujących.

Rozwiązanie:

  • defer na skryptach, pobierane równolegle, wykonywane po HTML
  • async dla niezależnych skryptów (analytics), pobierane i wykonywane natychmiast, ale nie blokujące
  • Critical CSS inline, pierwszy „above the fold” CSS w <head> jako <style>, reszta pobierana asynchronicznie
  • Code splitting, dziel JS na kawałki, ładuj tylko to, co potrzebne na danej stronie
  • Lazy loading skryptów, np. czat klienta tylko po kliknięciu, nie od początku

7. Brak CDN (Content Delivery Network)

Strona serwowana z jednej lokalizacji (np. serwer w Warszawie). Klient z Berlina, Londynu, Nowego Jorku, każde 1000 km dodaje ok. 10ms latencji tylko na sam transfer pakietu.

Diagnoza: Sprawdź TTFB z różnych regionów (KeyCDN Performance Test, GTmetrix wybierając różne lokalizacje testowe).

Rozwiązanie:

  • Cloudflare CDN (darmowe), przed Twoim hostingiem, cachuje statyczne zasoby globalnie. Dodanie zajmuje 30 minut.
  • Statyczny hosting z natywnym CDN. Cloudflare Pages, Vercel, Netlify mają CDN wbudowany. Zero konfiguracji.
  • BunnyCDN (~5 USD/mies), alternatywa Cloudflare, lepsza wydajność w niektórych regionach

Co zrobić, checklista decyzyjna

  1. Zmierz stan obecny. PageSpeed Insights dla 5 kluczowych podstron (home, główna usługa, kontakt, blog index, jeden post)
  2. Zapisz wyniki - < 50 = problem poważny, 50-80 = średnio, 80+ = OK, 90+ = doskonale
  3. Czytaj sekcję „Diagnostyka”, konkretne problemy, posortowane wg wpływu
  4. Zdecyduj:
    • PageSpeed > 70 i WordPress z 5-8 wtyczkami → optymalizacja warta zachodu (1-2 dni pracy, 500-1500 zł)
    • PageSpeed < 50 i 15+ wtyczek WordPress → migracja na statyczną tańsza i lepsza długoterminowo (1-2 tygodnie, od 2 499 zł, strona statyczna)
    • Stara strona własna w surowym HTML/CSS → audit kodu, prawdopodobnie tania optymalizacja wystarczy

Kalkulacja: ile tracisz przez wolną stronę

Załóżmy: 1 000 wizyt miesięcznie z Google na stronie restauracji, średnia konwersja na rezerwację = 5%, średnia wartość rezerwacji 200 zł.

Strona szybka (PageSpeed 90+):

  • 1 000 wizyt × 5% = 50 rezerwacji
  • 50 × 200 zł = 10 000 zł / miesiąc

Strona wolna (PageSpeed 30):

  • 50% klientów odbija przed załadowaniem = 500 wizyt rzeczywistych
  • Konwersja spada (frustracja, wolne formularze) z 5% do 3%
  • 500 × 3% = 15 rezerwacji
  • 15 × 200 zł = 3 000 zł / miesiąc

Strata: 7 000 zł / miesiąc = 84 000 zł / rok.

Migracja na szybką stronę kosztuje od 2 499 zł jednorazowo. ROI: pierwsze 9 dni miesiąca po migracji. Reszta to czysty zysk względem wolnej strony.

Powiązane wpisy

Chcesz audyt swojej strony? Zostaw numer w formularzu, sprawdzę PageSpeed, Core Web Vitals, znajdę konkretne wąskie gardła i powiem, czy warto optymalizować obecną, czy migrować na nową. W 24h, bezpłatnie, bez zobowiązań.


IB

Igor Biały

Twórca Lokal360 · spacery 360°, strony, systemy

Blog

O autorze

Igor Biały · twórca Lokal360

Twórca Lokal360

Koduję od 16. roku życia, od 2025 z zaprojektowanymi agentami AI (Claude od Anthropica). 12+ lat fotografii wnętrz, 150+ wykonanych spacerów 360° na Google Maps. Prowadzę Lokal360 (uruchomione wiosną 2026): strony internetowe, własne systemy rezerwacji, spacery 360°, opieka. Solo z agentami AI w tle.

IB

Masz pytanie po przeczytaniu?

Zostaw numer, oddzwonię w 24h. Powiem wprost, co ma sens w Twoim przypadku. Bez zobowiązań.

Zostaw numer, oddzwonię do 24h:

Dodaj firmę, miasto, email (opcjonalnie)

Twoje dane idą wyłącznie do mnie. Polityka prywatności

Napisz na Messengerze Napisz na WhatsApp