Dwanaście miesięcy migracji z WordPressa do Astro na Cloudflare Pages
PL

Dwanaście miesięcy migracji z WordPressa do Astro na Cloudflare Pages

Ostatnio zweryfikowano: 25 maja 2026
7min czytania
Case study
500+ projektów WP

Przeniesienie platformy z WordPressa do Astro miało być całym projektem. Okazało się prologiem. Eksport treści, odbudowa szablonów, doprowadzenie statycznej witryny do kompilacji i wdrożenia na Cloudflare Pages zajęło tygodnie. Potem zaczął się właściwy rok: przekierowania, hreflang, parytet sześciu wersji językowych i build, który przerósł platformę, na której był wdrażany. To jest raport o tym, gdzie poszedł czas, bo czas nie poszedł tam, gdzie zakładał plan.

Polemika, jeśli już jakaś jest, dotyczy ujmowania przeniesienia platformy jako jednorazowego portu. “Zejdź z WordPressa na witrynę statyczną” brzmi jak jednorazowa migracja. Dla wielojęzycznej witryny treściowej jest to bliżej przejęcia odpowiedzialności za trzy systemy, które WordPress dotąd ukrywał: warstwę routingu, build i strukturę między wersjami językowymi. Żaden z nich nie jest trudny. Wszystkie są ciągłe.

#Migracja WordPress do Astro, prawdziwy koszt: TL;DR w 4 punktach

  • Przeniesienie to tania część. Szablony i eksport treści zajęły tygodnie; migracja potrzebowała około dwunastu miesięcy, by osiągnąć stabilne wyniki wyszukiwania bez regresji.
  • Warstwa przekierowań to pierwsza niespodzianka. Tysiące wcześniej zaindeksowanych adresów potrzebują każde własnego 301, a sama ich liczba zderzyła się z limitem rozmiaru pliku na Cloudflare Pages, który po cichu odrzucał reguły.
  • Parytet sześciu wersji językowych to praca ciągła, nie zadanie. Hreflang, adresy kanoniczne i struktura sekcji muszą pozostać zgodne we wszystkich wersjach językowych, na zawsze.
  • Build przerósł własny runner Cloudflare. Sufit 8 GB nie wystarcza na tysiące prerenderowanych stron; odpowiedzią było budowanie lokalnie ze stertą 16 GB i wdrażanie gotowego artefaktu.

#Słownik: build statyczny, prerender, hreflang, brzeg sieci

Raport opiera się na kilku pojęciach platformowych.

  • Build statyczny - cała witryna jest renderowana do zwykłych plików HTML z wyprzedzeniem, podczas kroku buildu, zamiast na każde żądanie.
  • Prerender - generowanie HTML każdej strony podczas buildu. Witryna z sześcioma językami mnoży liczbę stron przez liczbę języków, więc build skaluje się jak treść razy języki.
  • Cloudflare Pages - host. Serwuje wcześniej zbudowane pliki z brzegu sieci i może też uruchamiać build, w granicach limitów pamięci.
  • Wrangler - narzędzie wiersza poleceń Cloudflare, użyte tutaj do wdrożenia lokalnie zbudowanego artefaktu bezpośrednio, z pominięciem kroku buildu platformy.
  • Hreflang - odnośniki, które mówią wyszukiwarkom, która strona jest niemiecką, polską czy hiszpańską wersją tego samego artykułu.
  • Przekierowanie 301 - trwałe przekierowanie, które przenosi sygnał rankingowy przeniesionego adresu na jego nowe miejsce.

#Tygodnie: przeniesienie, które wszyscy budżetują

Widoczna migracja to ta część, którą się szacuje, i szacunek jest mniej więcej trafny. Treść wychodzi z WordPressa, szablony są odbudowywane w Astro z Tailwindem, build kompiluje się, wdrożenie ląduje na Cloudflare Pages. Witryna treściowa średniej wielkości osiąga działający build statyczny w tygodnie. To faza, która dobrze prezentuje się na demo i przekonuje wszystkich, że projekt jest prawie gotowy.

Nie jest prawie gotowy. Jest za częścią, którą łatwo było przewidzieć, i dociera do części, której nikt nie zaplanował. Działający build dowodzi, że szablony się renderują; nie dowodzi niczego co do tego, czy stare adresy się rozwiązują, czy wersje językowe są ze sobą zgodne i czy build wciąż się skończy, gdy treść potroi się.

