Serwisy agregujące wiadomości stawiają wysokie wymagania infrastrukturze: pobierają setki lub tysiące elementów z zewnętrznych kanałów, treść stale się odświeża, a użytkownicy oceniają witrynę na podstawie szybkości ładowania oraz aktualności wpisów. System WordPress świetnie sprawdza się w pracy na zapleczu – bez problemu pobiera kanały RSS i Atom, porządkuje treści, usuwa duplikaty i realizuje zaplanowane importy. Problem pojawia się na froncie, gdzie długi i często odświeżany strumień renderowany przez pełny motyw zaczyna działać wolno.
Rozwiązaniem tego problemu jest połączenie dwóch narzędzi: pozostawienie systemu WordPress w roli backendu oraz przekazanie warstwy wizualnej frameworkowi Astro. W ten sposób WordPress wykonuje ciężką pracę organizacyjną, a Astro dostarcza ultraszybki frontend zoptymalizowany pod kątem wydajności. Jak podkreślono w materiale opublikowanym na stronie WP Mayor przez Jeana Galea (artykuł zawiera link afiliacyjny), taka architektura headless idealnie pasuje do serwisów informacyjnych.
Konstrukcja agregatora wiadomości jest jednym z najlepszych kandydatów do wdrożenia koncepcji headless WordPress. Frontend serwisu agregującego jest w pełni odczytywalny dla odwiedzających: użytkownicy nie logują się, nie komentują i nie wypełniają formularzy w strumieniu treści. Główną wartością jest szybkie pobieranie i prezentowanie cudzych materiałów, dlatego serwowanie ich jako statycznego HTML lub serwowanie z wykorzystaniem pamięci podręcznej nie wiąże się z żadnym kompromisem funkcjonalnym.
Po stronie backendu WordPress oferuje dojrzały ekosystem rozwiązań. Najpopularniejszą wtyczką do tego celu jest WP RSS Aggregator, a kluczową funkcjonalnością w architekturze headless okazuje się Feed to Post. Opcja ta importuje elementy kanałów jako rzeczywiste wpisy WordPressa lub własne typy wpisów, uzupełniając treść, obrazek wyróżniający, taksonomie i autora. Tak zmapowane dane są automatycznie udostępniane przez REST API lub wtyczkę WPGraphQL, dzięki czemu Astro może je łatwo pobierać. Z kolei bezpłatna wersja przechowywania lekkich wpisów domyślnie nie eksponuje ich przez REST API bez zastosowania dodatkowych filtrów. Warto również porównać różne wtyczki agregujące przed wyborem docelowego silnika. W modelu headless elementy wyświetlania wtyczki, takie jak shortcode'y czy bloki, przestają być używane, gdyż za całą prezentację odpowiada Astro.
Framework Astro jest stworzony dla witryn bogatych w treść i głównie statycznych. Domyślnie nie wysyła do przeglądarki żadnego kodu JavaScript i renderuje szybki kod HTML. Pobieranie danych w Astro odbywa się za pomocą standardowego zapytania fetch do REST API lub WPGraphQL. Przykładem działającym w oparciu o dokładnie taką konfigurację jest serwis padelvida.com, w którym frontend w Astro odczytuje wiadomości zaimportowane do WordPressa.
Największym wyzwaniem w statycznych serwisach jest zachowanie aktualności treści. Witryna statyczna zamraża swój kod HTML w momencie budowania, co oznacza, że nowy artykuł zaimportowany do WordPressa nie pojawi się bez ponownego wygenerowania stron. Astro oferuje trzy sposoby na rozwiązanie tego problemu: zaplanowane przebudowy (scheduled rebuilds), renderowanie na żądanie (on-demand route) oraz wyspy po stronie klienta (client-side islands).
Zaplanowane przebudowy zachowują w pełni statyczny charakter witryny. Import kanałów odbywa się we własnym harmonogramie cron, a przebudowa frontendu jest wyzwalana webhookiem oferowanym przez platformy takie jak Netlify, Vercel czy Cloudflare Pages, bądź też uruchamiana co określony czas. Opcja managed, np. Headless Hostman, może obsłużyć proces budowania i wdrożenia. Drugie podejście, czyli renderowanie na żądanie z wyłączonym prerenderowaniem (export const prerender = false), pozwala renderować konkretną ścieżkę na serwerze przy każdym żądaniu i zabezpieczać backend krótką pamięcią podręczną na brzegu sieci (edge cache).
Trzecim podejściem są wyspy po stronie klienta, gdzie przeglądarka pobiera najnowsze wpisy po załadowaniu strony. Elementy renderowane w przeglądarce nie trafiają do wstępnego kodu HTML, więc wyszukiwarki ich nie indeksują. W przypadku agregatorów treści bywa to zaletą, ponieważ chroni domenę przed problemem duplikacji treści z indeksowanych zewnętrznych źródeł.
Podczas wdrożenia należy pamiętać o dwóch kluczowych pułapkach. Pierwszą jest harmonogram zadań WordPressa. Standardowy mechanizm WP-Cron uruchamia się podczas odwiedzin frontendu, a w układzie headless nikt na ten frontend nie wchodzi. Aby zapobiec zatrzymaniu importu, należy wyłączyć domyślny pseudo-cron i skonfigurować prawdziwy cron systemowy wywołujący plik wp-cron.php lub CLI (wp cron event run). Drugim zaleceniem jest pobieranie i zapisywanie grafik w bibliotece mediów WordPressa (sideloading) podczas importu, co chroni przed problemem hotlinking i zapewnia stałe adresy URL pod własną kontrolą.
Rekomendowaną strukturą dla agregatora jest model hybrydowy: statyczne strony dla treści własnych i ponadczasowych oraz zaplanowane przebudowy lub ścieżka renderowana na serwerze dla listy wiadomości. W sytuacjach wymagających bardzo częstych aktualizacji, grupowania artykułów z wielu źródeł czy dodawania podsumowań AI, alternatywą dla Astro może być aplikacja brzegowa, np. Cloudflare Worker.