CDN to sieć serwerów rozsianych geograficznie, której zadaniem jest dostarczanie plików strony z lokalizacji fizycznie najbliższej użytkownikowi. Zamiast za każdym razem pobierać pliki z jednego serwera głównego w Polsce, użytkownik z USA dostaje je z serwera w Ameryce.
Co to jest CDN
CDN (Content Delivery Network) to sieć serwerów brzegowych (edge servers) rozmieszczonych w różnych lokalizacjach na świecie. Każdy z tych serwerów przechowuje kopię statycznych zasobów strony: obrazów, plików CSS, JavaScript i innych plików.
Gdy użytkownik odwiedza stronę, przeglądarka pobiera pliki z serwera CDN fizycznie najbliższego jego lokalizacji — a nie z serwera głównego (origin), który może być na innym kontynencie.
Jak CDN przyspiesza ładowanie
Bez CDN, każde zapytanie o plik musi trafić do serwera głównego. Sygnały sieciowe mają fizyczne ograniczenia prędkości. Jeśli serwer stoi w Polsce, a użytkownik jest w Australii, każdy plik pokonuje tysiące kilometrów w obie strony — co przekłada się na setki milisekund opóźnienia.
CDN eliminuje tę odległość. Użytkownik z Australii pobiera pliki z serwera CDN w Azji lub Australii. Czas pobierania spada, a razem z nim poprawiają się wskaźniki wydajności:
- TTFB (Time to First Byte) — krótszy, bo plik pochodzi z bliższego serwera
- LCP (Largest Contentful Paint) — szybciej, bo główny obraz dociera szybciej
Pełne zestawienie wskaźników wydajności i ich znaczenia: Metryki wydajności w WordPress.
Jak wdrożyć CDN w WordPress
W WordPress CDN wdraża się na dwa sposoby.
Pełne proxy (DNS-level CDN). Cały ruch przechodzi przez CDN. Cloudflare działa właśnie w ten sposób: zmienia się serwery DNS domeny na serwery Cloudflare, które pośredniczą we wszystkich zapytaniach. CDN cachuje strony, filtruje ruch i może pełnić rolę WAF (web application firewall). Zmiana jest transparentna dla użytkownika — adres strony pozostaje ten sam.
Przepisywanie URL mediów. Tylko zasoby statyczne (obrazy, CSS, JS) serwowane są z domeny CDN. Wtyczki takie jak BunnyCDN lub KeyCDN modyfikują adresy URL plików multimedialnych tak, żeby wskazywały na domenę CDN zamiast serwera głównego. PHP i baza danych WordPress nadal działają na serwerze głównym.
CDN a offload — różnica
To dwa różne pojęcia, które często się myli.
CDN kopiuje pliki na serwery brzegowe — oryginały pozostają na serwerze głównym. CDN serwuje kopie dla użytkowników, ale nie usuwa pliku ze źródła.
Offload fizycznie przenosi pliki (np. do AWS S3 lub Google Cloud Storage) i usuwa je z serwera głównego. Twój serwer nie przechowuje już oryginalnych plików mediów — wskazuje na zewnętrzne repozytorium przechowywania plików.
Szczegóły opisuje artykuł Offload w WordPress.
Kiedy CDN wyraźnie pomaga
CDN przynosi największy zysk gdy:
- strona ma odwiedzających z różnych krajów lub kontynentów
- strona zawiera dużo zasobów statycznych (zdjęcia, wideo, dokumenty do pobrania)
- serwer główny jest przeciążony ruchem i CDN go odciąża
W przypadku małej strony lokalnej, której serwer fizycznie stoi w Polsce, a odwiedzający są głównie z Polski — zyski z CDN dla plików statycznych mogą być nieznaczne i nie uzasadniać dodatkowej konfiguracji.
Kiedy CDN nie wystarczy
CDN przyspiesza dostarczanie zasobów statycznych, ale nie zastępuje optymalizacji serwera głównego.
Jeśli WordPress generuje dynamiczny HTML przez 3 sekundy z powodu przeciążonej bazy danych lub źle napisanej wtyczki, tradycyjny CDN dla obrazów i CSS tego nie naprawi. Dynamiczne zapytania PHP i MySQL zawsze trafią do serwera głównego.
Cloudflare i podobne systemy mają co prawda opcje Full Page Cache na serwerach brzegowych — ale wymagają starannej konfiguracji i listy wyjątków dla dynamicznych podstron.
Wyjątki w konfiguracji CDN
Nie wszystko może być cachowane przez CDN.
Strony dynamiczne z treściami spersonalizowanymi dla konkretnego użytkownika muszą być wykluczone. W WooCommerce dotyczy to: strony koszyka, strony kasy i strony konta. Cachowanie tych podstron przez CDN spowoduje, że różni użytkownicy zobaczą zawartość cudzego koszyka.
Każda konfiguracja CDN wymaga listy wyjątków dostosowanej do struktury witryny.
Popularne rozwiązania CDN dla WordPress
Cloudflare — pełne proxy, wbudowana ochrona DDoS i WAF, plan bezpłatny z podstawowymi funkcjami CDN.
BunnyCDN — prosty CDN do przepisywania URL mediów, dobry stosunek ceny do jakości, popularna opcja dla średnich stron.
KeyCDN — podobny do BunnyCDN, używany przez część wtyczek optymalizacyjnych jako opcja wbudowana.
Nowoczesne CDN-y oferują też funkcje edge computing: konwersję obrazów do WebP lub AVIF w locie i kompresję zasobów na serwerach brzegowych.