#Miesiące: warstwa przekierowań, której nikt nie zaplanował

Pierwszy miesiąc długiego ogona poszedł na przekierowania. Każdy adres, jaki WordPress kiedykolwiek wystawił i jaki Google kiedykolwiek zaindeksował, potrzebował 301 do nowego adresu Astro, inaczej stawał się 404, a sygnał rankingowy parował. Na jednojęzycznym blogu to długa lista. Na witrynie z sześcioma językami i opisowymi slugami idzie w tysiące.

Ta liczba uderzyła w ścianę, która ma swój własny raport z pola: Cloudflare Pages po cichu odrzuca reguły _redirects powyżej limitu rozmiaru pliku 100 KB, bez żadnego ostrzeżenia, więc część mapy przekierowań wdrożyła się na zielono i nigdy nie zadziałała. Objaw pojawił się miesiące później jako błędy 404 w Search Console i niedostępne strony produktów w Merchant Center, długo po tym, jak migracja wyglądała na skończoną. Wniosek wykracza poza Cloudflare: w przeniesieniu platformy mapa przekierowań to nie punkt na liście kontrolnej, który się odhacza; to system, który się eksploatuje, z własnymi trybami awarii i własnym monitoringiem.

#Miesiące: sześć języków, które muszą się zgadzać na zawsze

WordPress, z odpowiednimi wtyczkami, ukrywa strukturę wielojęzyczną za panelem. Build statyczny ją obnaża. Sześć wersji językowych każdego artykułu musi pozostać strukturalnie równoległe: te same nagłówki sekcji w tej samej kolejności, odnośniki hreflang, które faktycznie prowadzą do każdej wersji siostrzanej, adresy kanoniczne wskazujące tam, gdzie powinny, i adresy taksonomii pasujące między językami. Gdy jedna wersja językowa odpływa, graf odnośników międzyjęzykowych pęka na warstwie indeksowania, podczas gdy każda strona wciąż renderuje się bez zarzutu.

Łączy się to bezpośrednio z osobnym trybem awarii w tym, jak tłumaczenie AI psuje wielojęzyczne SEO: narzędzia tłumaczeniowe, które dotykają pól strukturalnych, produkują dryf wersji językowych niewidoczny na stronie, a kosztowny w indeksie. Po migracji parytet przestał być kamieniem milowym, a stał się stałą kontrolą, uruchamianą przy każdej zmianie treści, bo sześć wersji językowych nie utrzymuje zgodności samo z siebie.

#Narzędzia, które odbudowujesz, a które WordPress dawał za darmo

Cichszym kosztem odejścia od WordPressa jest to, że przejmujesz odpowiedzialność za kontrole, które platforma i jej wtyczki wykonywały dotąd niewidocznie. WordPress walidował odnośniki wewnętrzne w edytorze, utrzymywał aktualną mapę witryny przez wtyczkę i ostrzegał o zepsutych odwołaniach w panelu. Build statyczny nie robi nic z tego sam z siebie; odbudowujesz to albo wypuszczasz regresje.

Przez ten rok oznaczało to małą bibliotekę walidatorów wpiętą we wdrożenie: walidację odnośników wewnętrznych względem rzeczywistej powierzchni tras, by zmieniony slug nie zostawiał wiszących odnośników, kontrole danych strukturalnych, by schema we frontmatterze pozostawała poprawnie zbudowana między językami, kontrole parytetu porównujące wersje siostrzane pod kątem brakujących sekcji oraz generator mapy witryny i hreflang podczas buildu. Każda z nich zastępuje coś, co WordPress robił po cichu. Bilans to więcej kontroli i więcej pewności (kontrole są jawne, wersjonowane i uruchamiane w CI), ale to realna inżynieria, o której słowo “migracja” nie wspomina. Każdy, kto wycenia przeniesienie platformy, powinien dopisać tę pozycję: nie tylko przenosisz treść, ale na nowo wdrażasz zabezpieczenia, które stara platforma stosowała za darmo.

#Miesiące: build, który przerósł swój host

Ostatnia niespodzianka była mechaniczna. Cloudflare Pages serwuje dużą witrynę statyczną bez wysiłku, ale budowanie jej jest ograniczone pamięcią, a własny runner buildu platformy zatrzymuje się na 8 GB. Wielojęzyczna witryna Astro z tysiącami prerenderowanych stron, gdzie każdy język mnoży tę liczbę, potrzebuje więcej sterty niż to, a build platformy zaczął kończyć się błędami braku pamięci, których rozpoznanie zajęło trochę czasu.

