Jeden z klientów płacił 89 zł miesięcznie za hosting VPS pod stronę firmową w WordPress. Pięć podstron, blog z dwudziestoma wpisami, formularz kontaktowy. Po migracji na Astro koszty spadły do zera. Dosłownie. Strona stoi na darmowym planie Vercel, działa szybciej niż wcześniej i nie wymaga cotygodniowych aktualizacji wtyczek.
To nie teoria. To konkretny projekt z maja 2024, gdzie zmniejszenie kosztów hostingowych było głównym celem. Poniżej rozpisujemy dokładnie co, jak i dlaczego.
Szybka odpowiedź
Migracja WordPress na statyczną stronę eliminuje koszty backendu. Zamiast serwera z PHP i bazą danych potrzebujesz tylko CDN do plików HTML. W praktyce: z 50-150 zł miesięcznie na tradycyjny hosting spaść można do 0-20 zł, zachowując wszystkie kluczowe funkcje strony.
Najważniejsze wnioski
- Strony statyczne nie potrzebują serwera PHP ani bazy danych: to eliminuje 80% kosztów tradycyjnego hostingu.
- Darmowe plany hostingowe (Vercel, Netlify, Cloudflare Pages) obsługują 90% małych i średnich stron firmowych bez żadnych opłat.
- Migracja ma sens dla stron, gdzie treść zmienia się rzadko: jeśli dodajesz wpisy raz w tygodniu, to wystarczy.
- Czas ładowania spada średnio o 60-70%, bo brak zapytań do bazy danych i ciężkich wtyczek WordPress.
- Bezpieczeństwo rośnie automatycznie: brak exploitów w PHP, SQL injection czy zhackowanych pluginów.
Anatomia kosztów WordPress vs. strona statyczna
Typowa strona firmowa w WordPress wymaga:
Hosting VPS (50-100 zł/m) albo hosting współdzielony (30-60 zł/m). Musi obsłużyć PHP 8.x, MySQL, certyfikat SSL, backup. Im więcej ruchu, tym droższa maszyna.
Wtyczki premium (0-200 zł/m). SEO, formularze, cache, bezpieczeństwo. Część z nich działa w modelu subskrypcji. Nawet jeśli wybierasz darmowe, aktualizacje zajmują czas.
Czas na utrzymanie (2-4h miesięcznie). Aktualizacje core, pluginów, themeu. Naprawa konfliktów po update. Monitoring bezpieczeństwa. Jeśli liczysz to jako koszt własnej pracy, wychodzi kilkaset złotych rocznie.
Strona statyczna (np. Astro, Next.js w trybie export, Eleventy) działa inaczej:
Hosting CDN (0-20 zł/m). Vercel, Netlify, Cloudflare Pages oferują darmowe plany do 100GB transferu miesięcznie. To wystarczy dla 99% małych firm. Płacisz tylko jeśli przekroczysz limit.
Brak wtyczek do aktualizacji. Funkcje (formularze, analytics) obsługujesz przez API. Nie ma „exploita w Contact Form 7”, bo nie ma Contact Form 7.
Czas na utrzymanie (0,5h miesięcznie). Deploy to git push. Aktualizacja frameworka raz na kwartał, jeśli w ogóle.
Case study: migracja strony agencji marketingowej
Klient prowadził agencję performance marketingu. Strona: 5 podstron statycznych, 23 wpisy blogowe, formularz kontaktowy, sekcja portfolio (12 projektów). WordPress + Elementor + 8 wtyczek. Hosting: VPS na home.pl za 89 zł/m.
Co nas bolało:
Ładowanie strony głównej: 4,2 sekundy (mobile, 3G). Google PageSpeed Insights dawał 42/100. Formularz kontaktowy czasem nie wysyłał maili (konflikt wtyczek). Co dwa tygodnie trzeba było logować się do panelu i klikać „aktualizuj wszystko”. Raz na kwartał coś się sypało po update i trzeba było wycofywać wersję.
Decyzja: migracja na Astro. Statyczne HTML, markdown dla bloga, Resend API do formularza. Hosting: Vercel.
Proces (5 dni roboczych):
Dzień 1-2: Eksport treści z WordPress do markdown. Skrypt w Node.js wyciągnął wpisy przez WP REST API, zapisał jako pliki .md z frontmatterem (tytuł, data, kategoria). Obrazki: ściągnięte lokalnie, potem wrzucone do Cloudflare Images (10 zł/m za 100k obrazków, w praktyce darmowe dla tej skali).
Dzień 3: Odtworzenie layoutu w Astro. Strona była prosta wizualnie, więc żaden problem. Tailwind CSS zamiast Elementora. Komponenty React dla interaktywnych sekcji (np. slider portfolio).
Dzień 4: Formularz kontaktowy przez Resend API (darmowy plan: 3000 maili/m). Walidacja po stronie klienta, wysyłka przez serverless function na Vercel. Google Analytics zamieniony na Plausible (open source, self-hosted za 0 zł).
Dzień 5: Testy, deploy, konfiguracja DNS. Przekierowania 301 dla starych URL (Astro obsługuje to w pliku astro.config.mjs).
Wynik:
Ładowanie strony głównej: 0,9 sekundy (mobile, 3G). PageSpeed: 98/100. Koszty hostingu: 0 zł/m (Vercel free tier). Obrazki przez Cloudflare: 0 zł/m (poniżej limitu). Czas na utrzymanie: 15 minut miesięcznie (dodanie nowego wpisu to commit w Git, reszta sama się deplouje).
Roczne oszczędności: 1068 zł (89 zł × 12 miesięcy). Plus czas zaoszczędzony na aktualizacjach (około 40 godzin rocznie).
Kiedy migracja NIE ma sensu
Nie każda strona powinna być statyczna. Jeśli masz:
Sklep internetowy: koszyk, płatności, zarządzanie zamówieniami wymagają backendu. Możesz użyć headless commerce (Shopify + Next.js), ale to nie jest „prosta migracja”.
Portal z logowaniem użytkowników: strefa klienta, dashboardy, personalizacja treści. Potrzebujesz serwera do sesji i autoryzacji.
Treść aktualizowana wiele razy dziennie: jeśli publikujesz 10 artykułów dziennie, rebuild całej strony przy każdym wpisie to przesada. Wtedy lepszy headless CMS (Strapi, Directus) z SSR.
Zaawansowane formularze z logiką: jeśli formularz ma 50 pól, walidację zależną od poprzednich odpowiedzi, integrację z CRM i wysyłkę PDF, to backend ułatwi życie.
Dla 80% stron firmowych (wizytówka, blog firmowy, landing page, portfolio) te warunki nie zachodzą. Wtedy migracja WordPress na statyczną to strzał w dziesiątkę.
Techniczne detale: co się zmienia pod maską
WordPress generuje HTML przy każdym requestie. Użytkownik wchodzi na stronę → PHP odpytuje MySQL → skleja HTML z szablonu → wysyła do przeglądarki. Nawet z cachem (WP Rocket, W3 Total Cache) to nadal serwer robi pracę.
Strona statyczna generuje HTML raz, przy deployu. Framework (Astro, Next.js, Hugo) bierze komponenty i dane, renderuje wszystko do plików .html, które lądują na CDN. Użytkownik wchodzi na stronę → dostaje gotowy plik z najbliższego serwera edge. Zero zapytań do bazy, zero PHP.
Efekt dla hostingu:
Serwer obsługujący WordPress musi mieć CPU do PHP, RAM na cache, dysk na bazę. Nawet jeśli masz 100 odwiedzin dziennie, płacisz za gotowość do obsługi load.
CDN serwujący statyczne pliki to infrastruktura współdzielona. Vercel/Netlify mają setki tysięcy stron na tym samym klastrze. Ty płacisz tylko za transfer danych, a pierwsze 100GB masz za darmo.
Formularze: zamiast wtyczki Contact Form 7 (która zapisuje submission do bazy i wysyła mail przez PHP) używasz API. Przykład: Resend, SendGrid, Mailgun. Frontend wysyła POST request do serverless function, ta wywołuje API. Koszt: 0 zł do kilku tysięcy maili miesięcznie.
CMS: jeśli non-tech osoba ma dodawać treści, podpinasz headless CMS. Sanity (darmowy do 3 edytorów), Strapi (self-hosted), Contentful (darmowy tier). Edytor pisze w panelu, zmiana triggeruje rebuild strony przez webhook. Deploy trwa 1-2 minuty.
Jak wygląda tanie hostowanie strony w praktyce
Vercel (darmowy plan):
- 100GB bandwidth
- Unlimited requests
- Automatyczne SSL
- Deploy z Git (push → live w 30 sekund)
- Serverless functions (do formularzy, API)
- Limit: 100 deployów dziennie (nikt tego nie osiąga)
Netlify (darmowy plan):
- 100GB bandwidth
- 300 minut build time miesięcznie
- Formularze (100 submissions/m za darmo)
- Funkcje serverless
- Split testing, branch deploys
Cloudflare Pages (darmowy plan):
- Unlimited bandwidth (!)
- 500 buildów miesięcznie
- Workers (serverless) w cenie
- Najszybszy CDN na rynku
Dla strony firmowej z 1000-5000 odwiedzin miesięcznie którykolwiek z tych planów wystarczy. Nie płacisz złotówki. Jeśli przerośniesz (np. viral w social media), płatny plan to 20-40 USD/m, ale wtedy masz dziesiątki tysięcy odwiedzin i prawdopodobnie zarabiasz na tym ruchu.
Najczęściej zadawane pytania
Ile można zaoszczędzić przechodząc z WordPress na stronę statyczną?
W realnym projekcie koszty hostingu spadły z 89 zł miesięcznie (VPS + baza danych) do 0 zł (darmowy hosting na Vercel). Rocznie to 1068 zł oszczędności bez utraty funkcjonalności.
Czy każda strona WordPress nadaje się do migracji na statyczną?
Nie. Strony z dynamicznym contentem (sklepy, portale z logowaniem, fora) wymagają backendu. Migracja ma sens dla stron firmowych, blogów, landing pages i portfolio, gdzie treść zmienia się rzadko.
Jak długo trwa migracja WordPress na Astro?
Typowa strona firmowa (10-15 podstron) to 3-5 dni roboczych. Obejmuje to eksport treści, odtworzenie layoutu, konfigurację hostingu i testy. Blog z 50 wpisami może zająć tydzień.
Co się stanie z SEO po migracji na stronę statyczną?
Jeśli zachowasz strukturę URL i przekierowania 301, SEO zazwyczaj się poprawia. Statyczne strony ładują się szybciej (lepszy Core Web Vitals), co Google nagradza w rankingu.
Czy strona statyczna wymaga aktualizacji bezpieczeństwa?
Nie ma bazy danych ani PHP do zhackowania, więc 90% typowych zagrożeń WordPressa przestaje istnieć. Aktualizacje dotyczą tylko frameworka (raz na kilka miesięcy) i są opcjonalne, nie krytyczne.
Słowniczek
Strona statyczna
Witryna składająca się z gotowych plików HTML, CSS i JavaScript, wygenerowanych przed wysłaniem do użytkownika. W przeciwieństwie do dynamicznej (np. WordPress), nie wymaga serwera generującego treść przy każdym requestcie.
CDN (Content Delivery Network)
Sieć serwerów rozmieszczonych globalnie, która przechowuje kopie strony blisko użytkowników. Zamiast ładować stronę z jednego serwera w Polsce, użytkownik w Niemczech dostaje ją z niemieckiego edge node. Efekt: szybsze ładowanie, niższe koszty transferu.
Serverless function
Funkcja uruchamiana na żądanie (np. przy wysłaniu formularza), bez potrzeby utrzymywania całego serwera. Płacisz tylko za czas wykonania (milisekundy), nie za gotowość 24/7. Vercel, Netlify, Cloudflare Workers oferują to w darmowych planach.
Headless CMS
System zarządzania treścią bez frontendu. Edytor pisze w panelu CMS, treść trafia przez API do strony statycznej. Przykłady: Sanity, Strapi, Contentful. Pozwala non-techom zarządzać contentem bez dotykania kodu.
Build time
Czas potrzebny na wygenerowanie całej strony statycznej z komponentów i treści. Dla małej strony to 20-60 sekund. Odbywa się przy każdej zmianie treści (commit w Git, edycja w CMS), nie przy każdym wejściu użytkownika.
Git-based deployment
Model wdrożeń, gdzie push do repozytorium (GitHub, GitLab) automatycznie triggeruje build i deploy. Nie musisz logować się do panelu hostingu. git push origin main → strona live w minutę.