mDiv.plmDiv.pl
OfertaHostingOpiekaCennikKontakt
Wycena
wyceń swój spokój
OfertaHostingOpiekaCennikKontaktWycena projektu
mDiv.plmDiv.pl
arrow_backBaza wiedzy
Wydajność8 min czytania2026-04-10

Dlaczego Twoja strona wolno działa. Diagnoza i naprawa

Przyczyny wolnego ładowania stron: TTFB, nieskompresowane obrazki, render-blocking CSS/JS, brak cache, wolny hosting. Narzędzia diagnostyczne i konkretne rozwiązania.

Dashboard z wykresami wydajności

53% użytkowników opuszcza stronę, jeśli ładuje się dłużej niż 3 sekundy. Każda kolejna sekunda obniża konwersję o 7%. Google uwzględnia szybkość strony w rankingu od 2021 roku (Core Web Vitals). Wolna strona to nie problem techniczny, to problem biznesowy.

Zacznij od pomiaru

Zanim cokolwiek naprawisz, zmierz. Nie zgaduj, dane powiedzą Ci dokładnie, co jest problemem:

  • PageSpeed Insights: ocena Core Web Vitals + konkretne rekomendacje
  • GTmetrix: waterfall chart, TTFB, czas ładowania
  • Chrome DevTools, zakładka Network: co się ładuje, jak długo, w jakiej kolejności

Kluczowe metryki:

Metryka Dobra Wymaga poprawy Zła
LCP (Largest Contentful Paint) < 2.5s 2.5-4s > 4s
FID (First Input Delay) < 100ms 100-300ms > 300ms
CLS (Cumulative Layout Shift) < 0.1 0.1-0.25 > 0.25
TTFB (Time To First Byte) < 200ms 200-600ms > 600ms

1. Wolny TTFB, problem po stronie serwera

TTFB (Time To First Byte) to czas od wysłania żądania do otrzymania pierwszego bajtu odpowiedzi. Jeśli TTFB przekracza 500ms, problem jest na serwerze, nie na froncie.

Przyczyny:

  • Tani hosting współdzielony (setki stron na jednym serwerze)
  • Wolna baza danych (brak indeksów, duże tabele wp_options)
  • Brak OPcache (PHP kompiluje kod przy każdym żądaniu)
  • Brak cache stron (WordPress generuje HTML od zera przy każdej wizycie)

Rozwiązania:

  • Zmiana hostingu na szybszy (NVMe SSD, dedykowane zasoby)
  • Optymalizacja bazy danych: wp db optimize, usunięcie autoloadowanych opcji
  • Włączenie OPcache w php.ini
  • Instalacja cache (WP Super Cache, W3 Total Cache, LiteSpeed Cache)

2. Nieskompresowane obrazki

Zdjęcie z aparatu waży 3-5 MB. Na stronie z 10 takimi zdjęciami użytkownik musi pobrać 50 MB. Na mobilnym LTE to 10-15 sekund samego ładowania obrazków.

Rozwiązania:

  • Format WebP lub AVIF (50-70% mniejsze niż JPEG)
  • Lazy loading: loading="lazy" na tagach <img>
  • Odpowiedni rozmiar: nie serwuj 4000px szerokości w boksie 400px
  • CDN dla mediów (Cloudflare, BunnyCDN)
# Konwersja do WebP (cwebp)
cwebp -q 80 input.jpg -o output.webp

# Masowa konwersja
find uploads/ -name "*.jpg" -exec cwebp -q 80 {} -o {}.webp \;

WordPress: wtyczka ShortPixel lub Imagify konwertuje automatycznie przy uploadzeniu.

3. Render-blocking CSS i JavaScript

Pliki CSS i JS w <head> blokują renderowanie strony. Przeglądarka musi je pobrać i przetworzyć zanim wyświetli cokolwiek.

Diagnoza: PageSpeed Insights, sekcja "Eliminate render-blocking resources"

Rozwiązania:

  • Critical CSS inline w <head>, reszta asynchronicznie
  • JavaScript z atrybutem defer lub async
  • Usunięcie nieużywanych stylów i skryptów
<!-- Zamiast -->
<link rel="stylesheet" href="style.css">

<!-- Non-blocking -->
<link rel="preload" href="style.css" as="style" onload="this.rel='stylesheet'">

4. Za dużo wtyczek

Każda wtyczka WordPress dodaje:

  • Pliki PHP (wykonywane przy każdym żądaniu)
  • Pliki CSS i JS (ładowane na froncie)
  • Zapytania do bazy danych

30 wtyczek to potencjalnie 30 plików CSS, 30 plików JS i 50+ zapytań SQL na każde wyświetlenie strony.

Rekomendacja: Przeprowadź audyt. Dla każdej wtyczki zadaj pytanie: "czy strona działa bez niej?". Dezaktywuj, przetestuj, usuń zbędne. Zostaw 10-15 naprawdę potrzebnych.

# Lista wtyczek z ilością zapytań DB (Query Monitor)
wp plugin install query-monitor --activate

5. Brak cache

Bez cache WordPress przy każdej wizycie:

  1. Odbiera żądanie HTTP
  2. Uruchamia PHP
  3. Wykonuje 20-100 zapytań SQL
  4. Buduje HTML
  5. Zwraca odpowiedź

Z cache: serwer zwraca gotowy plik HTML. Różnica: z 2 sekund do 50 milisekund.

Warstwy cache:

  • Page cache: gotowy HTML (WP Super Cache, LiteSpeed Cache)
  • Object cache: wyniki zapytań DB w pamięci (Redis, Memcached)
  • OPcache: skompilowany PHP bytecode
  • CDN: statyczne pliki bliżej użytkownika

6. Ciężki motyw lub page builder

Elementor, WPBakery, Divi generują rozbudowany DOM. Prosta strona z nagłówkiem i trzema paragrafami może mieć 500+ elementów HTML i 200KB inline CSS.

Alternatywy:

  • Lżejsze motywy: GeneratePress, Kadence, Astra
  • Blokowy edytor Gutenberg (wbudowany, zero dodatkowego kodu)
  • Dedykowany motyw (najszybsza opcja, ale wymaga programisty)

Podsumowanie priorytetów

Priorytet Działanie Wpływ
1 Cache stron (page cache) Największy skok wydajności
2 Optymalizacja obrazków (WebP + lazy load) Drastyczne zmniejszenie transferu
3 Zmiana hostingu (jeśli TTFB > 500ms) Rozwiązuje problem u źródła
4 Audyt wtyczek Mniej zapytań DB i plików JS/CSS
5 Critical CSS + defer JS Szybszy pierwszy render

Potrzebujesz pomocy?

Mogę zająć się tym za Ciebie — bezpiecznie, z backupem i bez przestojów.

Napisz do mnie
mDiv.plmDiv.pl

Twój projekt w dobrych rękach

Firma

  • Oferta
  • Kontakt
  • Baza wiedzy
  • Status usług

Usługi

  • Cennik
  • Wycena projektu
  • Opieka

Informacje

  • Regulamin
  • Polityka prywatności
  • RODO

Kontakt

mDiv.pl - Mirosław Parcz

Pl. Konstytucji 3 Maja 3/55

32-300 Olkusz, Polska

Tel:+48 696 46M4I7R3E5K

NIP: PL6371987110

© 2026 mDiv.pl. Wszelkie prawa zastrzeżone.

Projekt i realizacja: mDiv.pl