Rozwiązaniem było zaprzestanie budowania na platformie. Witryna buduje się teraz lokalnie ze stertą 16 GB, a gotowe wyjście jest wypychane na Cloudflare Pages przez Wrangler, który wdraża artefakt bez ponownego budowania go. Lokalna maszyna z procesorem z serii M kończy build niezawodnie w minuty tam, gdzie ograniczony runner nie kończył go wcale. Obrazy wymusiły powiązaną dyscyplinę: wszystko, co przechodzi przez potok zasobów Astro, jest optymalizowane podczas buildu, co jest świetne, ale głodne pamięci, więc wstępnie zoptymalizowane tła są serwowane bez zmian z katalogu public, a w potoku zostają tylko obrazy, które zyskują na przetwarzaniu, utrzymywane w rozsądnym rozmiarze, by build trzymał się poniżej swojego sufitu.

#Co migracja faktycznie kupiła

Powiedziane wprost, by rok nie czytał się jak żal: ruch był tego wart. Strony renderują się z brzegu sieci jako pliki statyczne, co jest szybsze i stabilniejsze niż renderowanie na żądanie, powierzchnia ataku skurczyła się do mniej więcej niczego dynamicznego, a dostęp dla crawlerów stał się przewidywalny zamiast zależeć od zachowania wtyczek. Dla witryny treściowej, gdzie szybkość, stabilność i niezawodna czytelność dla crawlerów wyszukiwarek i AI są sednem, to właściwa wymiana.

Uczciwe zastrzeżenie jest takie samo, jakie powinno poprzedzać każde przeniesienie platformy: to właściwa wymiana dla witryny treściowej, a niewłaściwa dla witryny żyjącej z dynamicznych funkcji po zalogowaniu, gdzie renderowanie WordPressa na żądanie i jego ekosystem są zaletą, nie obciążeniem. Decyzja nie brzmi “statyczne jest lepsze”. Brzmi “statyczne jest lepsze dla tego kształtu witryny, a oto rok pracy z ogona, który słowo migracja ukrywa”. Więcej zapisków inżynierskich z tej przebudowy znajdziesz na blogu wppoland.

Następny krok

Przekuj artykuł w realne wdrożenie

Pod tym wpisem dokładam linki, które domykają intencję użytkownika i prowadzą dalej w strukturze serwisu.

Chcesz wdrożyć ten temat na swojej stronie?

Jeśli chcesz przełożyć wiedzę z artykułu na działającą stronę, sklep albo przebudowę serwisu, przygotuję konkretny zakres prac.

Powiązany klaster

Sprawdź inne usługi WordPress i bazę wiedzy

Wzmocnij swój biznes dzięki profesjonalnemu wsparciu technicznemu w kluczowych obszarach ekosystemu WordPress.

FAQ do artykułu

Często zadawane pytania

Najważniejsze odpowiedzi, które pomagają wdrożyć temat w praktyce.

