Strona za darmo: Cloudflare Pages, GitHub Pages czy Netlify
Limity darmowego hostingu statycznego z dokumentacji Cloudflare Pages, GitHub Pages i Netlify, podpięcie własnej domeny i kiedy zamiast tego potrzebny jest VPS.
Redakcja serwisu Dealownia · ceny i fakty ze stron dostawców, jak sprawdzamy
Który z trzech darmowych hostingów statycznych – Cloudflare Pages, GitHub Pages czy Netlify – pasuje do Twojej strony i jak wdrożyć ją automatycznie z repozytorium Git, z własną domeną i HTTPS. Porównujemy limity zapisane w dokumentacji (stan na 11.11.2026), a nie wrażenia, i mówimy wprost, kiedy darmowy hosting przestaje wystarczać.
Czego potrzebujesz
- Stronę statyczną: czysty HTML albo wynik generatora (Astro, Hugo, Eleventy, Jekyll, Vite). Wszystko, co da się zbudować do katalogu z plikami, nadaje się na każdą z tych usług. Serwera ani bazy danych tu nie ma.
- Repozytorium na GitHubie (dla GitHub Pages to jedyna opcja; Cloudflare Pages i Netlify obsługują też GitLab, a Netlify jeszcze inne usługi).
- Własną domenę, jeśli nie chcesz adresu w subdomenie usługi (
*.pages.dev,*.github.io,*.netlify.app). - Serwera nie potrzebujesz – płacisz najwyżej za domenę.
Do samej strony z tego poradnika żadna z ofert niżej nie jest potrzebna – mogą to być także płatne programy w promocji.
Pełne zestawienie darmowych planów, w tym tych trzech usług, znajdziesz na stronie darmowe.
Krok 1. Porównaj limity
Najważniejsze limity darmowych planów według dokumentacji:
| Cloudflare Pages Free | GitHub Pages | Netlify Free | |
|---|---|---|---|
| Ruch | żądania do plików statycznych bez limitu | 100 GB miesięcznie (limit miękki) | w ramach 300 kredytów miesięcznie |
| Wdrożenia | 500 buildów miesięcznie, 1 naraz, do 20 min | 10 buildów na godzinę (limit miękki), do 10 min | każde wdrożenie produkcyjne kosztuje 15 kredytów |
| Rozmiar | do 20 000 plików, plik do 25 MiB | strona do 1 GB, repozytorium zalecane do 1 GB | – |
| Po przekroczeniu | pliki statyczne bez limitu; limit dzienny dotyczy tylko Functions | możliwy błąd 429 przy limitowaniu | wszystkie projekty zespołu wstrzymane do nowego okresu |
| Ograniczenia użycia | – | bez stron firmowych, sklepów i SaaS | – |
Szczegóły i źródła:
- Cloudflare Pages: 500 buildów miesięcznie, jeden naraz, limit 20 minut, do 100 domen własnych na projekt i 100 projektów na konto, 2000 statycznych i 100 dynamicznych przekierowań w pliku
_redirects. Dokumentacja cennika Functions mówi wprost, że żądania do plików statycznych są darmowe i bez limitu; płatne lub limitowane są tylko Functions (wspólna pula z Workers, w planie Free 100 000 żądań dziennie). - GitHub Pages: opublikowana strona do 1 GB, wdrożenie do 10 minut, 100 GB transferu miesięcznie i 10 buildów na godzinę jako limity miękkie (limit buildów nie dotyczy publikacji przez własny workflow GitHub Actions). Na koncie GitHub Free repozytorium ze stroną musi być publiczne. GitHub zastrzega, że Pages nie jest darmowym hostingiem dla stron firmowych, sklepów i usług SaaS ani dla stron przyjmujących hasła i dane kart.
- Netlify: plan Free działa na kredytach – 300 miesięcznie, twardy limit bez możliwości dokupienia. Wdrożenie produkcyjne kosztuje 15 kredytów, 1 GB transferu 20 kredytów, 10 000 żądań 2 kredyty. Podglądy wdrożeń, wdrożenia gałęzi i nieudane buildy nie zużywają kredytów. Gdy kredyty się skończą, według dokumentacji wstrzymanych projektów wszystkie projekty zespołu przestają odpowiadać (odwiedzający widzą komunikat „Site not available”) do początku następnego okresu albo do przejścia na płatny plan.
Prosty rachunek dla Netlify: 300 kredytów to na przykład 10 wdrożeń produkcyjnych (150 kredytów) i 7,5 GB transferu (150 kredytów) w miesiącu. Przy częstych wdrożeniach albo ciężkich obrazach limit kończy się szybciej, niż sugeruje słowo „darmowy”.
Krok 2. Wdróż stronę
Cloudflare Pages. W panelu Cloudflare utwórz projekt Pages, połącz konto GitHub lub GitLab i wybierz repozytorium. Podaj komendę budowania i katalog wyjściowy – dla Astro:
Każdy push do głównej gałęzi publikuje stronę pod nazwa-projektu.pages.dev, a pozostałe gałęzie dostają adresy podglądu.
GitHub Pages. Najprostsza droga dla generatorów innych niż Jekyll to publikacja przez GitHub Actions: w repozytorium Settings → Pages ustaw źródło na „GitHub Actions” i dodaj workflow. Przykład dla strony, która buduje się do dist:
Wersje akcji są z ich repozytoriów na dzień 11.11.2026; GitHub co jakiś czas wycofuje starsze, więc przy błędzie o przestarzałej akcji podnieś numer. Przy publikacji przez własny workflow nie obowiązuje limit 10 buildów na godzinę.
Netlify. Dodaj nowy projekt z repozytorium, podaj komendę budowania i katalog publikacji (npm run build, dist). Ustawienia możesz też trzymać w repozytorium, w pliku netlify.toml:
Krok 3. Własna domena
Cloudflare Pages (dokumentacja domen): domenę zawsze dodajesz najpierw w panelu projektu (Custom domains). Domena główna (example.pl) wymaga, żeby strefa DNS była w Cloudflare – przeniesienie opisuje poradnik o Cloudflare. Subdomenę (www.example.pl) podepniesz też przy zewnętrznym DNS rekordem CNAME na nazwa-projektu.pages.dev. Sam rekord CNAME bez dodania domeny w panelu skończy się błędem 522.
GitHub Pages (dokumentacja domen): najpierw zweryfikuj domenę w ustawieniach konta (chroni przed przejęciem jej przez cudze repozytorium) i wpisz ją w Settings → Pages. Potem rekordy:
Opcjonalnie rekordy AAAA: 2606:50c0:8000::153, 2606:50c0:8001::153, 2606:50c0:8002::153, 2606:50c0:8003::153. Gdy DNS się rozejdzie, zaznacz „Enforce HTTPS” – opcja może pojawić się dopiero po 24 godzinach. Nie używaj rekordów wieloznacznych *.example.pl.
Netlify (dokumentacja zewnętrznego DNS): dla www rekord CNAME na nazwa-strony.netlify.app, dla domeny głównej rekord ALIAS/ANAME na apex-loadbalancer.netlify.com albo, gdy Twój DNS tego nie obsługuje, rekord A na 75.2.60.5. Netlify zaleca, żeby przy zewnętrznym DNS adresem głównym była subdomena www.
Sprawdzenie po zmianach:
Jak działają rekordy A, CNAME i TTL, wyjaśnia poradnik o DNS.
Kiedy darmowy hosting wystarczy, a kiedy VPS
Darmowy hosting statyczny wystarczy, gdy strona to wizytówka, blog, dokumentacja, portfolio albo strona projektu open source, a formularze i komentarze obsługuje zewnętrzna usługa. Dostajesz CDN, HTTPS i wdrożenia z Gita bez administrowania serwerem.
VPS jest potrzebny, gdy:
- potrzebujesz backendu działającego cały czas: bazy danych, kolejki, zadań w tle, WebSocketów;
- chcesz trzymać na tej samej maszynie narzędzia (analitykę, monitoring, newsletter) – jak w stacku w jednym pliku compose;
- strona jest komercyjna, a wybrałeś GitHub Pages – regulamin tego nie dopuszcza;
- ruch albo liczba wdrożeń regularnie zbliża się do limitów, a nie chcesz, żeby strona zniknęła do końca miesiąca jak przy wyczerpaniu kredytów w Netlify;
- potrzebujesz pełnej kontroli nad serwerem WWW, nagłówkami i logami.
Jak przenieść stronę statyczną na własny serwer, opisuje poradnik o wdrożeniu Astro na VPS, a pod tani serwer – ranking VPS.
Najczęstsze problemy
- Podstrony zwracają 404, strona główna działa. Generator tworzy pliki
strona.htmlzamiast katalogówstrona/index.htmlalbo na GitHub Pages strona projektu leży pod/nazwa-repo/, a linki są absolutne od/. Ustaw w generatorze ścieżkę bazową (w Astrobase) albo podepnij własną domenę. - Build działa lokalnie, a w usłudze nie. Inna wersja Node. Ustaw ją jawnie: w Cloudflare Pages i Netlify zmienną
NODE_VERSIONalbo plikiem.nvmrc, w GitHub Actions wsetup-node. - Domena na Cloudflare Pages zwraca 522. Rekord CNAME dodany ręcznie bez dodania domeny w panelu projektu.
- Strona na Netlify nagle pokazuje „Site not available”. Wyczerpane kredyty – sprawdź zużycie w Usage & Billing. Zmniejsz liczbę wdrożeń produkcyjnych (np. scalaj zmiany przed wypchnięciem) albo przenieś stronę.
- „Enforce HTTPS” w GitHub Pages jest wyszarzone. Certyfikat jeszcze się nie wystawił albo rekordy wskazują inne adresy niż podane wyżej. Usuń domyślne rekordy dodane przez dostawcę DNS i poczekaj do 24 godzin.
Co dalej
Jeśli zostajesz przy własnej domenie, porównaj ceny odnowień w rankingu domen. Inne darmowe plany przydatne przy małej stronie – monitoring, bazy, wysyłka e-maili – zebraliśmy na stronie darmowe i w poradniku o darmowych planach dla programistów.