SEO-ready GEO-ready AEO-ready 5 Q&A
Ile naprawdę trwa migracja z WordPressa do Astro? #
Samo przeniesienie (szablony, eksport treści, działający build) to kwestia tygodni dla witryny średniej wielkości. Pełna migracja, aż do momentu, w którym wyniki wyszukiwania są stabilne i nic się nie pogorszyło, zajęła tutaj około dwunastu miesięcy. Długi ogon to nie samo przeniesienie, lecz mapa przekierowań, hreflang między wersjami językowymi, parytet między językami i skalowanie buildu. Budżetuj na ogon, nie na przeniesienie.
Po co w ogóle schodzić z WordPressa, skoro działa? #
To wymiana dynamicznej wygody na statyczną wydajność i kontrolę. WordPress renderuje strony na żądanie i daje panel oraz ekosystem wtyczek; statyczny build Astro renderuje każdą stronę z wyprzedzeniem i serwuje pliki z brzegu sieci, co jest szybsze i ma mniejszą powierzchnię ataku, kosztem przejęcia routingu i buildu na własne barki. Opłaca się to dla witryny treściowej, w której szybkość, stabilność i dostęp dla crawlerów AI liczą się bardziej niż wygoda edycji w panelu. Nie opłaca się dla witryny żyjącej z dynamicznych funkcji po zalogowaniu.
Co było najtrudniejszą częścią migracji? #
Nie szablony. Warstwa przekierowań i parytet wersji językowych. Każdy wcześniej zaindeksowany adres WordPressa potrzebuje 301 do nowego adresu, a na witrynie wielojęzycznej ta lista idzie w tysiące reguł, co zderzyło się z limitem rozmiaru pliku na Cloudflare Pages. Utrzymanie sześciu wersji językowych strukturalnie identycznymi (te same sekcje, zgodny hreflang, pasujące adresy kanoniczne) to praca ciągła, a nie zadanie jednorazowe.
Czy Cloudflare Pages zbuduje duży serwis Astro? #
Zserwuje go bez trudu. Zbuduje, ale nie powyżej pewnego rozmiaru. Własny runner buildu Cloudflare Pages ma sufit pamięci 8 GB, a duża wielojęzyczna witryna Astro z tysiącami prerenderowanych stron potrzebuje do zbudowania więcej sterty niż to. Rozwiązaniem było budowanie lokalnie ze stertą 16 GB i wdrażanie gotowego artefaktu przez Wrangler, zamiast polegać na kroku buildu platformy.
Czy obrazy wymagają w Astro specjalnej obsługi? #
Tak. Obrazy importowane przez potok zasobów Astro są optymalizowane podczas buildu, co świetnie wpływa na jakość wyjścia, ale obciąża pamięć i czas buildu, a bardzo duże obrazy źródłowe potrafią zepchnąć build w awarię braku pamięci. Sprawdziła się zasada: wstępnie zoptymalizowane, serwowane bez zmian tła trafiają do katalogu public; obrazy, które faktycznie zyskują na przetwarzaniu w potoku, zostają w katalogu zasobów, utrzymywane w rozsądnym rozmiarze.

Potrzebujesz FAQ dopasowanego do branży i rynku? Przygotujemy wersję pod Twoje cele biznesowe.

Porozmawiajmy

Polecane artykuły

Cloudflare Workers uruchamia JavaScript i WebAssembly w setkach centrów w ponad 100 krajach danych na całym świecie. Połączenie Workers z origin WordPress przenosi ścieżkę odczytu poza serwer WordPress i zamienia WooCommerce w sklep renderowany na edge. Oto jak działa ta architektura, gdzie się zacina i co warto zmierzyć przed wdrożeniem.
wordpress

Cloudflare Workers i WordPress: WooCommerce serwowane na edge

Cloudflare Workers uruchamia JavaScript i WebAssembly w setkach centrów w ponad 100 krajach danych na całym świecie. Połączenie Workers z origin WordPress przenosi ścieżkę odczytu poza serwer WordPress i zamienia WooCommerce w sklep renderowany na edge. Oto jak działa ta architektura, gdzie się zacina i co warto zmierzyć przed wdrożeniem.

Jak złożyć WooCommerce jako backend handlowy i Astro jako frontend pod Core Web Vitals, koszyk, webhooki i SEO. Praktyczna architektura, granice PCI i checklista wdrożeniowa bez obietnic typu zero latency.
wordpress

Headless WooCommerce z Astro: przewodnik po wydajności sklepu 2026

Jak złożyć WooCommerce jako backend handlowy i Astro jako frontend pod Core Web Vitals, koszyk, webhooki i SEO. Praktyczna architektura, granice PCI i checklista wdrożeniowa bez obietnic typu zero latency.

Decyzja Shopify Plus vs WooCommerce headless w 2026 nie jest już binarnym wyborem "platforma vs custom". Obie platformy działają w trybie headless, obie integrują AI, obie renderują na edge. Realne osie to kontrola, koszt całkowity przez pięć lat oraz strategia wyjścia. Ten artykuł przechodzi przez macierz decyzyjną z potwierdzonymi faktami platformowymi.
wordpress

Shopify Plus vs WooCommerce headless w 2026: koszt, kontrola, AI

Decyzja Shopify Plus vs WooCommerce headless w 2026 nie jest już binarnym wyborem "platforma vs custom". Obie platformy działają w trybie headless, obie integrują AI, obie renderują na edge. Realne osie to kontrola, koszt całkowity przez pięć lat oraz strategia wyjścia. Ten artykuł przechodzi przez macierz decyzyjną z potwierdzonymi faktami platformowymi.